API de Pedidos

Creación

Captura

Se ha de realizar una captura cuando se proceda al envío del producto o productos por el total del valor de los mismos. El importe de la captura debe corresponder al importe total del pedido menos el importe total de los artículos anulados.

{
    "amount": 10050,
    "id": "cf04aa87a6364f14b164e48a84e99936",
    "created": "2019-06-21T16:51:19.494155+02:00",
    "refunds": [],
    "refunded_amount": 0,
    "remaining_amount": 0
}
Parámetro Tipo Requerido Descripción
amount decimal si Importe de la captura
id string si id de la captura
created string si Fecha de la captura
refunds object no Devoluciones realizadas a la captura.
refunded_amount decimal si Cantidad devuelta de la captura
remaining_amount decimal si Cantidad restante de la captura (Siempre será 0)

01. Detalle de la captura

GET /orders/:orderId/captures HTTP/1.1
Accept: application/vnd.aplazame.v1+json
Authorization: Bearer api_private_key
Host: api.aplazame.com
Parámetro Tipo Requerido Descripción
:orderId string si ID del pedido.

Respuesta

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
X-Aplazame-Media-Type: aplazame.v1

{
    "remaining_capture_amount": 60020,
    "results": [
        {
            "amount": 10050,
            "id": "cf04aa87a6364f14b164e48a84e99936",
            "created": "2019-06-21T16:51:19.494155+02:00",
            "refunds": [],
            "refunded_amount": 0,
            "remaining_amount": 10050
        }
    ]
}
Parámetro Tipo Descripción
remaining_capture_amount decimal Cantidad restante del pedido sin capturar (Siempre será 0)
results object Capturas del pedido

02. Solicitar captura

POST /orders/:orderId/captures HTTP/1.1
Accept: application/vnd.aplazame.v1+json
Authorization: Bearer api_private_key
Host: api.aplazame.com

{
  "amount": 10050
}
Parámetro Tipo Requerido Descripción
:orderId string si ID del pedido.
amount decimal si Importe a capturar

Respuesta

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
X-Aplazame-Media-Type: aplazame.v1

{
    "remaining_capture_amount": 49970,
    "amount": 10050,
    "id": "cf04aa87a6364f14b164e48a84e99936",
    "created": "2019-06-21T16:51:19.494155+02:00",
    "refunds": [],
    "refunded_amount": 0,
    "remaining_amount": 10050
}
Parámetro Tipo Descripción
remaining_capture_amount decimal Cantidad restante del pedido sin capturar (Siempre será 0)
amount decimal Importe de la captura
id string id de la captura
created string Fecha de la captura
refunds object Devoluciones realizadas a la captura.
refunded_amount decimal Cantidad devuelta de la captura
remaining_amount decimal Cantidad restante de la captura (Siempre será 0)

Detalles

GET /orders/:orderId HTTP/1.1
Accept: application/vnd.aplazame.v1+json
Authorization: Bearer api_private_key
Host: api.aplazame.com
Parámetro Tipo Requerido Descripción
:orderId string si ID del pedido.

Respuesta

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
X-Aplazame-Media-Type: aplazame.v1

{
  "id": ":orderId",
  "...": "..."
}

Edición

PUT /orders/:orderId HTTP/1.1
Accept: application/vnd.aplazame.v1+json
Authorization: Bearer api_private_key
Host: api.aplazame.com
Content-Type: application/json

{
  "order": {
    "shipping": {
      "first_name": "Django",
      "last_name": "Reinhard",
      "phone": "616123456",
      "alt_phone": "+34917909930",
      "street": "Plaza del Angel nº10",
      "address_addition": "Cerca de la plaza Santa Ana",
      "city": "Madrid",
      "state": "Madrid",
      "country": "ES",
      "postcode": "28012",
      "price": 500,
      "tax_rate": 2100,
      "name": "Planet Express",
      "discount": 100
    },
    "articles": [
      {
        "id": "59825349042875546873",
        "name": "N°5 eau premiere spray",
        "description": "A decidedly lighter, fresher...",
        "url": "http://www.chanel.com/fragrance-beauty/Fragrance-N05-88145/sku/138083",
        "image_url": "http://www.chanel.com/fragrance-beauty/Fragrance-N05-88145/sku/138083/product_01.jpg",
        "quantity": 1,
        "price": 29000,
        "tax_rate": 2100
      }
    ],
    "discount": 300,
    "currency": "EUR",
    "total_amount": 31080
  }
}
Parámetro Tipo Requerido Descripción
:orderId string si ID del pedido.
order object si Pedido a actualizar

Respuesta

HTTP/1.1 204 No Content
X-Aplazame-Media-Type: aplazame.v1

Edición parcial

PATCH /orders/:orderId HTTP/1.1
Accept: application/vnd.aplazame.v1+json
Authorization: Bearer api_private_key
Host: api.aplazame.com
Content-Type: application/json

