Evento `DISPUTE_STATUS_CHANGE`

Webhook disparado a cada mudança de uma disputa de pós-venda (Care): quando abre, muda de status/sub-status, é acionada/respondida pela transportadora, ou é resolvida/rejeitada.

Evento enviado ao seller sempre que uma disputa de pós-venda (Care) muda de estado — abertura, mudança de status/sub-status, acionamento ou resposta da transportadora, e resolução. Use-o para refletir o pós-venda no seu próprio sistema (ERP, CRM, planilha).

Para assinar, crie um webhook em Configurações → Webhooks apontando para o seu endpoint e selecione o evento DISPUTE_STATUS_CHANGE.

Estrutura base

A cada disparo, a Abbiamo faz um POST no seu endpoint com este corpo:

{
  "event_type": "DISPUTE_STATUS_CHANGE",
  "dispute_public_id": "A7ELSB88",
  "invoice_id": "a1b2c3d4-0000-0000-0000-000000000000",
  "status": "pending",
  "sub_status": "with_carrier",
  "carrier_type": "CORREIOS",
  "carrier_status": "pending",
  "carrier_sub_status": "awaiting_response",
  "outcome": null,
  "resolution": null,
  "compensation_amount": null,
  "compensation_currency": null,
  "rejection_reason_code": null,
  "closure_reason": null,
  "event_at": "2026-06-08T18:32:10.494Z"
}

Glossário de campos

CampoTipoNotas
event_typestringsempre "DISPUTE_STATUS_CHANGE"
dispute_public_idstringID curto da disputa, igual ao exibido no painel
invoice_idstring (uuid)pedido a que a disputa pertence
status"pending" | "resolved"situação geral
sub_statusstring | nullde quem é a vez (with_brand, with_carrier, with_customer…); null quando resolvida
carrier_typestring | nullslug da transportadora responsável, ou null se não atribuída
carrier_status"pending" | "resolved" | nullsituação da trilha com a transportadora
carrier_sub_statusstring | nullnot_engaged, awaiting_response, paid, denied
outcomestring | nulldesfecho: delivered, returned, lost, false_claim, undecided — só quando resolved
resolutionstring | nullcompensação: none, refund, voucher, replacement, denied
compensation_amountstring | nullvalor decimal (ex.: "49.90")
compensation_currencystring | nullex.: "BRL"
rejection_reason_codestring | nullcódigo do motivo da recusa (quando resolution = "denied")
closure_reasonstring | nullcancelled_by_customer, cancelled_by_brand, auto_closed
event_atISO datetimedata/hora do evento

Os campos de desfecho (outcome, resolution, compensation_*) só vêm preenchidos quando a disputa é resolvida (status = "resolved"). Enquanto pending, eles ficam null.

Exemplos

AbertaCliente abriu a disputa — aguardando a marcaver detalhes →
{
  "status": "pending",
  "sub_status": "with_brand",
  "carrier_type": null,
  "carrier_status": null,
  "outcome": null,
  "resolution": null
}
Aguardando TRPTransportadora acionada — esperando respostaver detalhes →
{
  "status": "pending",
  "sub_status": "with_carrier",
  "carrier_type": "CORREIOS",
  "carrier_status": "pending",
  "carrier_sub_status": "awaiting_response"
}
Resolvida — reembolsoDisputa fechada com reembolso ao clientever detalhes →
{
  "status": "resolved",
  "sub_status": null,
  "outcome": "lost",
  "resolution": "refund",
  "compensation_amount": "49.90",
  "compensation_currency": "BRL"
}
Resolvida — recusadaReclamação recusada pela marcaver detalhes →
{
  "status": "resolved",
  "sub_status": null,
  "outcome": "false_claim",
  "resolution": "denied",
  "rejection_reason_code": "no_evidence"
}

Nesta página