Server-to-Server - Referência da API do Endpoint EVENT

Referência da API do endpoint EVENT

Rastreie eventos in-app e receita para análise de atribuição e otimização de campanhas usando a API REST da Singular por meio de integração servidor a servidor, como alternativa à implementação do SDK.


Visão geral

Caso de uso servidor a servidor

O endpoint EVENT rastreia eventos in-app e receita para análise de atribuição e otimização de campanhas. É novo em servidor a servidor? Consulte o guia de fundamentos de S2S para conhecer os conceitos principais e a configuração comum.

Recursos compatíveis:

  • Atribuição de eventos: Conecte as ações dos usuários às campanhas de marketing
  • Rastreamento de receita: Meça e atribua compras in-app e transações
  • Eventos personalizados: Rastreie qualquer interação do usuário, de cadastros a conclusões de fase
  • Propriedades de eventos: Anexe dados contextuais aos eventos para uma análise mais aprofundada

Caso de uso híbrido: Em uma integração híbrida, o SDK da Singular é obrigatório e gerencia o rastreamento de sessões, portanto o endpoint SESSION não é usado. Seu servidor envia eventos ao endpoint EVENT V2 usando o Singular Device ID (SDID) fornecido pelo SDK.


Requisitos críticos

Pré-requisitos:

  • Sessão antes dos eventos: A SESSION deve ser estabelecida antes de qualquer rastreamento de evento
  • Ordem sequencial: Uma ordem de sessão inválida gera inconsistências nos dados e erros de atribuição

Diretrizes de rastreamento de eventos

Implemente o rastreamento de eventos seguindo as melhores práticas da Singular para convenções de nomenclatura e estrutura de dados.

Definição de eventos

Definir eventos

Antes de implementar a integração S2S, defina a lista completa de eventos que sua organização deseja rastrear para a análise de desempenho das campanhas.

Guia de planejamento de eventos: Definindo eventos in-app

Impacto da nomenclatura de eventos: Os nomes de eventos enviados à Singular determinam diretamente como os eventos aparecem em relatórios, exportações e postbacks.


Nomenclatura padrão de eventos

Melhores práticas:


Limitações de caracteres

Restrições de comprimento:

  • Nomes de eventos: Máximo de 32 caracteres ASCII (32 bytes quando convertidos para UTF-8 no caso de caracteres não ASCII)
  • Atributos de eventos: Máximo de 500 caracteres ASCII por chave e valor de atributo

Escolha do endpoint

O endpoint EVENT tem duas versões. Use os acordeões abaixo para ver a URL do endpoint e o identificador de dispositivo obrigatório de cada uma. Todos os demais parâmetros são compartilhados e documentados uma única vez em Parâmetros obrigatórios e Parâmetros opcionais abaixo.

V2 obrigatório a partir de 15 de julho de 2026. Contas criadas em 15 de julho de 2026 ou depois devem usar o Event Endpoint V2 (baseado em SDID); o V1 não está disponível para contas novas. Clientes existentes já integrados ao V1 não são afetados. Entre em contato com seu Customer Success Manager da Singular se quiser migrar para o V2.

Endpoint V2 (recomendado)

Use o V2 para integrações híbridas em que o SDK da Singular rastreia as sessões com o Singular Device ID (SDID) e seu servidor envia os eventos usando esse mesmo SDID. O V2 dispensa identificadores de dispositivo específicos de cada plataforma.

POST https://s2s.singular.net/api/v2/evt

Identificador obrigatório:

Parâmetro Detalhes
sdid

Plataformas: iOS, Android, Web, PC, Xbox, PlayStation, Nintendo, MetaQuest, CTV
Tipo: UUIDv4
Singular Device ID obtido do SDK da Singular ou gerado no lado do cliente.
Exemplo: 40009df0-d618-4d81-9da1-cbb3337b8dec

  • iOS/Android: Obrigatório para contas novas a partir de 15 de julho de 2026. Para contas existentes, exige a habilitação do uso de SDID na conta. O método de callback do SDK fornece o SDID após a inicialização.
  • Simplificação de identificadores: Elimina a necessidade dos parâmetros AIFA, ASID, IDFA e IDFV
  • Web: Obtido do SDK web da Singular
  • PC/console/CTV: UUIDv4 gerado pelo cliente que representa uma instalação única do app
  • Consulte a documentação do SDK.
