Consultar último webhook
Use esta rota para consultar o mesmo corpo JSON que a Marlim envia no POST ao seu webhook_url na última tentativa de envio para aquela transação (inclui sucesso, falha temporária com retry ou último payload antes de esgotar retentativas).
O retorno da API é apenas esse objeto — não inclui URL do webhook, contadores de retry nem metadados de entrega.
O registro é atualizado quando:
- a transação é finalizada no terminal e a Marlim dispara o webhook (pagamento aprovado ou recusado);
- ocorre estorno e existe
webhook_urlna transação (payload comstatus: refunded).
Path
| Atributo | Tipo | Descrição |
|---|---|---|
| transaction_id | string | Identificador da transação (marlim_transaction_id) retornado na criação. |
Autenticação
Mesma API key utilizada nas demais rotas OM (header ou query, conforme o padrão da documentação). A chave deve ser a mesma associada à transação (marlim_api_key gravada na transação). Caso a transação não exista, a chave não corresponda ou não haja registro de envio de webhook para esse ID, a API responde 404 (sem expor se o ID existe em outro cliente).
Retry automático
Se o POST ao seu webhook_url falhar (timeout, erro de rede, resposta 5xx, etc.), a API agenda novas tentativas automaticamente:
- intervalo aproximado de 60 segundos entre cada tentativa na fila;
- número máximo de tentativas adicionais definido na infraestrutura (pode variar; em períodos de teste o limite pode ser menor).
O estado interno da entrega (sucesso, pendente, esgotado) não aparece neste GET: a resposta continua sendo somente o último payload armazenado, idêntico em formato ao webhook assíncrono em Criar Transação.
Response (corpo do webhook)
Mesmo objeto enviado no POST para o seu endpoint. Exemplo com transação paga em crédito:
| Propriedade | Tipo | Descrição |
|---|---|---|
| card_emv_response | string \| null | Resposta EMV do cartão. |
| status | string | Estado: paid, refused, refunded, etc. |
| authorization_code | string \| null | Código de autorização da bandeira. |
| nsu | string \| null | Identificador na adquirente. |
| acquirer_response_code | string \| null | Resposta da adquirente. |
| marlim_transaction_id | string \| null | ID da transação na Marlim. |
| date_created | string | Data de criação (ISO). |
| payment_method | string | Ex.: credit, debit. |
| installments | string | Número de parcelas (débito: 1). |
| authorized_amount | int | Valor autorizado em centavos. |
| paid_amount | int | Valor pago em centavos. |
| paid_per_month | int | Valor por parcela (centavos). |
| interest_rate | number | Taxa de juros (percentual conforme regra OM). |
| interest_rate_per_month | int | Juros por mês (centavos ou escala da API). |
| interest_rate_total | int | Juros totais (centavos ou escala da API). |
| card_last_digits | string \| null | Últimos dígitos do cartão. |
| card_first_digits | string \| null | Primeiros dígitos do cartão. |
Erros comuns
| HTTP | Situação |
|---|---|
| 404 | Transação inexistente, API key não autorizada para essa transação, ou ainda não existe registro de webhook (ex.: sem webhook_url ou envio ainda não tentado). |
Exemplo
- 200 | OK
curl GET https://api.om.marlim.co/v1/om/webhooks/jvZXFHgHTc5Akefp7KBF--H "Content-Type": "application/json"--H "api_key": "api_key_value"--data-raw '{}'
{"card_emv_response": "B029841DC7A33FE0","status": "paid","authorization_code": "300164","nsu": "17661083300164","acquirer_response_code": "0000","marlim_transaction_id": "jvZXFHgHTc5Akefp7KBF","date_created": "2026-03-17T14:43:38.932Z","payment_method": "credit","installments": "2","authorized_amount": 1063,"paid_amount": 1063,"paid_per_month": 532,"interest_rate": 3.12,"interest_rate_per_month": 32,"interest_rate_total": 63,"card_last_digits": "5364","card_first_digits": "5364"}