Leia sobre a verificação e seus tipos neste artigo.
A verificação automática via postback é semelhante à verificação automática via XML. Porém, nesse caso, é o servidor do anunciante que envia a solicitação com os dados das ações processadas para o servidor da Admitad. Esse método é considerado mais seguro e, portanto, popular entre os programas financeiros.
A verificação automática via postback permite atualizar os relatórios da Admitad mais rápido porque os dados são enviados no momento da alteração do status da ação ou a cada 2 a 3 horas (dependendo das configurações de verificação automática) em vez de uma vez por dia, como no caso da verificação via XML.
Apenas pedidos pendentes podem ser verificados.
Confirmar um pedido significa que você está pronto para pagar uma remuneração ao afiliado pelo pedido. Depois que você confirmar o pedido, o afiliado poderá retirar a remuneração do sistema. Portanto, recomendamos fortemente que você verifique tudo o que precisa antes de confirmar.
A verificação pode ser feita de duas formas:
Verificação por assinatura de solicitação
Este método é conveniente para quem não precisa especificar um endereço IP e é apropriado se você usa um IP dinâmico.
Para assinar solicitações de verificação, use o algoritmo HMAC-SHA1 para campaign_code e order_id (os IDs do seu programa e pedido escritos como uma única string sem espaços e caracteres especiais entre os dois valores). Todas as strings devem estar em UTF-8. Um exemplo em Python 3.7/2.7 (IPython):
In [16]: import hmac
In [17]: import hashlib
In [18]: campaign_code = u'campaign_code'.encode('utf-8')
In [19]: order_id = u'my_order_id_here'.encode('utf-8')
In [20]: revision_secret_key = u'0123456789acbdef'.encode('utf-8')
In [22]: revision_sign = hmac.new(revision_secret_key, campaign_code + order_id, hashlib.sha1).hexdigest()
In [23]: print(revision_sign)
'01ae14a1c4ef90e6ce48c65525833e3f8a1f0228'
In [24]:
Parâmetros necessários
Os funcionários do departamento de rastreamento vão compartilhar com você os valores para campaign_code e revision_secret_key durante a configuração da verificação automática.
- campaign_code: código de programa afiliado (uma string, 10 caracteres);
- revision_secret_key: uma chave secreta para verificação por solicitações (uma string, 40 caracteres);
- revision_sign: assinatura de saída (veja o exemplo acima);
- order_id: número de pedido (uma string, de 1 a 100 caracteres).
-
status: o status do pedido pode ter os seguintes valores:
- pending
- approved
- declined
- amount: valor do pedido (um número decimal com um ponto separador);
- reward: remuneração de afiliado (um número decimal com um ponto separador);
- currency_code (opcional): a moeda (um código de 3 letras) para valores nos parâmetros "amount" (valor do pedido) e "reward" (remuneração do afiliado);
-
Se você não transferir currency_code, a moeda especificada no programa afiliado será usada por padrão para currency_code;
-
Se você transferir o currency_code e a moeda transferida for diferente da moeda do programa afiliado, os valores nos parâmetros "amount" e "reward" serão convertidos para a moeda do programa usando a taxa de câmbio do sistema no momento em que a ação foi registrada.
-
comment: o motivo de rejeição do pedido (uma string, de 0 a 30 caracteres).
Exemplo de requisição postback
https://ad.admitad.com/rp?campaign_code=8f803552ea& revision_sign=01ae14a1c4ef90e6ce48c65525833e3f8a1f0228&order_id=&status=&comment=
Verificação por chave e endereço IP
Parâmetros necessários
Os funcionários do departamento de rastreamento vão compartilhar com você os valores para campaign_code e revision_key durante a configuração da verificação automática. Informe a eles o(s) endereço(s) IP de onde virão as solicitações.
- campaign_code: código de programa afiliado (uma string, 10 caracteres);
- revision_key: uma chave secreta para verificação por solicitações (uma string, 32 caracteres);
- order_id: número de pedido (uma string, de 1 a 100 caracteres).
-
status: o status do pedido pode ter os seguintes valores:
- pending
- approved
- declined
- amount: valor do pedido (um número decimal com um ponto separador);
- reward: remuneração de afiliado (um número decimal com um ponto separador);
-
comment: o motivo de rejeição do pedido (uma string, de 0 a 30 caracteres).
Exemplo de requisição postback
https://ad.admitad.com/rp?campaign_code=8f803552ea& revision_key=3b9e06d28835AA872AE9cb6fc1186d1E&order_id=&status=&comment=
Teste
Depois que a configuração for concluída, os especialistas do departamento de rastreamento da Admitad vão fazer dois pedidos de teste. Você precisa confirmar um deles e alterar o valor do pedido, e rejeitar o segundo e adicionar um comentário. Se os dados estiverem corretos (os status dos pedidos estiverem em ordem, o valor do pedido tiver sido alterado e um comentário tiver sido adicionado), o teste é considerado bem-sucedido e a verificação automática é ativada.
Notificação de erro
Depois que uma solicitação for enviada, uma mensagem JSON com os resultados da validação da solicitação será enviada em resposta:
- Se o resultado foi bem-sucedido: {"success":true}, "message": "request is processing." Isso significa que a solicitação passou pela validação prévia, mas ainda pode ser rejeitada durante as verificações internas.
- Se foi rejeitada: {"errors":["length revision_key must be no more than 32"],"success":false}, com os motivos pelos quais o pedido foi rejeitado apresentados em "errors".
Se possível, configure uma notificação para respostas com {"errors"} e o registro dessas respostas. Se os erros começarem a aparecer, entre em contato com seu gestor na Admitad.