Criar conta grátis

Referência da API

Exportação de mensagens

Exporte as mensagens de WhatsApp, SMS, RCS e e-mail de um período de até 31 dias, com paginação por cursor e os metadados de correlação de cada envio.

  • 4 operações
  • URL basehttps://api.messages.ccxcompany.co
  • AutenticaçãoBearer com a sua chave de API

O texto técnico abaixo vem do contrato público, o openapi.json, no idioma em que o contrato foi escrito.

Exporta as mensagens de WhatsApp de um período

GET/v2/exports/whatsapp

Todas as mensagens de WhatsApp criadas entre from e to (inclusive; até 31 dias por consulta), da mais recente para a mais antiga, com a correlação dos webhooks: metadata, campaignId, contactId e o seu Customer ID (contactExternalId).

Paginação por cursor: passe o nextCursor da resposta em cursor até ele voltar null. O custo por página é constante, qualquer que seja a profundidade.

Ambiente: vem da credencial — chave de teste exporta o sandbox.

O destinatário (to) sai mascarado sem o escopo pii:full.

Permissão: messages:read.

Parâmetros

CampoOndeTipoDescrição
fromobrigatórioquerystring · date-timeInício do período (inclusive), ISO 8601.
toobrigatórioquerystring · date-timeFim do período (inclusive), ISO 8601.
cursoropcionalquerystringO nextCursor da página anterior. Ausente = primeira página.
limitopcionalqueryintegerLinhas por página (padrão 500, máximo 1000).

Respostas

  • 200Default Response

    Campos e exemplo da resposta
    CampoTipoDescrição
    itemsobrigatórioobject[]
    items[].idobrigatóriostring
    items[].channelobrigatóriostringValores:whatsappsmsrcsemail
    items[].directionobrigatóriostringValores:outboundinbound
    items[].toobrigatóriostring
    items[].statusobrigatóriostring
    items[].campaignIdopcionalstring
    items[].contactIdopcionalstring
    items[].contactExternalIdopcionalstring
    items[].metadataopcionalobjectMetadados de correlação do seu sistema (ex.: customerId, journeyId), devolvidos intactos em todo webhook desta mensagem. Até 20 chaves; chave começa por letra e usa [A-Za-z0-9_.-] (até 64); valor é texto (até 256), número ou booleano. Não envie dado pessoal aqui.
    items[].createdAtobrigatóriostring
    items[].sentAtopcionalstring
    items[].deliveredAtopcionalstring
    items[].readAtopcionalstring
    items[].failedAtopcionalstring
    items[].reasonopcionalstring
    items[].segmentsopcionalinteger
    items[].deliveredViaopcionalstringValores:rcssms
    items[].subjectopcionalstring
    nextCursorobrigatóriostring | null
    JSON
    {  "items": [    {      "id": "string",      "channel": "whatsapp",      "direction": "outbound",      "to": "string",      "status": "string",      "campaignId": "string",      "contactId": "string",      "contactExternalId": "string",      "metadata": {},      "createdAt": "string",      "sentAt": "string",      "deliveredAt": "string",      "readAt": "string",      "failedAt": "string",      "reason": "string",      "segments": 1,      "deliveredVia": "rcs",      "subject": "string"    }  ],  "nextCursor": "string"}
  • 400RFC 7807 problem details for BAD_REQUEST (400).

  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

As respostas de erro seguem o formato RFC 7807 (application/problem+json), com um código estável no campo code. Ver os códigos de erro

Exemplo em curl

cURL
curl 'https://api.messages.ccxcompany.co/v2/exports/whatsapp?from=2026-10-16T12%3A00%3A00.000Z&to=2026-10-16T12%3A00%3A00.000Z' \  -H "Authorization: Bearer $CCX_API_KEY"
Só os campos obrigatórios. Troque os valores de exemplo pelos seus.

Exporta as mensagens de SMS de um período

GET/v2/exports/sms

Todas as mensagens de SMS criadas entre from e to (inclusive; até 31 dias por consulta), da mais recente para a mais antiga, com a correlação dos webhooks: metadata, campaignId, contactId e o seu Customer ID (contactExternalId).

Paginação por cursor: passe o nextCursor da resposta em cursor até ele voltar null. O custo por página é constante, qualquer que seja a profundidade.

Ambiente: vem da credencial — chave de teste exporta o sandbox.

O destinatário (to) sai mascarado sem o escopo pii:full.

Permissão: sms:read.

Parâmetros

CampoOndeTipoDescrição
fromobrigatórioquerystring · date-timeInício do período (inclusive), ISO 8601.
toobrigatórioquerystring · date-timeFim do período (inclusive), ISO 8601.
cursoropcionalquerystringO nextCursor da página anterior. Ausente = primeira página.
limitopcionalqueryintegerLinhas por página (padrão 500, máximo 1000).

