Send a message
Send a WhatsApp text, approved template, interactive message, Flow, or media message to a contact (`contact_id`) or directly to an E.164 number (`to`). Send an `Idempotency-Key` header (or `client_message_id`) to retry safely: a retry returns the original message with `Idempotent-Replayed: true`.
Send a WhatsApp text, approved template, interactive message, Flow, or
media message to a contact (contact_id) or directly to an E.164
number (to). Send an Idempotency-Key header (or client_message_id)
to retry safely: a retry returns the original message with
Idempotent-Replayed: true.
httpAuthorizationBearer <token>Idempotency-Key?stringAny unique string up to 255 characters, such as a UUID. Retrying with the same key returns the first response (with Idempotent-Replayed: true) instead of acting twice.
multipart/form-data- body
contact_id?|1 <= valueto?|^\+[1-9]\d{6,14}$channel?"whatsapp""whatsapp"channel_account_id?|1 <= valuetype*string"text""template""interactive""flow""image""video""audio""document""sticker"client_message_id?|Retrying with the same key never sends twice (scoped to the recipient conversation in this organization).
^[A-Za-z0-9._:-]{1,48}$body?|length <= 4096preview_url?boolean|nulltemplate_name?|Backwards-compatible template fields.
length <= 128template_language?|length <= 16file?|binarylength <= 102400attachment?|binarylength <= 102400template_vars?array<string|null>|items <= 100template?Canonical template send shape. Parameter objects are intentionally forwarded to Meta so headers, URL/quick-reply/Flow buttons, currency, date-time and media parameters remain supported.
interactive?Meta interactive objects are validated structurally below. The allow-list prevents this endpoint becoming an arbitrary Graph API proxy while retaining every interactive family Orqo supports.
flow?Developer-friendly Flow form; converted to Meta's interactive Flow object by the sender service.
media?Media can be an existing Meta media id, a public HTTPS link, or a
multipart upload. attachment is accepted as an inbox-compatible
alias for file.
SentMessage
application/json- response
data*curl -X POST 'https://app.orqo.site/api/v1/messages' \ -H 'Idempotency-Key: 9f1c2a7e-4b8d-4e57-a3f0-6c1d2e3f4a5b' \ -F 'type=text'{ "data": { "id": 0, "provider_message_id": "string", "status": "string", "type": "string", "contact_id": 0, "conversation_id": 0, "conversation_uuid": "string", "channel_account_id": 0, "to": "string", "sent_at": "string" }}