{
  "order": {
    "articles": [
      {
        "id": "59825349042875546873",
        "name": "N°5 eau premiere spray",
        "description": "A decidedly lighter, fresher...",
        "url": "http://www.chanel.com/fragrance-beauty/Fragrance-N05-88145/sku/138083",
        "image_url": "http://www.chanel.com/fragrance-beauty/Fragrance-N05-88145/sku/138083/product_01.jpg",
        "quantity": 1,
        "price": 29000,
        "tax_rate": 2100
      }
    ],
    "discount": 300
  }
}
Parámetro Tipo Requerido Descripción
:orderId string si ID del pedido.
order object Parcial Pedido a actualizar

Respuesta

HTTP/1.1 204 No Content
X-Aplazame-Media-Type: aplazame.v1

Listado

GET /orders HTTP/1.1
Accept: application/vnd.aplazame.v1+json
Authorization: Bearer api_private_key
Host: api.aplazame.com

Respuesta

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
X-Aplazame-Media-Type: aplazame.v1

{
  "cursor": {
    "after": 3,
    "before": 1
  },
  "paging": {
    "count": 314,
    "next": "https://api.aplazame.com/orders?page=3",
    "previous": "https://api.aplazame.com/orders?page=1"
  },
  "results": [
  ]
}
Parámetro Tipo Descripción
cursor object Puntero de paginación
paging object Estado de paginación
results collection Listado de tiendas

Anulación

Un pedido acepta varias anulaciones parciales siempre que el sumatorio del importe de las mismas no supere el total del pedido original. Si se anula el importe total, el pedido será cancelado.

01. Comprobar anulaciones

GET /orders/:orderId/void HTTP/1.1
Accept: application/vnd.aplazame.v1+json
Authorization: Bearer api_private_key
Host: api.aplazame.com
Parámetro Tipo Requerido Descripción
:orderId string si ID del pedido.

Respuesta

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
X-Aplazame-Media-Type: aplazame.v1

{
   "remaining_amount":60020,
   "results":[
      {
         "amount":1000,
         "id":"7b596c68e9044737a838d54b9e7971a3",
         "created":"2020-10-09T13:56:09.043797+02:00"
      },
      {
         "amount":500,
         "id":"e07b9d47a72c4c7d8c9fc0c0bb2ba9b9",
         "created":"2020-10-09T13:59:05.697921+02:00"
      }
   ]
}
Parámetro Tipo Descripción
remaining_amount decimal Cantidad restante del pedido
results collection Listado de anulaciones

02. Solicitar anulación

POST /orders/:orderId/void HTTP/1.1
Accept: application/vnd.aplazame.v1+json
Authorization: Bearer api_private_key
Host: api.aplazame.com

{
  "amount": 10050
}
Parámetro Tipo Requerido Descripción
:orderId string si ID del pedido.
amount decimal si Importe a anular

Respuesta

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
X-Aplazame-Media-Type: aplazame.v1

{
   "remaining_amount":60020,
   "results":[
      {
         "amount":1000,
         "id":"7b596c68e9044737a838d54b9e7971a3",
         "created":"2020-10-09T13:56:09.043797+02:00"
      },
      {
         "amount":500,
         "id":"e07b9d47a72c4c7d8c9fc0c0bb2ba9b9",
         "created":"2020-10-09T13:59:05.697921+02:00"
      }
   ]
}
Parámetro Tipo Descripción
remaining_amount decimal Cantidad restante del pedido
results collection Listado de anulaciones

Devolución

Para realizar una devolución se hará de una manera u otra dependiendo del tipo de operación.

Financiación online

Devoluciones Financiación online.

Un pedido acepta varias devoluciones parciales siempre que el sumatorio del importe de las mismas no supere el total del pedido original. Si se devuelve el importe total, el pedido será cancelado.

Cada operación de devolución parcial afecta al importe de las futuras cuotas de un crédito. El importe de la devolución se verá reflejado en las liquidaciones del comercio y puede implicar una operación de devolución del importe al comprador.

01. Comprobar cantidad restante

GET /orders/:orderId/refund HTTP/1.1
Accept: application/vnd.aplazame.v1+json
Authorization: Bearer api_private_key
Host: api.aplazame.com
Parámetro Tipo Requerido Descripción
:orderId string si ID del pedido.

Respuesta

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
X-Aplazame-Media-Type: aplazame.v1

{
  "remaining_amount": 70070
}

02. Solicitar devolución

POST /orders/:orderId/refund HTTP/1.1
Accept: application/vnd.aplazame.v1+json
Authorization: Bearer api_private_key
Host: api.aplazame.com

{
  "amount": 10050
}
Parámetro Tipo Requerido Descripción
:orderId string si ID del pedido.
amount decimal si Importe a devolver

Respuesta

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
X-Aplazame-Media-Type: aplazame.v1

{
  "remaining_amount": 60020
}
Parámetro Tipo Descripción
remaining_amount decimal Cantidad restante del pedido

Pago en 15 dias

La devolución para la modalidad de pago en 15 días se realiza a nivel de captura dentro de un pedido.

Una captura de un pedido acepta varias devoluciones parciales siempre que el sumatorio del importe de las mismas no supere el total de la captura original.