Respostas

  • 200Default Response

    Campos e exemplo da resposta
    CampoTipoDescrição
    itemsobrigatórioobject[]
    items[].idobrigatóriostring
    items[].channelobrigatóriostringValores:whatsappsmsrcsemail
    items[].directionobrigatóriostringValores:outboundinbound
    items[].toobrigatóriostring
    items[].statusobrigatóriostring
    items[].campaignIdopcionalstring
    items[].contactIdopcionalstring
    items[].contactExternalIdopcionalstring
    items[].metadataopcionalobjectMetadados de correlação do seu sistema (ex.: customerId, journeyId), devolvidos intactos em todo webhook desta mensagem. Até 20 chaves; chave começa por letra e usa [A-Za-z0-9_.-] (até 64); valor é texto (até 256), número ou booleano. Não envie dado pessoal aqui.
    items[].createdAtobrigatóriostring
    items[].sentAtopcionalstring
    items[].deliveredAtopcionalstring
    items[].readAtopcionalstring
    items[].failedAtopcionalstring
    items[].reasonopcionalstring
    items[].segmentsopcionalinteger
    items[].deliveredViaopcionalstringValores:rcssms
    items[].subjectopcionalstring
    nextCursorobrigatóriostring | null
    JSON
    {  "items": [    {      "id": "string",      "channel": "whatsapp",      "direction": "outbound",      "to": "string",      "status": "string",      "campaignId": "string",      "contactId": "string",      "contactExternalId": "string",      "metadata": {},      "createdAt": "string",      "sentAt": "string",      "deliveredAt": "string",      "readAt": "string",      "failedAt": "string",      "reason": "string",      "segments": 1,      "deliveredVia": "rcs",      "subject": "string"    }  ],  "nextCursor": "string"}
  • 400RFC 7807 problem details for BAD_REQUEST (400).

  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

As respostas de erro seguem o formato RFC 7807 (application/problem+json), com um código estável no campo code. Ver os códigos de erro

Exemplo em curl

cURL
curl 'https://api.messages.ccxcompany.co/v2/exports/sms?from=2026-10-16T12%3A00%3A00.000Z&to=2026-10-16T12%3A00%3A00.000Z' \  -H "Authorization: Bearer $CCX_API_KEY"
Só os campos obrigatórios. Troque os valores de exemplo pelos seus.

Exporta as mensagens de RCS de um período

GET/v2/exports/rcs

Todas as mensagens de RCS criadas entre from e to (inclusive; até 31 dias por consulta), da mais recente para a mais antiga, com a correlação dos webhooks: metadata, campaignId, contactId e o seu Customer ID (contactExternalId).

Paginação por cursor: passe o nextCursor da resposta em cursor até ele voltar null. O custo por página é constante, qualquer que seja a profundidade.

Ambiente: vem da credencial — chave de teste exporta o sandbox.

O destinatário (to) sai mascarado sem o escopo pii:full.

Permissão: rcs:read.

Parâmetros

CampoOndeTipoDescrição
fromobrigatórioquerystring · date-timeInício do período (inclusive), ISO 8601.
toobrigatórioquerystring · date-timeFim do período (inclusive), ISO 8601.
cursoropcionalquerystringO nextCursor da página anterior. Ausente = primeira página.
limitopcionalqueryintegerLinhas por página (padrão 500, máximo 1000).

Respostas

  • 200Default Response

    Campos e exemplo da resposta
    CampoTipoDescrição
    itemsobrigatórioobject[]
    items[].idobrigatóriostring
    items[].channelobrigatóriostringValores:whatsappsmsrcsemail
    items[].directionobrigatóriostringValores:outboundinbound
    items[].toobrigatóriostring
    items[].statusobrigatóriostring
    items[].campaignIdopcionalstring
    items[].contactIdopcionalstring
    items[].contactExternalIdopcionalstring
    items[].metadataopcionalobjectMetadados de correlação do seu sistema (ex.: customerId, journeyId), devolvidos intactos em todo webhook desta mensagem. Até 20 chaves; chave começa por letra e usa [A-Za-z0-9_.-] (até 64); valor é texto (até 256), número ou booleano. Não envie dado pessoal aqui.
    items[].createdAtobrigatóriostring
    items[].sentAtopcionalstring
    items[].deliveredAtopcionalstring
    items[].readAtopcionalstring
    items[].failedAtopcionalstring
    items[].reasonopcionalstring
    items[].segmentsopcionalinteger
    items[].deliveredViaopcionalstringValores:rcssms
    items[].subjectopcionalstring
    nextCursorobrigatóriostring | null
    JSON
    {  "items": [    {      "id": "string",      "channel": "whatsapp",      "direction": "outbound",      "to": "string",      "status": "string",      "campaignId": "string",      "contactId": "string",      "contactExternalId": "string",      "metadata": {},      "createdAt": "string",      "sentAt": "string",      "deliveredAt": "string",      "readAt": "string",      "failedAt": "string",      "reason": "string",      "segments": 1,      "deliveredVia": "rcs",      "subject": "string"    }  ],  "nextCursor": "string"}
  • 400RFC 7807 problem details for BAD_REQUEST (400).

  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

