Recaudo Docs

Conversations

Conversations

Send and receive messages through WhatsApp, Facebook Messenger and Instagram. The API automatically detects the channel of each conversation and routes messages to the right service.

List conversations

GET /v1/conversations

Optional parameters: channel (whatsapp, messenger, instagram), status (open, waiting, resolved, closed), customer (UUID), assigned_to (UUID), has_referral (true = only those that came from an ad), ad_id (filter by ad ID), limit, page

Each conversation includes the object referral (o null) with the source ad data when the conversation comes from advertising (Meta ads / click-to-WhatsApp): source_id (ad ID), source_type, headline, source_url, body, ctwa_clid, media_url. Use ?has_referral=true to fetch only those.

Get conversation

GET /v1/conversations/{'{id}'}

Includes the customer and the assigned agent.

List messages

GET /v1/conversations/{'{id}'}/messages

Optional parameters: type (text, image, video, audio, document, template), limit, page

Send message

POST /v1/conversations/{'{id}'}/messages
Body — Text message
{
  "body": "Hola, tu pedido ha sido enviado. Número de guía: ABC123"
}
Body — Media message
{
  "body": "Aquí está tu factura",
  "media_url": "https://ejemplo.com/factura.pdf",
  "media_type": "document"
}
Field Type Required Description
bodystringNo*Message text (max 4096 chars)
media_urlurlNo*Media file URL
media_typestringNoimage, video, audio, document

* You need at least body o media_url.

Send WhatsApp template

POST /v1/conversations/{'{id}'}/send-template
Body
{
  "template_id": "uuid-del-template",
  "variables": {
    "1": "Juan Pérez",
    "2": "$1,500.00",
    "3": "15 de marzo"
  }
}

Only available for WhatsApp conversations. Templates must be approved by Meta.

Resolve / Close conversation

POST /v1/conversations/{'{id}'}/resolve — Mark as resolved
POST /v1/conversations/{'{id}'}/close — Close permanently
Was this page helpful? Thanks for letting us know.
Esc