{
    "id": "db654bf752a84b7eaf6fcb7ab5801f60",
    "amount": 10050,
    "pending_amount": 0,
    "accrual_date": "2019-06-21",
    "credit_to_customer": 0,
    "completed": false,
    "completed_but_defaults": false,
    "created": "2019-06-21T16:52:07.733892+02:00"
}
Parámetro Tipo Requerido Descripción
id string si id de la devolución
amount decimal si Importe de la devolución
pending_amount decimal si Cantidad restante de la captura
accrual_date string si Fecha efectiva
credit_to_customer decimal si Importe devuelto al cliente
completed boolean si Pedido completado
completed_but_defaults boolean si Pedido completado peor con deudas
created string si Fecha de la devolución

01. Comprobar cantidad restante

GET /orders/:orderId/captures/:captureId/refunds HTTP/1.1
Accept: application/vnd.aplazame.v1+json
Authorization: Bearer api_private_key
Host: api.aplazame.com
Parámetro Tipo Requerido Descripción
:orderId string si ID del pedido.
:captureId string si ID de la captura.

Respuesta

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
X-Aplazame-Media-Type: aplazame.v1

{
    "amount": 70070,
    "id": "cf04aa87a6364f14b164e48a84e99936",
    "created": "2019-06-21T16:51:19.494155+02:00",
    "refunds": [],
    "refunded_amount": 0,
    "remaining_amount": 70070
}
Parámetro Tipo Descripción
amount decimal Importe de la captura
id string id de la captura
created string Fecha de la captura
refunds object Devoluciones realizadas a la captura.
refunded_amount decimal Cantidad devuelta de la captura
remaining_amount decimal Cantidad restante de la captura

02. Solicitar devolución

POST /orders/:orderId/captures/:captureId/refunds HTTP/1.1
Accept: application/vnd.aplazame.v1+json
Authorization: Bearer api_private_key
Host: api.aplazame.com

{
  "amount": 10050
}
Parámetro Tipo Requerido Descripción
:orderId string si ID del pedido.
:captureId string si ID de la captura.
amount decimal si Importe a devolver

Respuesta

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
X-Aplazame-Media-Type: aplazame.v1

{
    "amount": 70070,
    "id": "cf04aa87a6364f14b164e48a84e99936",
    "created": "2019-06-21T16:51:19.494155+02:00",
    "refunds": [
        {
            "id": "db654bf752a84b7eaf6fcb7ab5801f60",
            "amount": 10050,
            "pending_amount": 60020,
            "accrual_date": "2019-06-21",
            "credit_to_customer": 0,
            "completed": false,
            "completed_but_defaults": false,
            "created": "2019-06-21T16:52:07.733892+02:00"
        }
    ],
    "refunded_amount": 10050,
    "remaining_amount": 60020
}
Parámetro Tipo Descripción
amount decimal Importe de la captura
id string id de la captura
created string Fecha de la captura
refunds object Devoluciones realizadas a la captura.
refunded_amount decimal Cantidad devuelta de la captura
remaining_amount decimal Cantidad restante de la captura

Cancelación

Una vez cancelado un pedido, ya no se podrá modificar.

El importe de la cancelación se verá reflejado en las liquidaciones del comercio y se realizará una devolución total de los importes previamente abonados por el comprador.

POST /orders/:orderId/cancel HTTP/1.1
Accept: application/vnd.aplazame.v1+json
Authorization: Bearer api_private_key
Host: api.aplazame.com
Parámetro Tipo Requerido Descripción
:orderId string si ID del pedido.

Respuesta

HTTP/1.1 204 No Content
X-Aplazame-Media-Type: aplazame.v1

Historial

Se recomienda realizar el envío de manera asíncrona para no retrasar la carga de la plantilla.

POST /orders/:orderId/history HTTP/1.1
Accept: application/vnd.aplazame.v1+json
Authorization: Bearer api_private_key
Host: api.aplazame.com
Content-Type: application/json

[{
  "id": "18857527248912279381",
  "amount": 12080,
  "due": "",
  "status": "cancelled",
  "type": "paypal",
  "order_date": "2014-03-21T13:56:45+0000",
  "currency": "EUR",
  "billing": null,
  "shipping": {
    "first_name": "Django",
    "last_name": "Reinhard",
    "phone": "616123456",
    "alt_phone": "+34917909930",
    "street": "Plaza del Angel nº10",
    "address_addition": "Cerca de la plaza Santa Ana",
    "city": "Madrid",
    "state": "Madrid",
    "country": "ES",
    "postcode": "28012",
    "price": 500,
    "tax_rate": 2100,
    "name": "Planet Express",
    "discount": 100
  }
}]
Parámetro Tipo Requerido Descripción
:orderId string si id del pedido
id string si id del pedido
amount decimal si Importe del pedido
due decimal no Importe total del pedido
status string si Estado del pedido; Las opciones son pending, cancelled, processing y complete
type string si Tipo de pedido
order_date string si Fecha del pedido
currency ISO 4217 si Código de la moneda del pedido
billing object no Dirección de facturación.
shipping object no Información de envío.

Respuesta

HTTP/1.1 204 No Content
X-Aplazame-Media-Type: aplazame.v1