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

Registe um pagamento e atribua receita. Envie o valor mais quaisquer identificadores que tenha, especialmente transactionId e visitorUid/sessionUid quando disponíveis.

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
amountnumberValor do pagamento. Este deve ser sempre enviado.
currencystringCodigo da moeda como "USD", "EUR", "GBP".
transactionIdstringIdentificador de transação estável utilizado para desduplicação.
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 como true para pagamentos recorrentes. Padrao: false.
isRefundbooleanDefina como true para pagamentos reembolsados. Padrao: false.

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

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"
  }]
}