Endpoint V1 (legado)

Use o V1 para integrações puramente do lado do servidor, ou para integrações híbridas em que o SDK da Singular não usa o SDID e que dependem de identificadores de dispositivo específicos de cada plataforma (IDFA, IDFV, AIFA, ASID etc.).

POST https://s2s.singular.net/api/v1/evt

Identificadores obrigatórios (pelo menos um):

Parâmetro Detalhes
idfa

Plataforma: iOS
Tipo: UUIDv4
Identifier for Advertisers (IDFA) habilita o rastreamento de anúncios e a atribuição de campanhas.
Requisito de ATT: O iOS 14.5 e versões posteriores exigem o consentimento do usuário por meio do framework App Tracking Transparency.
Exemplo: DFC5A647-9043-4699-B2A5-76F03A97064B

  • Omita o parâmetro se o IDFA não estiver disponível (o usuário recusou o aviso de ATT).
  • Nunca envie NULL nem uma string vazia.
  • Obter o IDFA
idfv

Plataforma: iOS
Tipo: UUIDv4
Identifier for Vendors (IDFV) permanece consistente em todos os apps do mesmo fornecedor.
Sempre obrigatório: Deve ser incluído independentemente do status de ATT ou da disponibilidade do IDFA.
Exemplo: 21DB6612-09B3-4ECC-84AC-B353B0AF1334

aifa

Plataforma: Android
Tipo: UUIDv4
(Google Play)
Google Advertising ID (GAID) habilita o rastreamento publicitário redefinível pelo usuário no Android.
Exemplo: 8ecd7512-2864-440c-93f3-a3cabe62525b

  • Obrigatório em dispositivos da Google Play.
  • Omita o parâmetro em dispositivos fora da Google Play.
  • Omita se não estiver disponível; nunca envie NULL nem uma string vazia.
  • Obter o AIFA
asid

Plataforma: Android
Tipo: UUIDv4
(Google Play)
Android App Set ID oferece rastreamento entre apps do mesmo desenvolvedor com foco em privacidade.
Sempre obrigatório: Deve ser incluído em dispositivos da Google Play independentemente da disponibilidade do GAID.
Exemplo: edee92a2-7b2f-45f4-a509-840f170fc6d9

  • Omita o parâmetro em dispositivos fora da Google Play.
  • Obter o ASID
amid

Plataforma: Android
Tipo: UUIDv4
(Amazon)
Amazon Advertising ID para dispositivos Amazon sem os serviços do Google Play.
Exemplo: df07c7dc-cea7-4a89-b328-810ff5acb15d

  • Obrigatório para dispositivos Amazon Fire.
  • Omita o parâmetro se não estiver disponível.
  • Obter o AMID
oaid

Plataforma: Android
Tipo: UUIDv4
(OEMs chineses)
O Open Advertising Identifier (OAID) é destinado a dispositivos fabricados na China sem os serviços do Google Play (Huawei, Xiaomi, OPPO etc.).
Exemplo: 01234567-89abc-defe-dcba-987654321012

  • Obrigatório para dispositivos de OEMs chineses sem Google Play.
  • Omita o parâmetro se não estiver disponível.
  • Obter o OAID
andi

Plataforma: Android
Tipo: String
(fora da Google Play)
O Android ID é um identificador de 64 bits gerado pelo dispositivo.

Uso restrito: Proibido em dispositivos da Google Play; use AIFA e ASID no lugar. Envie somente se nenhum outro identificador estiver disponível e o app não for distribuído pela Google Play.

Exemplo: fc8d449516de0dfb


Parâmetros obrigatórios

Todas as requisições EVENT devem incluir estes parâmetros obrigatórios além dos identificadores de dispositivo.

Formato dos parâmetros: Todos os parâmetros devem ser enviados como dados application/x-www-form-urlencoded no corpo da requisição usando o método POST. As requisições devem incluir o cabeçalho Content-Type: application/x-www-form-urlencoded . Não envie os parâmetros em um corpo de requisição JSON.

Autenticação da API

Parâmetro Detalhes
a

Tipo: String
SDK Key da Singular para autenticação da API.
Obter em: IU da Singular → Menu principal → Developer Tools .

Importante: Não use a Reporting API Key. As requisições serão rejeitadas.

