api-referencePOST

Rastreamento automatico disponivel

Se voce usa Stripe, LemonSqueezy ou Polar, nao precisa deste endpoint. Os pagamentos sao rastreados automaticamente quando seu provedor de pagamento esta conectado.
POSThttps://analytics.flowsery.com/analytics/api/v1/payments

Registra um pagamento e atribui a receita. amount é obrigatório; envie transactionId e visitorUid ou sessionUid quando os tiver.

Token Bearer (token de workspace ou chave API de website)

Os tokens do espaço de trabalho precisam de um seletor de site

Os tokens da API do Workspace podem acessar todos os sites do workspace. Passe <code>websiteId</code> ou <code>domain</code> para que Flowsery saiba qual site consultar ou alterar. As chaves da API do site já têm como escopo um site, portanto o seletor pode ser omitido.

Seletor de site

ParametroTipoDescricao
websiteIdstringID do site a ser usado com um token de API do workspace. Inclua este campo no corpo JSON, a menos que você forneça domain. Omitir ao autenticar com uma chave de API de site.
domainstringSite domain para usar com um token de API do espaço de trabalho quando websiteId não for fornecido. Inclua este campo no corpo JSON. Omitir ao autenticar com uma chave de API de site.

Corpo da requisicao

ParametroTipoDescricao
amountOBRIGATORIOnumberObrigatório. Valor em unidades principais da moeda, ex.: 29.99. Com isRefund, o valor reembolsado. 0 registra uma meta free_trial em vez de payment.
currencystringCódigo ISO 4217 como "USD", "EUR" ou "GBP". Se omitido, usa "USD", não a moeda do site.
transactionIdstringSeu próprio ID de pagamento. Deve ser único: um ID repetido é rejeitado com 409 Conflict, não deduplicado. Envie-o de novo com isRefund para marcar esse pagamento como reembolsado e use-o depois para excluí-lo.
visitorUidstringID de visitante Flowsery opcional, normalmente proveniente do cookie _fs_vid no seu próprio back-end.
sessionUidstringID de sessão Flowsery opcional, normalmente proveniente do cookie _fs_sid.
emailstringEndereco de e-mail do cliente.
namestringNome do cliente.
customerIdstringIdentificador do cliente do seu provedor de pagamento.
isRenewalbooleanDefina true para pagamentos recorrentes. Renovações contam como receita, mas não registram a meta payment automática. Padrão: false.
isRefundbooleanDefina true para registrar um reembolso. Com um transactionId existente, atualiza o valor reembolsado desse pagamento em vez de adicionar um registro. Padrão: false.
timestampstringData ISO 8601 do pagamento, para importar histórico. Padrão: agora.

A carga útil de sucesso contém apenas uma mensagem de confirmação.

Erros

Uma requisição sem amount retorna 400 Bad Request. Um transactionId já registrado para este site retorna 409 Conflict, a menos que isRefund seja true.
Exemplo de requisicao (Node.js)
const handler = async (req, res) => {
  const _fs_vid = req.cookies._fs_vid;
  const _fs_sid = req.cookies._fs_sid;

  const response = await fetch(
    "https://analytics.flowsery.com/analytics/api/v1/payments",
    {
      method: "POST",
      headers: {
        Authorization: `Bearer ${FLOWSERY_API_KEY}`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        websiteId: process.env.FLOWSERY_WEBSITE_ID,
        amount: 29.99,
        currency: "USD",
        transactionId: "payment_456",
        visitorUid: _fs_vid,
        sessionUid: _fs_sid,
        email: "buyer@example.com",
      }),
    }
  );

  res.status(200).send("Payment tracked");
};
200
{
  "status": "success",
  "data": [{
    "message": "Payment recorded successfully"
  }]
}