AstroDocsQuero acesso antecipado

API

Autenticação por chave, escopos, formato de resposta, erros e limites da API de integração.

A API de integração permite consultar seus dados do Astro a partir dos seus sistemas: produtos, pedidos, clientes, assinaturas, faturas e analytics. As rotas ficam sob /developer/v1 e respondem em JSON.

Crie uma chave de API

Em Desenvolvedores → Chaves de API, crie uma chave e escolha os escopos que ela pode usar. A chave completa aparece uma única vez, na criação. Guarde-a em um cofre de segredos.

As chaves têm o formato:

astro_live_<prefixo>_<segredo>

Você pode rotacionar uma chave (a nova substitui a anterior na hora) ou revogar quando não precisar mais dela.

Autenticação

Envie a chave no header x-api-key:

curl https://SUA_API_ASTRO/developer/v1/products \
  -H "x-api-key: astro_live_xxx_yyy"

Escopos

Cada chave só acessa o que seus escopos permitem. Os escopos de consulta são somente leitura.

Escopo Permite
products.read listar e consultar produtos, preços e variantes
orders.read listar e consultar pedidos
customers.read listar e consultar clientes
subscriptions.read consultar assinaturas, ciclos, histórico e faturas da assinatura
invoices.read listar e consultar faturas
analytics.read consultar relatórios, em JSON ou CSV
analytics.write enviar eventos de analytics
usage.read / usage.write consultar e registrar consumo
payments.read listar e consultar pagamentos, status e reembolsos
checkout_sessions.write criar o link de pagamento pelo seu servidor
subscriptions.write cancelar a assinatura de um cliente

Ligue a compra ao usuário do seu app

O Astro devolve em todos os webhooks a referência que você mandou no checkout. Use o ID do usuário no seu sistema para liberar o acesso da pessoa certa.

Pelo link do checkout, sem programar: acrescente ?ref=<id do usuário> e, se quiser, meta_<chave>=<valor> (até 20 chaves):

https://checkout.seudominio.com/meu-plano?ref=user_123&meta_plano=pro

Pelo servidor, quando a referência não pode ser alterada pelo comprador:

curl -X POST https://api.seudominio.com/developer/v1/checkout-sessions \
  -H "x-api-key: $ASTRO_API_KEY" \
  -H "content-type: application/json" \
  -d '{"checkout":"meu-plano","items":[{"priceId":"pri_...","quantity":1}],"externalReference":"user_123"}'

A resposta traz url: redirecione o comprador para ela. Uma referência enviada pelo servidor é confiável; a do link pode ser trocada por quem tem o link, então trate-a apenas como “quem iniciou a compra”.

Para o botão “cancelar plano” dentro do seu app, use POST /developer/v1/subscriptions/:id/cancel com {"atPeriodEnd": true}.

Respostas e erros

Respostas de sucesso vêm em um envelope:

{ "data": {}, "meta": {} }

Erros seguem o formato Problem Details, com code, status, detail, instance e requestId. Informe o requestId ao suporte para investigar uma chamada.

Limites

O limite de requisições é individual por chave, contado em janelas de um minuto. Ao ultrapassá-lo, a API responde com HTTP 429. Recursos acima do limite do seu plano também retornam 429 com o código FEATURE_LIMIT_EXCEEDED.

Idempotência

O envio de eventos de analytics aceita uma idempotencyKey. Repetir a mesma chave retorna sucesso com duplicate: true, sem contar o evento duas vezes.

esc

Acesso rápido

↑↓ navegar↵ abriresc fechar