Exemplo: sdkKey_afdadsf7asf56


Parâmetros do dispositivo

Parâmetro Detalhes
p

Tipo: String
Plataforma da aplicação.
Valores permitidos (diferenciam maiúsculas de minúsculas):
Exemplo: Android

  • Android
  • iOS
  • Web
  • PC
  • Xbox
  • Playstation
  • Nintendo
  • MetaQuest
  • CTV
ip

Tipo: String
Exemplo: 172.58.29.235

Endereço IPv4 público do dispositivo. O IPv6 é compatível, mas o IPv4 é recomendado por questões de compatibilidade de atribuição com as redes de anúncios.
ve

Tipo: String
Exemplo: 9.2

Versão do SO do dispositivo no momento da sessão.
ma

Plataforma: iOS, Android
Tipo: String
Marca do dispositivo (nome do fabricante). Deve ser usado com mo (modelo).
Obter a marca do dispositivo
Exemplo: Samsung , LG , Apple

mo

Plataforma: iOS, Android
Tipo: String
Modelo do dispositivo. Deve ser usado com ma (marca).
Obter o modelo do dispositivo
Exemplo: iPhone 4S , Galaxy SIII

lc

Plataforma: iOS, Android
Tipo: String
Tag de locale IETF — código de idioma e país de duas letras separados por um sublinhado. Envie apenas o formato simples ll_CC . Não inclua palavras-chave de extensão Unicode como @calendar=japanese ou _#u-fw-mon .
Obter o locale do dispositivo
Exemplo: en_US

bd

Plataforma: iOS, Android
Tipo: String
Identificador de build do dispositivo, codificado em URL.
Obter o build do dispositivo
Exemplo: Build%2F13D15


Parâmetros da aplicação

Parâmetro Detalhes
i

Tipo: String
Identificador do app (diferencia maiúsculas de minúsculas).
Exemplo: com.singular.app

  • Android: nome do pacote (ex.: com.singular.app )
  • iOS: Bundle ID (ex.: com.singular.app )
  • PC/console: o identificador que você designar
app_v

Tipo: String
Exemplo: 1.2.3

Versão da aplicação.
att_authorization_status

Plataforma: iOS
Tipo: Integer
Código de status do App Tracking Transparency (ATT) (iOS 14.5 ou posterior).
Valores de status:

  • 0 - Indeterminado (aviso não exibido)
  • 1 - Restrito (rastreamento desativado no nível do dispositivo)
  • 2 - Negado (o usuário negou a autorização)
  • 3 - Autorizado (o usuário concedeu a autorização)

Sempre obrigatório: Mesmo que o ATT não seja implementado, envie 0 (indeterminado).

Exemplo: 3


Parâmetros do evento

Parâmetro Detalhes
n

Tipo: String
Nome do evento que está sendo rastreado.
Exemplo: sng_add_to_cart


Parâmetros opcionais

Os parâmetros opcionais enriquecem o rastreamento de eventos com contexto e funcionalidades adicionais.

Parâmetros de timestamp

Parâmetro Detalhes
utime

Tipo: Integer
Timestamp Unix de 10 dígitos do evento.
Exemplo: 1483228800

umilisec

Tipo: Integer
Timestamp Unix de 13 dígitos com milissegundos.
Exemplo: 1483228800000


Atributos de eventos

Suporte à Conversion API de parceiros: Para encaminhar esses eventos a parceiros de redes de anúncios por meio das integrações da Conversion API da Singular, inclua os atributos de evento opcionais padrão (dados primários com hash, como eventId e ehash ). Consulte Atributos de evento padrão para integrações da Conversion API .

Parâmetro Detalhes
e

Tipo: JSON
String JSON codificada em URL que especifica atributos de evento personalizados.
Estrutura JSON:
Exemplo codificado em URL:

{
  "sng_attr_content_id": 5581,
  "sng_attr_content": "XBox",
  "sng_attr_content_type": "electronics"
}
%7B%22sng_attr_content_id%22%3A5581%2C%22sng_attr_content%22%3A%22XBox%22%2C%22sng_attr_content_type%22%3A%22electronics%22%7D
global_properties

