API transaction validation PT
From Wiki
Deutsch | English | Español | Français | Italiano | Nederlands | Polski | Português (Brasil) | Svenska
Contents |
Endpoint da API Validação de transação
A API anunciantes da Awin suporta validações de transações, o que permite que você aprove, recuse e altere transações com a API da Awin.
A API de validação de transações apresenta um endpoint em lote, que permite a você agrupar várias solicitações de validação em um único envio.
O endpoint da API de validação de transação faz parte da infraestrutura geral da API da Awin. Como tal, o endpoint usa um token OAUTH2 baseado em usuário. Para obter mais informações sobre o OAUTH2, consulte a página Wiki Autenticação e Autorização da API.
A Awin visa processar suas solicitações de validação de transações dentro das restrições financeiras de tempo de sua empresa. Assim, aconselhamos que você envie solicitações até as 12h CET do dia 15 do mês e até as 12h CET do último dia do mês. |
Validação de transações em lote
A validação das transações em lote permite a transferência e o subsequente processamento de uma lista de uma ou mais transações formatadas pelo JSON de uma só vez. Para permitir que você possa monitorar o progresso de seus pedidos de validação, a Awin fornece um jobID rastreável.
Como chamar a API
Método:
POST
URL:
https://api.awin.com/advertisers/<yourAdvertiserId>/transactions/batch
Corpo requerente:
O corpo requerente contém uma série de objetos de transação. Cada objeto representa a ação a ser executada, a transação, e se necessário, quaisquer parâmetros adicionais.
As transações são identificadas ou por Id de transação, ou por referência de pedido, data da transação e fuso horário.
"transactionId": "484816099",
"orderRef": "123ABC555", "transactionDate": "2017-02-20T22:04:00", "timezone": "Europe/Paris"
Operações disponíveis
Aprovar
Aprovar com ID de transação:
{ "action": "approve", "transaction": { "transactionId": 1234567 } }
Aprovar com Id de transação, data de transação, e fuso horário:
{ "action": "approve", "transaction": { "orderRef": "123ABC555", "transactionDate": "2017-02-20T22:04:00", "timezone": "Europe/Paris" } }
Rejeitar
Rejeitar com ID de transação:
{ "action": "decline", "transaction": { "transactionId": 1234567, "declineReason": "order returned" } }
Rejeitar com Id de transação, data de transação, e fuso horário:
{ "action": "decline", "transaction": { "orderRef": "123ABC555", "transactionDate": "2017-02-20T22:04:00", "timezone": "Europe/Paris", "declineReason": "order returned" } }
Alterar
Alterar com ID de transação:
{ "action": "amend", "approve": false, "transaction": { "transactionId": 1234567, "amendReason": "partial return", "currency": "EUR", "saleAmount": 55.96, "transactionParts": [ { "amount": 44.76, "commissionGroupCode": "DEFAULT" }, { "amount": 11.20, "commissionGroupCode": "EXISTING" } ] } }
Alterar com Id de transação, data de transação, e fuso horário:
{ "action": "amend", "approve": false, "transaction": { "orderRef": "123ABC555", "transactionDate": "2017-02-20T22:04:00", "timezone": "Europe/Paris", "amendReason": "partial return", "currency": "EUR", "saleAmount": 55.96, "transactionParts": [ { "amount": 44.76, "commissionGroupCode": "DEFAULT" }, { "amount": 11.20, "commissionGroupCode": "EXISTING" } ] } }
Nota:
Para assegurar a integridade das transações de emenda, a soma das partes da transação deve ser idêntica ao montante da venda, caso contrário, para equilibrar possíveis diferenças, o grupo de comissões "DEFAULT" é ajustado automaticamente.
Se você definir o parâmetro de aprovação como "verdadeiro", a API primeiro altera a transação, aprovando a mesma imediatamente depois.
Corpo de solicitação
Você deve combinar as ações do corpo de solicitação com o corpo de solicitação do lote final. Segue abaixo um exemplo de um lote de três transações; uma transação "aprovar", uma transação "alterar" e uma transação "recusar":
[ { "action": "amend", "approve": false, "transaction": { "transactionId": "484816099", "amendReason": "partial return", "currency": "EUR", "saleAmount": 44.76, "transactionParts": [{ "amount": 44.76, "commissionGroupCode": "DEFAULT" }] } }, { "action": "decline", "transaction": { "transactionId": 1234567, "declineReason": "order returned" } }, { "action": "approve", "transaction": { "orderRef": "123ABC555", "transactionDate": "2017-02-20T22:04:00", "timezone": "Europe/Paris" } } ]
Para obter os dados necessários, tais como Id de transação, usar o método GET para esse fim Transações GET (lista)..
Corpo de resposta
{ "jobId": "5cbefc8646e0fb0001c4670e" }
O jobId permite a você rever a situação de quaisquer tarefas que estejam em processo, por até 60 dias após a criação da tarefa.
Endpoint do status da tarefa
Status da Tarefa Geral
Método:
GET
URL:
https://api.awin.com/advertisers/<yourAdvertiserId>/transactions/jobs/<jobId>
Corpo de resposta
{ "jobId": 5cbefc8646e0fb0001c4670e, "status": "DONE", "transactionCount": 100, "allTransactions": null, "errorCount": 0, "failedTransactions": null, "creationDate": "2017-02-20T22:04:00", "completionDate": "2017-02-20T22:24:00" }
Se você não consultar uma lista de transações detalhada ou uma lista de erros para uma tarefa, os objetos allTransactions e failedTransactions por padrão serão "null". Para mais informações, consulte a seção Lista Detalhada de Erros nesta página.
Lista detalhada de erros
Para fornecer uma lista adicional das transações que geraram um erro durante a validação, acrescente o parâmetro "output=errors" ao URL. A API lista as transações individuais que estão dentro do objeto failedTransactions. Para gerar uma lista completa de todas as transações dentro do objeto allTransactions, acrescente o parâmetro "output=all" ao URL.
Método:
GET
URL:
https://api.awin.com/advertisers/<yourAdvertiserId>/transactions/jobs/<jobId>?output=errors https://api.awin.com/advertisers/<yourAdvertiserId>/transactions/jobs/<jobId>?output=all
Corpo de resposta
{ "jobId":"5cb8290460b59a6e7ae22d0b", "status":"DONE", "transactions":2, "allTransactions":null, "errors":2, "failedTransactions": [ { "transactionId":1234567, "orderRef":null, "transactionDate":null, "timezone":"", "code":"[404 NOT_FOUND]", "description":null }, { "transactionId":1234568, "orderRef":null, "transactionDate":null, "timezone":"", "code":"[404 NOT_FOUND]", "description":null } ], "creationDate":"2019-04-18T09:49:35.558", "completionDate":"2019-04-18T09:49:36.513" }
Lista de tarefas
Para gerar uma lista de todos as suas tarefas dos últimos 60 dias, acesse o endpoint da tarefa sem fornecer uma ID de tarefa.
Método:
GET
URL:
https://api.awin.com/advertisers/<yourAdvertiserId>/transactions/jobs
Códigos de resposta comuns
A tabela a seguir contém uma lista de possíveis razões de resposta para códigos de resposta comuns que podem aparecer quando se usa a AIP:
Código de resposta | Mensagem de resposta | Possível Motivo Resposta |
200 | OK | A transação foi validada conforme desejado. |
304 | NOT_MODIFIED | A transação já estava no estado da comissão desejada. Por ex., tentativa de recusar uma transação recusada. |
404 | NOT_FOUND | A Id de transação ou (referência de pedido, data da transação, e fuso horário) não correspondia a uma transação. |
422 | UNPROCESSABLE_ENTITY | Incapaz de completar o pedido devido ao estado atual da transação. Por ex., tentando aprovar uma transação recusada. |