Introdução
A integração com o Segment envia eventos do Dodo Payments para a HTTP Tracking API do Segment como chamadas Track e Identify. Em seguida, o Segment encaminha dados de pagamentos, assinaturas e clientes para as ferramentas de análise, marketing e data warehouse conectadas ao seu workspace, a partir de um catálogo com mais de 300 destinos.Essa integração requer a Write Key de uma fonte HTTP API no seu workspace do Segment. Você também precisa ter acesso a Developer → Webhooks no dashboard do Dodo Payments.
Começando
1
Open the Webhook Section
No dashboard do Dodo Payments, acesse Developer → Webhooks e clique em Add endpoint.

2
Select Segment
Em Integration, selecione Segment. O dashboard preenche a Endpoint URL e o código de transformação para o Segment.
3
Enter Write Key
No Segment, acesse Connections → Sources e abra ou crie uma fonte HTTP API. Copie a Write Key das configurações da fonte e cole-a em API key.
4
Select Events
Em Subscribed events, selecione apenas os eventos tratados pela sua transformação. Os exemplos nesta página usam
payment.succeeded, subscription.active e subscription.cancelled.5
Configure Transformation
Em Transformation code, edite o handler para formatar eventos para a Track ou Identify API do Segment. Comece pelos exemplos.
6
Test & Create
Em Test this code, selecione um tipo de evento e clique em Simulate para visualizar a chamada ao Segment. Em seguida, clique em Create endpoint.
7
Switch to Basic Authentication
O Dodo Payments envia o valor de API key como um bearer token, mas a HTTP API do Segment aceita uma Write Key por meio de autenticação Basic ou de um campo
writeKey no body. Logo depois de criar o endpoint, abra a aba Advanced. Em Custom headers, insira um novo valor na linha Authorization oculta: Basic, um espaço e a codificação Base64 da sua Write Key com dois-pontos anexados. Em seguida, clique em Save. Por exemplo, echo -n 'YOUR_WRITE_KEY:' | base64 imprime o valor codificado.8
Done
Os eventos inscritos agora chegam ao Segment, que os encaminha para os destinos conectados.
Exemplos de código de transformação
Cada handler definewebhook.url como um endpoint da API do Segment e substitui webhook.payload pela chamada. Os valores do Dodo Payments estão na menor unidade da moeda, portanto os exemplos dividem os valores por 100. Para moedas sem casas decimais, como JPY e KRW, use o valor sem alterações.
Rastrear eventos de pagamento
Registre um eventoPayment Completed quando um pagamento for bem-sucedido:
track_payments.js
Rastrear o ciclo de vida da assinatura
Registre eventosSubscription Started e Subscription Cancelled:
track_subscriptions.js
Identificar propriedades do cliente
Atualize os traits do cliente após cada pagamento bem-sucedido. Cada chamada Identify define os traits com os valores enviados, portanto esses traits descrevem o pagamento mais recente:identify_customer.js
Dicas
- Use nomes de eventos consistentes em toda a integração, como o formato de objeto e ação do Segment em
Payment Completed. - Inclua as propriedades necessárias para análise e segmentação.
- Defina
timestampa partir detimestampdo evento, para que o Segment registre quando o evento ocorreu, e não quando foi recebido. - Use o
customer_iddo Dodo Payments comouserId, para que cada chamada de um cliente seja associada ao mesmo usuário do Segment.
Solução de problemas
Events Not Appearing in Segment
Events Not Appearing in Segment
- Verifique se a Write Key pertence a uma fonte HTTP API e se o header
Authorizationusa autenticação Basic. - O Segment retorna
200para a maioria das solicitações, inclusive as que não aceita, portanto uma entrega bem-sucedida nos logs do Dodo Payments não comprova que o evento chegou. Verifique o Debugger da fonte no Segment. - Verifique se os nomes dos eventos seguem as convenções de nomenclatura do Segment.
- Verifique se cada chamada define
userId. O Segment rejeita uma chamada que não tenhauserIdnemanonymousId. - Verifique os limites de taxa do Segment para a HTTP API. O Segment recomenda permanecer abaixo de 1.000 solicitações por segundo por workspace.
- Se o seu workspace usa a região da UE do Segment, envie as chamadas para
https://events.eu1.segmentapis.com/v1/trackehttps://events.eu1.segmentapis.com/v1/identify.
Transformation Errors
Transformation Errors
- Verifique se o payload corresponde ao formato da API do Segment.
- Verifique se todos os campos obrigatórios estão presentes. Track requer
event, e Track e Identify exigemuserIdouanonymousId. - Verifique se os nomes dos eventos são strings, não objetos.