Criar conta grátis

Referência da API

Eventos do cliente

Registre compras e outras conversões do seu sistema, atribuídas à última mensagem enviada ao contato na janela (padrão de 7 dias), e liste os eventos.

  • 2 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.

Lista os eventos do cliente de um período

GET/v2/events

Do mais recente para o mais antigo, com a atribuição de cada um. Permissão: contacts:read.

Parâmetros

CampoOndeTipoDescrição
fromobrigatórioquerystring · date-time
toobrigatórioquerystring · date-time
nameopcionalquerystring
contactIdopcionalquerystring
limitopcionalqueryinteger

Respostas

  • 200Default Response

    Campos e exemplo da resposta
    CampoTipoDescrição
    itemsobrigatórioobject[]
    items[].idobrigatóriostring
    items[].nameobrigatóriostring
    items[].eventIdobrigatóriostring
    items[].contactIdopcionalstring
    items[].contactExternalIdopcionalstring
    items[].occurredAtobrigatóriostring
    items[].valueopcionalnumber
    items[].currencyopcionalstring
    items[].propertiesopcionalobjectMetadados 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[].attributionobrigatórioobject | null
    items[].attribution.messageIdobrigatóriostring
    items[].attribution.channelobrigatóriostringValores:whatsappsmsrcsemail
    items[].attribution.campaignIdopcionalstring
    items[].attribution.sentAtobrigatóriostring
    items[].attribution.horasAteOEventoobrigatórionumber
    items[].attribution.journeyIdopcionalstring
    items[].attribution.journeyStepIdopcionalstring
    items[].attribution.journeyRunIdopcionalstring
    items[].duplicateobrigatórioboolean
    JSON
    {  "items": [    {      "id": "string",      "name": "string",      "eventId": "string",      "contactId": "string",      "contactExternalId": "string",      "occurredAt": "string",      "value": 0,      "currency": "string",      "properties": {},      "attribution": {        "messageId": "string",        "channel": "whatsapp",        "campaignId": "string",        "sentAt": "string",        "horasAteOEvento": 0,        "journeyId": "string",        "journeyStepId": "string",        "journeyRunId": "string"      },      "duplicate": true    }  ]}
  • 400RFC 7807 problem details for BAD_REQUEST (400).

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

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

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/events?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.

Registra um evento do cliente (conversão) e devolve a atribuição

POST/v2/events

O que aconteceu fora da mensageria — compra, visita à loja, contrato — mandado pelo seu sistema. A CCX grava e ATRIBUI ao último toque: a mensagem enviada mais recente para o mesmo contato, em qualquer canal, dentro da janela (padrão 7 dias).

`eventId` deduplica: reenviar o mesmo eventId devolve o evento já gravado com duplicate: true.

Contato: por externalId (o seu Customer ID), contactId, phone ou email. A atribuição usa as mensagens que carregaram o contato no envio — envio pela API sem contactId não é atribuível.

Permissão: contacts:write.

Corpo da requisiçãoapplication/json

CampoTipoDescrição
nameobrigatóriostringNome do evento, ex.: purchase, agenda.visita_realizada.
contactobrigatórioobject
contact.externalIdopcionalstringO Customer ID do seu sistema.
contact.contactIdopcionalstring
contact.phoneopcionalstring
contact.emailopcionalstring · email
eventIdobrigatóriostringId do evento no seu sistema — deduplica o reenvio.
occurredAtopcionalstring · date-timeQuando aconteceu (padrão: agora).
valueopcionalnumberValor (ex.: da compra).
currencyopcionalstringISO 4217, padrão BRL.
propertiesopcionalobjectMetadados 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.
attributionWindowHoursopcionalintegerJanela de atribuição em horas (padrão 168 = 7 dias; máximo 720).
Exemplo completo do corpo
JSON
{  "name": "string",  "contact": {    "externalId": "string",    "contactId": "string",    "phone": "string",    "email": "user@example.com"  },  "eventId": "string",  "occurredAt": "2026-10-16T12:00:00.000Z",  "value": 0,  "currency": "string",  "properties": {},  "attributionWindowHours": 1}

Respostas

  • 200Default Response

    Campos e exemplo da resposta
    CampoTipoDescrição
    idobrigatóriostring
    nameobrigatóriostring
    eventIdobrigatóriostring
    contactIdopcionalstring
    contactExternalIdopcionalstring
    occurredAtobrigatóriostring
    valueopcionalnumber
    currencyopcionalstring
    propertiesopcionalobjectMetadados 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.
    attributionobrigatórioobject | null
    attribution.messageIdobrigatóriostring
    attribution.channelobrigatóriostringValores:whatsappsmsrcsemail
    attribution.campaignIdopcionalstring
    attribution.sentAtobrigatóriostring
    attribution.horasAteOEventoobrigatórionumber
    attribution.journeyIdopcionalstring
    attribution.journeyStepIdopcionalstring
    attribution.journeyRunIdopcionalstring
    duplicateobrigatórioboolean
    JSON
    {  "id": "string",  "name": "string",  "eventId": "string",  "contactId": "string",  "contactExternalId": "string",  "occurredAt": "string",  "value": 0,  "currency": "string",  "properties": {},  "attribution": {    "messageId": "string",    "channel": "whatsapp",    "campaignId": "string",    "sentAt": "string",    "horasAteOEvento": 0,    "journeyId": "string",    "journeyStepId": "string",    "journeyRunId": "string"  },  "duplicate": true}
  • 201Default Response

    Campos e exemplo da resposta
    CampoTipoDescrição
    idobrigatóriostring
    nameobrigatóriostring
    eventIdobrigatóriostring
    contactIdopcionalstring
    contactExternalIdopcionalstring
    occurredAtobrigatóriostring
    valueopcionalnumber
    currencyopcionalstring
    propertiesopcionalobjectMetadados 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.
    attributionobrigatórioobject | null
    attribution.messageIdobrigatóriostring
    attribution.channelobrigatóriostringValores:whatsappsmsrcsemail
    attribution.campaignIdopcionalstring
    attribution.sentAtobrigatóriostring
    attribution.horasAteOEventoobrigatórionumber
    attribution.journeyIdopcionalstring
    attribution.journeyStepIdopcionalstring
    attribution.journeyRunIdopcionalstring
    duplicateobrigatórioboolean
    JSON
    {  "id": "string",  "name": "string",  "eventId": "string",  "contactId": "string",  "contactExternalId": "string",  "occurredAt": "string",  "value": 0,  "currency": "string",  "properties": {},  "attribution": {    "messageId": "string",    "channel": "whatsapp",    "campaignId": "string",    "sentAt": "string",    "horasAteOEvento": 0,    "journeyId": "string",    "journeyStepId": "string",    "journeyRunId": "string"  },  "duplicate": true}
  • 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 -X POST 'https://api.messages.ccxcompany.co/v2/events' \  -H "Authorization: Bearer $CCX_API_KEY" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "contact": {},    "eventId": "string"  }'
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.