As respostas de erro seguem o formato RFC 7807 (application/problem+json), com um código estável no campo code. Ver os códigos de erro

Exemplo em curl

cURL
curl 'https://api.messages.ccxcompany.co/v2/exports/rcs?from=2026-10-16T12%3A00%3A00.000Z&to=2026-10-16T12%3A00%3A00.000Z' \  -H "Authorization: Bearer $CCX_API_KEY"
Só os campos obrigatórios. Troque os valores de exemplo pelos seus.

Exporta as mensagens de e-mail de um período

GET/v2/exports/email

Todas as mensagens de e-mail criadas entre from e to (inclusive; até 31 dias por consulta), da mais recente para a mais antiga, com a correlação dos webhooks: metadata, campaignId, contactId e o seu Customer ID (contactExternalId).

Paginação por cursor: passe o nextCursor da resposta em cursor até ele voltar null. O custo por página é constante, qualquer que seja a profundidade.

Ambiente: vem da credencial — chave de teste exporta o sandbox.

O destinatário (to) sai mascarado sem o escopo pii:full.

Permissão: email:read.

Parâmetros

CampoOndeTipoDescrição
fromobrigatórioquerystring · date-timeInício do período (inclusive), ISO 8601.
toobrigatórioquerystring · date-timeFim do período (inclusive), ISO 8601.
cursoropcionalquerystringO nextCursor da página anterior. Ausente = primeira página.
limitopcionalqueryintegerLinhas por página (padrão 500, máximo 1000).

Respostas

  • 200Default Response

    Campos e exemplo da resposta
    CampoTipoDescrição
    itemsobrigatórioobject[]
    items[].idobrigatóriostring
    items[].channelobrigatóriostringValores:whatsappsmsrcsemail
    items[].directionobrigatóriostringValores:outboundinbound
    items[].toobrigatóriostring
    items[].statusobrigatóriostring
    items[].campaignIdopcionalstring
    items[].contactIdopcionalstring
    items[].contactExternalIdopcionalstring
    items[].metadataopcionalobjectMetadados de correlação do seu sistema (ex.: customerId, journeyId), devolvidos intactos em todo webhook desta mensagem. Até 20 chaves; chave começa por letra e usa [A-Za-z0-9_.-] (até 64); valor é texto (até 256), número ou booleano. Não envie dado pessoal aqui.
    items[].createdAtobrigatóriostring
    items[].sentAtopcionalstring
    items[].deliveredAtopcionalstring
    items[].readAtopcionalstring
    items[].failedAtopcionalstring
    items[].reasonopcionalstring
    items[].segmentsopcionalinteger
    items[].deliveredViaopcionalstringValores:rcssms
    items[].subjectopcionalstring
    nextCursorobrigatóriostring | null
    JSON
    {  "items": [    {      "id": "string",      "channel": "whatsapp",      "direction": "outbound",      "to": "string",      "status": "string",      "campaignId": "string",      "contactId": "string",      "contactExternalId": "string",      "metadata": {},      "createdAt": "string",      "sentAt": "string",      "deliveredAt": "string",      "readAt": "string",      "failedAt": "string",      "reason": "string",      "segments": 1,      "deliveredVia": "rcs",      "subject": "string"    }  ],  "nextCursor": "string"}
  • 400RFC 7807 problem details for BAD_REQUEST (400).

  • 401RFC 7807 problem details for UNAUTHORIZED (401).

  • 403RFC 7807 problem details for FORBIDDEN (403).

  • 422RFC 7807 problem details for VALIDATION_ERROR (422).

As respostas de erro seguem o formato RFC 7807 (application/problem+json), com um código estável no campo code. Ver os códigos de erro

Exemplo em curl

cURL
curl 'https://api.messages.ccxcompany.co/v2/exports/email?from=2026-10-16T12%3A00%3A00.000Z&to=2026-10-16T12%3A00%3A00.000Z' \  -H "Authorization: Bearer $CCX_API_KEY"
Só os campos obrigatórios. Troque os valores de exemplo pelos seus.

Travou em alguma rota? Fale com quem mantém a API.

Criando a conta pelo site, você ganha R$ 10 de crédito de teste.