OORQO API
Messages

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`.

POST
/v1/messages

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.

Authorization

http
headerAuthorizationBearer <token>

Header Parameters

Idempotency-Key?string

Any 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.

Request Body

multipart/form-data
  1. body
contact_id?|
Range1 <= value
to?|
Match^\+[1-9]\d{6,14}$
channel?"whatsapp"
Value in"whatsapp"
channel_account_id?|
Range1 <= value
type*string
Value in"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).

Match^[A-Za-z0-9._:-]{1,48}$
body?|
Lengthlength <= 4096
preview_url?boolean|null
template_name?|

Backwards-compatible template fields.

Lengthlength <= 128
template_language?|
Lengthlength <= 16
file?|
Formatbinary
Lengthlength <= 102400
attachment?|
Formatbinary
Lengthlength <= 102400
template_vars?array<string|null>|
Itemsitems <= 100
template?

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.

Response Body

SentMessage

application/json
  1. response
data*
Example Request
curl -X POST 'https://app.orqo.site/api/v1/messages' \  -H 'Idempotency-Key: 9f1c2a7e-4b8d-4e57-a3f0-6c1d2e3f4a5b' \  -F 'type=text'
Example Response
{  "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"  }}