Skip to main content
GET
Recuperar o histórico da sessão
O endpoint GET /v1/sessions/{id}/history retorna um array de eventos em ordem decrescente, com os registros mais recentes primeiro. Cada elemento descreve uma mudança ou um efeito observado (criação, atualização, tentativa de pagamento, confirmação assíncrona, expiração, entre outros).
Use o histórico para auditar o que aconteceu. Para saber se o link ainda aceita pagamentos ou qual é o multiplePayments.status agora, consulte Recuperar detalhes de uma sessão.

Quando usar

Em sessões 1:N, uma cobrança aprovada não encerra necessariamente a sessão. O histórico registra cada efeito; o estado agregado continua em GET /v1/sessions/{id}.

Modelo da resposta

Cada item do array possui os campos abaixo.

Status disabled no histórico

O valor disabled não é um status persistido na sessão. Ele aparece no histórico quando o registro representa expiração automática por:
  • vencimento do dueDate (sessionExpiredByDueDate); ou
  • limite de pagamentos em sessão 1:N (sessionExpiredByMaxPayments).
Cancelamento manual pelo integrador continua como canceled.

Prioridade do campo action

Quando há várias entradas em actions, a API escolhe uma ação principal nesta ordem:
  1. statusChanged
  2. sessionExpiredByDueDate
  3. sessionExpiredByMaxPayments
  4. paymentExpired
  5. updated (genérico para demais combinações)

Catálogo de ações (actions)

As ações abaixo podem aparecer isoladas ou combinadas no mesmo registro.

Alterações de sessão

Pagamentos e estoque 1:N

paymentSucceeded registrado após POST /v1/sessions/{id}/charge documenta a resposta da tentativa de cobrança, não necessariamente a confirmação final na sessão. Um item com diff.changes.response.to.status: pending indica tentativa em andamento. Para estado consolidado, use GET /v1/sessions/{id} ou aguarde a confirmação assíncrona.

Expirações e bloqueios

Fluxo de registro (visão geral)

Dois destinos distintos: o histórico registra o que aconteceu; a sessão e as métricas guardam o estado atual do link.

Trilha de auditoria

Cada origem abaixo pode acrescentar um evento ao histórico. Consulte o resultado com GET /v1/sessions/{id}/history. As mesmas origens também atualizam contadores e disponibilidade do link. Para o estado atual, use GET /v1/sessions/{id} — não o histórico. Registros com deduplicação por cobrança (paymentPending, paymentSucceeded, paymentExpired em 1:N) evitam reaplicar o mesmo efeito em reprocessamentos. Tentativas HTTP de cobrança não são deduplicadas: cada chamada pode gerar uma nova linha.

Estrutura típica do diff

Atualizações manuais costumam seguir:
Expiração por dueDate:
O payload do item não inclui chargeId como campo de nível raiz nem metadados de sistema. Quando houver contexto de cobrança, ele pode aparecer dentro de diff, por exemplo em diff.chargeId ou diff.changes.response.to.chargeId.

Erros comuns

Próximos passos

Sessões

Conceitos de sessão 1:1 e 1:N e acompanhamento de status.

Detalhes da sessão

Estado agregado atual e objeto multiplePayments.

Authorizations

X-Client-Id
string
header
required
X-Api-Key
string
header
required

Path Parameters

id
string<uuid>
required

Identificação da sessão

Response

OK

id
string<uuid>
required

Identificador do registro de histórico (não confundir com o id da sessão no path).

status
enum<string>
required

Status da sessão na leitura do produto no momento do evento. O valor disabled indica desativação automática por dueDate ou limite de pagamentos 1:N; cancelamento manual permanece canceled.

Available options:
created,
paid,
canceled,
voided,
disabled
createdAt
string<date-time>
required

Data de criação do registro (RFC 3339, com precisão de milissegundos).

updatedAt
string<date-time>
required

Data da última atualização do registro.

clientId
string<uuid>

Identificador do cliente Malga associado ao registro, quando preenchido.

merchantId
string<uuid>

Identificador do merchant associado ao registro, quando preenchido.

action
string | null

Ação principal derivada de actions, com prioridade documentada (ex.: statusChanged, sessionExpiredByDueDate, paymentSucceeded). Pode ser omitida (null) quando o diff indica expiração por dueDate mas actions não lista sessionExpiredByDueDate.

actions
string[]

Lista completa de ações semânticas do evento. Valores possíveis incluem statusChanged, amountChanged, isActiveChanged, paymentSucceeded, paymentPending, paymentExpired, sessionExpiredByDueDate, sessionExpiredByMaxPayments, splitRulesChanged, entre outros.

diff
object

Objeto JSON com mudanças (changes.*), razões estáveis (reason, changes.isActive.reason) e contexto (ex.: maxPaymentsContext, resposta da tentativa de cobrança em changes.response). A estrutura varia conforme o fluxo.