curl --request POST \
--url https://api.aideskbr.com/api/public/v1/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"client_message_id": "crm-order-123-msg-1",
"type": "text"
}
'{
"message_id": "26c1638a-949a-4e52-a8ea-228d325bc697",
"thread_id": "11111111-1111-1111-1111-111111111111",
"contact_id": "22222222-2222-2222-2222-222222222222",
"delivery_state": "queued",
"client_message_id": "crm-order-123-msg-1",
"deduplicated": true
}{
"message_id": "26c1638a-949a-4e52-a8ea-228d325bc697",
"thread_id": "11111111-1111-1111-1111-111111111111",
"contact_id": "22222222-2222-2222-2222-222222222222",
"delivery_state": "queued",
"client_message_id": "crm-order-123-msg-1",
"deduplicated": false
}{
"error": {
"code": "api_key_required",
"message": "<string>"
}
}{
"error": {
"code": "api_key_required",
"message": "API key ausente"
}
}{
"error": {
"code": "missing_scope",
"message": "Scope insuficiente"
}
}{
"error": {
"code": "idempotency_key_reused",
"message": "client_message_id já usado com body diferente"
}
}{
"error": {
"code": "template_not_approved",
"message": "Template não aprovado"
}
}{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded"
}
}Messages
Enviar mensagem
Envia texto, mídia ou template. Requer scope messages:send.
Idempotência obrigatória via client_message_id (único por organização).
Retry com o mesmo id e mesmo body retorna 200 com deduplicated: true
e não reenvia à Meta.
Informe thread_id ou to (resolve/cria contato + thread).
O envio pela API não reabre conversa fechada nem altera atribuição.
POST
https://api.aideskbr.com
/
api
/
public
/
v1
/
messages
curl --request POST \
--url https://api.aideskbr.com/api/public/v1/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"client_message_id": "crm-order-123-msg-1",
"type": "text"
}
'{
"message_id": "26c1638a-949a-4e52-a8ea-228d325bc697",
"thread_id": "11111111-1111-1111-1111-111111111111",
"contact_id": "22222222-2222-2222-2222-222222222222",
"delivery_state": "queued",
"client_message_id": "crm-order-123-msg-1",
"deduplicated": true
}{
"message_id": "26c1638a-949a-4e52-a8ea-228d325bc697",
"thread_id": "11111111-1111-1111-1111-111111111111",
"contact_id": "22222222-2222-2222-2222-222222222222",
"delivery_state": "queued",
"client_message_id": "crm-order-123-msg-1",
"deduplicated": false
}{
"error": {
"code": "api_key_required",
"message": "<string>"
}
}{
"error": {
"code": "api_key_required",
"message": "API key ausente"
}
}{
"error": {
"code": "missing_scope",
"message": "Scope insuficiente"
}
}{
"error": {
"code": "idempotency_key_reused",
"message": "client_message_id já usado com body diferente"
}
}{
"error": {
"code": "template_not_approved",
"message": "Template não aprovado"
}
}{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded"
}
}Authorizations
bearerAuthapiKeyAuth
Authorization: Bearer ak_live_
Body
application/json
Idempotência — único por organização
Required string length:
1 - 128Available options:
text, image, audio, video, document, template UUID público do canal WhatsApp (recomendado)
UUID da conversa (um de thread_id ou to)
Hide child attributes
Hide child attributes