Ana içeriğe geç

Who the typed recipient is, and what can be done with them

GET 

/api/compose/resolve

The one answer behind the universal "To:" box, shared by the phone and the panel. Send the raw text as q; when the client's parser recognised it, add the one structured value — phone (E.164, +…), email, or handle (+ platform when a pasted link named one). contact_id asks about a person already picked.

  • Name (q only): every matching contact, saved or not.
  • Number: the contact who owns it (never a second one), otherwise the contacts it might belong to (recipient.needs_confirmation) and the actions for the number itself. Re-checked strictly: a number without a country code is answered with input.problem and no actions.
  • E-mail: the owner, or the actions for the address.
  • @handle: only a lookup. Every platform with handles lets a business write only to somebody who wrote first; the connected ones are listed in handle.inbound_only_sources.

Actions come from the same resolver as GET /api/contacts/\{contact\}/reachability and carry what a composer needs on top: template_required (WhatsApp's 24-hour rule), warnings (marketing_opt_out, blocked, whatsapp_unconfirmed), and a reason when not available (adds sms_not_configured, call_permission_required and thread_restricted to the reachability reasons). Nothing is written.

Requires the conversations.reply permission. Throttled (120/min).

Request​

Responses​

The resolution.