/v1/whatsapp/assistedOpen a WhatsApp draft on the phone (wa.me)
Builds the wa.me link for a lead, a contact or a tracked share and logs it on the timeline (assisted_whatsapp). The number is in the link only when the caller may see it; a masked number is revealed (audited, daily quota) only with `reveal`. Nothing is sent — the agent taps send in WhatsApp. A blocked contact, or a promotion to a contact who opted out or is suppressed, is refused (422); a service draft to them needs `override_reason`.
Access: Signed-in members only (web or Android session) — not for API keys.
Request body
lead_id- Id or null
Opaque record id.
contact_id- Id or null
Opaque record id.
share_id- Id or null
Opaque record id.
textrequired- string
reveal- boolean
purpose- "promotional" | "service"
What the message is (default promotional): consent and suppression are checked for it.
override_reason- string or null
Why a service draft goes to a contact who opted out or is suppressed (recorded).
Response · 200
datarequired- object
data.urlrequired- string
data.textrequired- string
data.number_includedrequired- boolean
data.activity_idrequired- Id
Opaque record id.
metarequired- object
curl -X POST 'https://api.propzolo.com/v1/whatsapp/assisted' \
-H 'Authorization: Bearer pz_live_…' \
-H 'Content-Type: application/json' \
-d '{"lead_id":"cmusrceel0000q7kaafxqi1om","contact_id":"cmusrceel0000q7kaafxqi1om","share_id":"cmusrceel0000q7kaafxqi1om","text":"string","reveal":true,"purpose":"promotional","override_reason":"string"}'{
"data": {
"url": "string",
"text": "string",
"number_included": true,
"activity_id": "cmusrceel0000q7kaafxqi1om"
},
"meta": {}
}Errors
401No valid session or API key (missing, expired or revoked).403The caller lacks the permission, API-key scope or support grant this operation needs.409A unique value already exists, a concurrent change won, or the Idempotency-Key is still in use or was sent with a different request.422Invalid input; `error.fields` maps field paths to messages.429Too many requests; retry after the Retry-After header.500Unexpected error; quote `error.request_id` to support.

