Pular para o conteúdo principal
O SDK é um cliente fino sobre uma API REST. Se você não está em Node — ou está depurando com curl — é isto que você precisa.

Base

O prefixo da chave decide o ambiente. Uma sk_test_ enviada pra produção não falha com “chave errada” — o recurso simplesmente não existe lá (404).

Autenticação

Só Authorization: Bearer. Não existe X-Api-Key. As rotas públicas de checkout (/public/v1/* e /pay/{slug}/*) não levam chave: são abertas por definição, porque rodam no navegador do pagador.

Provisionamento pelo agente

POST /public/v1/claimables é público. Aceita ref, accountName e email opcionais. Retorna apiKeySecret, publishableKey, tenantSlug, productId, claimUrl e expiresAt. O nome prepara a conta; o email é contato não verificado. Com a atualização de email de claim, o endereço recebe um aviso assíncrono com link e prazo, limitado a um enfileiramento por endereço a cada 24 horas. Um 201 confirma a criação, não a entrega. Sempre guarde a claimUrl. Veja cadastro pelo agente para perguntas, chaves e finalização. Se a resposta desse POST se perder, não repita automaticamente: ele pode já ter criado a conta.

IDs

Todo ID diz o que é pelo prefixo: cus_ cliente, prod_ produto, inv_ fatura, pay_ pagamento, sub_ assinatura, coup_ cupom, re_ reembolso, we_ endpoint de webhook, acct_ conta. Depois do prefixo vêm 22 caracteres (0-9A-Za-z), e maiúscula e minúscula importam.
  • Guarde o ID como texto, do jeito que veio. Não converta para minúsculas.
  • Um ID de outro tipo no lugar errado (um cus_ onde vai um inv_) responde 400, dizendo o prefixo esperado.
  • IDs antigos, só com o UUID, ainda são aceitos na entrada por um tempo. As respostas e os webhooks já vêm no formato novo.

Idempotency-Key

Mutações autenticadas exigem o header. O provisionamento público de claim acima é uma exceção:
Sem ele: 400 idempotency_key_required. Reusar a mesma chave com corpo diferente: 409 idempotency_key_reused.

Envelopes de resposta

Algumas rotas devolvem o recurso embrulhado. Criar produto devolve dois:
Listagens vêm sob a chave do plural ({"products":[…]}, {"links":[…]}). Confira o corpo antes de assumir que o objeto está na raiz — é o erro mais comum de quem sai do SDK.

Envelopes de erro

São dois, e a diferença importa se você faz parsing:
errors[] é onde mora o motivo de um 422 — é o campo que diz o que corrigir. Guarde o tracer_id/request_id: é o que o suporte procura.

Rotas

{id} são UUIDs, exceto onde indicado. Esta seção é gerada do contrato OpenAPI, então acompanha a API.

Catálogo e clientes

Cobrança

Conta

Público — sem chave

Operação — sessão e webhooks de entrada

Uma venda inteira, só com curl

O slug vem do provisionamento. tenantSlug, no mesmo JSON que devolveu a chave.