API transaction validation ES

From Wiki

Jump to: navigation, search

Contents

Punto final de la API de validación de transacciones

Nota: Punto final de la API de validación de transacciones solo está disponible para las ofertas de plataformas Awin Accelerate y Awin Advanced.

La API de anunciante de Awin admite validaciones de transacciones, lo que te permite aprobar, rechazar y modificar transacciones con la API de Awin.

La API de validación de transacciones incluye un punto final de lotes que te permite agrupar múltiples solicitudes de validación de una vez.

El punto final de la API de validación de transacciones forma parte de la infraestructura global de API de Awin. Como tal, utiliza un token OAUTH2 basado en el usuario. Para obtener más información sobre OAUTH2, consulta la página de wiki API Authentication and Authorisation.

El objetivo de Awin es procesar tus solicitudes de validación de transacciones dentro de los límites temporales y financieros de tu empresa. Así, te aconsejamos que envíes las solicitudes antes de las 12:00 (CET) del día 15 del mes y antes de las 12:00 (CET) del último día del mes.

Validación de transacciones en lote

La validación de transacciones en lote permite la transferencia y el posterior procesamiento de una lista de una o más transacciones con formato JSON de una vez. Awin proporciona un jobID rastreable para que puedas supervisar el progreso de tus solicitudes de validación.



Cómo llamar a la API

Método:
POST

URL:

https://api.awin.com/advertisers/<yourAdvertiserId>/transactions/batch


Cuerpo de la solicitud:
El cuerpo de la solicitud incluye un conjunto de objetos de transacción. Cada objeto representa la acción que se va a ejecutar, la transacción y, si es preciso, parámetros adicionales. Las transacciones se identifican mediante transactionId o mediante orderRef, transactionDate y timezone.


"transactionId": "484816099",


"orderRef": "123ABC555",
"transactionDate": "2017-02-20T22:04:00",
"timezone": "Europe/Paris"



Operaciones disponibles

Aprobar

Aprobar con transactionId:

{
"action": "approve",
"transaction":
    {
        "transactionId": 1234567
    }
}


Aprobar con orderRef, transactionDate y timezone:

{
"action": "approve",
"transaction":
    {
        "orderRef": "123ABC555",
        "transactionDate": "2017-02-20T22:04:00",
        "timezone": "Europe/Paris"
    }
}


Rechazar

Rechazar con transactionId:

{
"action": "decline",
"transaction":
    {
        "transactionId": 1234567,
        "declineReason": "order returned"
    }
}


Rechazar con orderRef, transactionDate y timezone:

{
"action": "decline",
"transaction":
    {
        "orderRef": "123ABC555",
        "transactionDate": "2017-02-20T22:04:00",
        "timezone": "Europe/Paris",
        "declineReason": "order returned"
    }
}



Modificar

Modificar con transactionId:

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


Modificar con orderRef, transactionDate y timezone:

{
"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 garantizar la integridad de las transacciones de modificación, el total de las partes de la transacción debe ser igual a saleAmount. De lo contrario, para equilibrar las posibles diferencias, "DEFAULT" commissionGroup se ajusta de forma automática.

Si estableces el parámetro de aprobación en «true», la API modifica en primer lugar la transacción y, después, la aprueba de inmediato.


Cuerpo de la solicitud

Debes combinar las acciones del cuerpo de la solicitud con el cuerpo de la solicitud en lote final. A continuación, se incluye un ejemplo de un lote de tres transacciones, una transacción de «aprobar», una de «modificar» y una de «rechazar»:

[
  {
    "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 obtener los datos necesarios, como transactionId, utiliza el método GET para este punto final. Consulta Transacciones GET (lista) para obtener más información.



Cuerpo de la respuesta

{
 "jobId": "5cbefc8646e0fb0001c4670e"
}

Este jobId te permite comprobar el estado de cualquier trabajo que esté en curso hasta 60 días después de haberlo creado.


Punto final de estado de trabajo

Estado de trabajo general

Método:
GET

URL:

https://api.awin.com/advertisers/<yourAdvertiserId>/transactions/jobs/<jobId>


Cuerpo de la respuesta

{
    "jobId": 5cbefc8646e0fb0001c4670e,
    "status": "DONE",
    "transactionCount": 100,
    "allTransactions": null,
    "errorCount": 0,
    "failedTransactions": null,
    "creationDate": "2017-02-20T22:04:00",
    "completionDate": "2017-02-20T22:24:00"
}

Si no consultas una lista de transacciones detallada o una lista de errores para un trabajo, los objetos allTransactions y failedTransactions recuperan el valor predeterminado «null». Para obtener más información, consulta el apartado «Lista detallada de errores» en esta página.


Lista detallada de errores

Para proporcionar una lista adicional de las transacciones que generaron un error durante la validación, añade el parámetro «output=errors» a la URL. La API enumera las transacciones individuales que se incluyen en el objeto failedTransactions. Para generar una lista completa de todas las transacciones que incluye el objeto allTransactions, añade el parámetro «output=all» a la URL en su lugar.

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


Cuerpo de la respuesta

{
    "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 trabajos

Para generar una lista de todos los trabajos de los últimos 60 días, llama al punto final de trabajos sin indicar una ID de trabajo específica.

Método:
GET

URL:

https://api.awin.com/advertisers/<yourAdvertiserId>/transactions/jobs


Códigos de respuesta habituales

La siguiente tabla incluye una lista de posibles motivos de respuesta para códigos de respuesta comunes que pueden aparecer al utilizar la API:

Código de respuesta Mensaje de respuesta Posible motivo de respuesta
200 OK La transacción se ha validado según lo deseado.
304 NOT_MODIFIED La transacción ya se encontraba en el estado de comisión deseado. Por ejemplo, si se intenta rechazar una transacción rechazada.
404 NOT_FOUND El valor transactionId o el conjunto de valores orderRef, transactionDate y timezone no se corresponden con una transacción.
422 UNPROCESSABLE_ENTITY No ha sido posible procesar la solicitud debido al estado actual de la transacción. Por ejemplo, si se intenta aprobar una transacción rechazada.

Privacy

Due to new European legislation regarding how websites store information about you, AWIN is updating its privacy policy. You can see the new version of our policy here. If you would like to see the information we capture on this website, please click here for further details. In order to accept cookies on this site please click the 'I ACCEPT' button