Tipo: JSON
Objeto JSON codificado em URL contendo pares chave-valor personalizados aplicados globalmente ao evento.
Limites:
JSON: {"key1":"value1","key2":"value2"}
Codificado em URL: %7B%22key1%22%3A%22value1%22%2C%22key2%22%3A%22value2%22%7D

  • Máximo de 5 pares chave-valor
  • Máximo de 200 caracteres por chave e valor

Parâmetros de rede

Parâmetro Detalhes
use_ip

Tipo: Boolean
Instrui a Singular a extrair o endereço IP da requisição HTTP em vez do parâmetro ip .

Limitações:

  • Impede a geolocalização baseada em IP pela Singular.
  • Forneça um código de país de duas letras por meio do parâmetro country .
  • Mutuamente exclusivo com o parâmetro ip ; não use os dois.
  • É necessário fornecer ip ou use_ip para evitar a rejeição dos dados.

Exemplo: true

country

Tipo: String
ISO 3166-1 alpha-2 código de país de duas letras.
Obrigatório quando: o endereço IP não estiver disponível ou use_ip=true .
Exemplo: US

ua

Tipo: String
String de User Agent codificada em URL.
Sem codificação: Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15...
Exemplo: Mozilla%2F5.0%20(iPhone%3B%20CPU%20iPhone%20OS%2014_0...

c

Plataforma: iOS, Android
Tipo: String
Tipo de conexão de rede.
Valores permitidos: wifi , carrier
Exemplo: wifi

cn

Plataforma: iOS, Android
Tipo: String
Exemplo: Comcast

Nome da operadora do provedor de internet.

Privacidade de dados

Parâmetro Detalhes
data_sharing_options

Tipo: JSON
Consentimento do usuário final para compartilhamento de dados, em JSON codificado em URL. Deve persistir e ser enviado em todas as requisições SESSION e EVENT subsequentes.
Usuário consentiu (opt-in):
Usuário recusou (opt-out):
Exemplo: %7B%22limit_data_sharing%22%3Atrue%7D

{"limit_data_sharing":false}
{"limit_data_sharing":true}
dnt

Plataforma: iOS, Android
Tipo: Integer
Status do Do Not Track.
Exemplo: 0

  • 1 - Do Not Track ativado
  • 0 - Do Not Track desativado
dntoff

Plataforma: iOS, Android
Tipo: Integer
Indica se o Do Not Track está desativado.
Exemplo: 1

  • 0 - Do Not Track ativado (OFF=false)
  • 1 - Do Not Track desativado (OFF=true)

Suporte entre dispositivos

Parâmetro Detalhes
custom_user_id

Tipo: String
Seu ID de usuário interno para rastreamento entre dispositivos.

Sem PII: Não envie informações de identificação pessoal. Use um identificador interno com hash ou anonimizado de outra forma, e não endereços de e-mail, números de telefone ou nomes em texto puro.

Exemplo: 123456789abcd


Suporte a SKAdNetwork

Parâmetro Detalhes
skan_conversion_value

Plataforma: iOS
Tipo: Integer
Valor de conversão mais recente do SKAdNetwork no momento do evento.
Saiba mais: Implementação do SKAdNetwork
Exemplo: 7

skan_first_call_timestamp

Plataforma: iOS
Tipo: Integer
Timestamp Unix da primeira chamada à API do SKAdNetwork.
Exemplo: 1483228800

skan_last_call_timestamp

Plataforma: iOS
Tipo: Integer
Timestamp Unix da chamada mais recente à API do SKAdNetwork no momento do evento.
Exemplo: 1483228800


Rastreamento de receita

Rastreie compras in-app e eventos de receita com a validação e o tratamento de moeda adequados.

Parâmetros de receita obrigatórios

Rastreamento básico de receita

Parâmetros mínimos necessários para o rastreamento de eventos de receita quando você faz sua própria validação de receita.

Melhor prática: Valide os eventos de receita junto às App Stores no lado do seu servidor antes de enviar a requisição do evento à Singular. Se fizer a própria validação, apenas estes parâmetros são necessários.

Parâmetro Detalhes
is_revenue_event

Tipo: Boolean
Marca o evento como um evento de receita para as métricas de Revenue.
Exemplo: true

  • Opcional. Um evento também é tratado automaticamente como receita quando o nome do evento é __iap__ / __iapauto__ , ou quando um parâmetro amt está presente.
  • Definir is_revenue_event=false não impede o tratamento como receita quando amt é incluído.
amt

Tipo: Number
Valor monetário da transação.
Exemplo: 2.51

  • Use em conjunto com o parâmetro cur
cur

Tipo: String
ISO 4217 código de moeda de três letras em maiúsculas.
Exemplo: USD

  • Use em conjunto com o parâmetro amt

Observação: Enviar o parâmetro amt faz com que o evento seja processado como evento de receita, independentemente do valor de is_revenue_event , incluindo is_revenue_event=false . Se você não quiser que um evento seja tratado como de receita, omita o parâmetro amt . Para marcar um evento de receita sem valor, envie is_revenue_event=true .


Parâmetros de validação de receita

Receita validada pela Singular

Parâmetros opcionais para que a Singular faça a validação de receita no lado do servidor junto às App Stores.

Requisitos de validação:

  • Obrigatórios se você depender da Singular para a validação de receita junto às App Stores
  • Confirme a sintaxe correta dos valores do recibo de compra e da assinatura
  • A formatação incorreta faz com que a Singular bloqueie a receita e gere um evento __iapinvalid__
Parâmetro Detalhes
purchase_receipt

Plataforma: iOS, Android
Tipo: JSON
Recibo recebido da transação de compra.
Exemplo (iOS):
Exemplo (Android, codificado em URL):

MIISqwYJKoZI...cNqts0jvcNvPcK7yuj0KhJ9nTTQ54kDKfReihzc6aw==
%7B%22orderId%22%3A%22GPA.1234%22%2C%22packageName%22%3A%22com.example%22%2C%22productId%22%3A%22com.example.product%22...
receipt_signature

Plataforma: Android
Tipo: String
Assinatura usada para assinar o recibo de compra (somente Android).
Exemplo:

TyVJfHg8OAoW7W4wuJt...5agEDMnNXvhfrw==
purchase_product_id

Tipo: String
Identificador SKU do produto.
Exemplo: com.example.product

purchase_transaction_id

Tipo: String
Identificador da transação.
Exemplo (iOS): 380000123004321
Exemplo (Android): GPA.1234-1234-1234-12345


Rastreamento de receita de anúncios

Rastreie a receita de monetização de anúncios em nível de impressão vinda de plataformas de mediação (por exemplo, AdMob, AppLovin MAX ou ironSource) enviando um EVENT padrão com um nome de evento fixo e atributos de monetização de anúncios. A receita de anúncios usa o mesmo endpoint EVENT documentado acima.

Dados da plataforma de mediação: Colete os atributos de receita de anúncios necessários diretamente do SDK da sua plataforma de mediação. Consulte o Guia do SDK de receita de anúncios para conhecer os atributos que cada plataforma de mediação fornece.

Receita de monetização de anúncios

Além dos parâmetros obrigatórios padrão (autenticação, dispositivo e aplicação), os eventos de receita de anúncios exigem o seguinte.

Parâmetro Detalhes
n

Tipo: String
Nome do evento que está sendo rastreado.
Nome de evento obrigatório para receita de anúncios:

__ADMON_USER_LEVEL_REVENUE__
  • O nome do evento deve estar TODO EM MAIÚSCULAS com sublinhados
  • Máximo de 32 caracteres ASCII
is_admon_revenue

Tipo: Boolean
Identifica o evento como um evento de receita de monetização de anúncios para as métricas de Ad Revenue.
Exemplo: true

  • Envie true para este evento
is_revenue_event

Tipo: Boolean
Identifica o evento como um evento de receita para as métricas de Revenue.
Exemplo: true

  • Envie true para este evento
amt

Tipo: Number
Valor monetário da receita de impressão.
Exemplo: 0.00782

  • Use em conjunto com o parâmetro cur
cur

Tipo: String
ISO 4217 código de moeda de três letras em maiúsculas.
Exemplo: USD

  • Use em conjunto com o parâmetro amt
e

Tipo: JSON
String JSON codificada em URL que especifica os atributos de monetização de anúncios da plataforma de mediação.
Atributo obrigatório:

  • ad_platform (obrigatório) Nome da rede de anúncios

Atributos opcionais:

  • ad_mediation_platform
  • ad_type
  • ad_group_type
  • ad_impression_id
  • ad_placement_name
  • ad_unit_id
  • ad_unit_name
  • ad_group_id
  • ad_group_name
  • ad_group_priority
  • ad_placement_id

Estrutura JSON:

{
  "ad_platform": "AdMob",
  "ad_mediation_platform": "admob.AdMobAdapter",
  "ad_unit_id": "ca-app-pub-6325336052/44923540"
}

Exemplo codificado em URL:

%7B%22ad_platform%22%3A%22AdMob%22%2C%22ad_mediation_platform%22%3A%22admob.AdMobAdapter%22%2C%22ad_unit_id%22%3A%22ca-app-pub-6325336052%5C%2F44923540%22%7D

Observação: Omita os atributos sem valor.


Exemplos de requisição

O código de exemplo demonstra a integração do endpoint EVENT em várias linguagens de programação.

Aviso sobre os exemplos: Os exemplos de código podem não incluir todos os parâmetros obrigatórios. Valide a lista completa de parâmetros antes da implementação em produção. Use um i (identificador do app) exclusivo para desenvolvimento e testes.

PYTHON CURL HTTP JAVA

Exemplo em Python

import requests

url = 'https://s2s.singular.net/api/v1/evt'
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
params = {
    'a': 'sdk_key_here',
    'p': 'Android',
    'i': 'com.singular.app',
    'ip': '10.1.2.3',
    've': '9.2',
    'ma': 'samsung',
    'mo': 'SM-G935F',
    'lc': 'en_US',
    'bd': 'Build/13D15',
    'aifa': '8ecd7512-2864-440c-93f3-a3cabe62525b',
    'asid': 'edee92a2-7b2f-45f4-a509-840f170fc6d9',
    'n': 'sng_add_to_cart'
}

response = requests.post(url, data=params, headers=headers)
print(response.json())

Códigos de resposta e erros

O endpoint EVENT retorna códigos de status HTTP e respostas JSON indicando o sucesso ou a falha da requisição.

Documentação completa de erros: Códigos de resposta S2S e tratamento de erros


Testes e validação

Verifique a integração de eventos S2S antes da implantação em produção usando o SDK Console da Singular para validação de dados em tempo real.

Procedimento de teste

Validação de ponta a ponta

  1. Registre o dispositivo de teste: Obtenha o ID de publicidade do dispositivo e adicione-o ao SDK Console da Singular
  2. Ative o log no console: Adicione o identificador do dispositivo no SDK Console para capturar os dados de teste
  3. Use um App ID de desenvolvimento: Substitua o identificador do app pela versão de desenvolvimento (ex.: com.singular.app.dev ) para separar os dados de teste dos de produção
  4. Compile e inicie: Compile ou abra o app a partir do estado encerrado
  5. Valide os dados do cliente: Confirme que o app envia ao seu servidor todos os dados exigidos pela Singular
  6. Verifique a sessão: Confirme que seu servidor envia a requisição SESSION para https://s2s.singular.net/api/v1/launch com todos os parâmetros obrigatórios
  7. Verifique o SDK Console (sessão): Em segundos, o evento SESSION deve aparecer no SDK Console

Evento de sessão no SDK Console


Teste de eventos

  1. Acione um evento: Prossiga acionando um evento no app
  2. Valide os dados do evento: Confirme que o evento foi enviado ao seu servidor com todos os dados exigidos pela Singular
  3. Verifique a requisição do servidor: Confirme que seu servidor envia a requisição EVENT para o seu endpoint (V2 https://s2s.singular.net/api/v2/evt ou V1 https://s2s.singular.net/api/v1/evt ) com todos os parâmetros obrigatórios.
  4. Verifique o SDK Console (evento): Em segundos, o EVENT deve aparecer no SDK Console
  5. Repita os testes: Valide que todos os eventos são enviados com os valores esperados

Evento no SDK Console

Verificações críticas:

  • Confirme que o evento SESSION ocorre na abertura do app ou ao trazê-lo para primeiro plano ANTES de o EVENT ser recebido
  • Confirme que os dados obrigatórios do EVENT correspondem aos dados da SESSION

Indicador de sucesso: Se os eventos aparecerem no SDK Console, você concluiu com sucesso o teste de integração de eventos de ponta a ponta.


Recursos adicionais

Documentação de testes

Guia completo de testes: Guia de testes de integração S2S