Crear una devolución

El endpoint de creación de una devolución nos permite crear la devolución, indicando todo el detalle del mismo y su contenido.

En cada creación, se deberá indicar la cuenta, valor declarado del envío y detalle de paquetes e items que se devolverán. También se indicará el service_type, logistic_type que deben haber sido obtenidos previamente de una cotización.

El Request

Al hacer el request hay algunas particularidades con respecto a la definición de los paquetes e items que los componen que serán devueltos.

Particularidades en la definición de paquetes a devolver

En caso de no indicar el array de  packages con los paquetes que contendrá la devolución. El sistema interpreta que se devolverán todos los paquetes del envío con todos sus items definidos. Si el array de paquetes esta definido solo se creará la devolución de los paquetes que contenga dicho array.

Particularidades en la definición de items a devolver

Para cada paquete que se indique en el array de paquetes se deberá indicar que items se devolverán. En caso de no indicar el array de  items con los items que contendrán los paquetes de la devolución. El sistema interpreta que se devolverán todos los items del paquete indicado. Si el array de items esta definido dentro de un paquete solo se creará la devolución de los items que contenga dicho array.


POST /shipments/{id}/return
Parámetros para la URL:
id int ID de un envío
sort_by string Opcional. Para indicar el ordenamiento de los resultados. Opciones:
price Ordena por menor a mayor precio
rating Ordena por mejor a peor nivel de servicio
time Ordena por menor a mayor tiempo de entrega
Parámetros para el body:
account_id int ID de la cuenta
declared_value decimal Valor declarado del envío Ej: 200.50
service_type string Código del tipo de servicio (sale de la cotización) Ej. return_origin
logistic_type string Código del modo de despacho (sale de la cotización) Ej. carrier_dropoff
carrier_id int OPcional. Para indicar con qué transporte crear la devolución (sale de la cotización).
packages Opcional. Array de Packages (objetos). Para especificar los paquetes a devolver del envío.
ID int Identificador de un paquete.
items Opcional. Array de Items (objetos). Para especificar los items a devolver de un paquete.
ID int Identificador de un item de un paquete.


Ejemplo usando la variante de items sueltos:

POST https://api.zippin.com.ar/v2/shipments

{
	"account_id": "2",
	"declared_value": 9015,
  "service_type": "return_origin",
  "logistic_type": "carrier_dropoff",
	"packages": [
		{
			"id": 76524,
		},
		{
			"id": 76525,
      "items":[
      {
        "id": 986,
      },
      {
        "id": 987,
      }
		}
	],
}

RESPONSE 201
{
  "id": 151060,
  "external_id": "testcosts",
  "delivery_id": "0999-00151060",
  "carrier_tracking_id": null,
  "created_at": "2020-06-09T15:19:07+0000",
  "account_id": 2,
  "parent_shipment_id": null,
  "logistic_type": "carrier_dropoff",
  "service_type": "return_origin",
  "carrier": {
    "id": 8,
    "name": "La Sevillanita",
    "logo": "https:\/\/zippin-ar.s3.amazonaws.com\/carriers\/la-sevillanita\/Kt4qo3TsENegNCCnrW70OxQhBqbo7uyfemNRT5bH.png"
  },
  "status": "new",
  "status_name": "Procesando",
  "tracking": "http:\/\/app.zippin.com.ar\/track\/151060",
  "tracking_external": "http:\/\/app.zippin.com.ar\/track\/2\/testcosts",
  "destination": {
    "name": "TEST",
    "document": "3333",
    "street": "TEST",
    "street_number": "222",
    "street_extras": "TEST",
    "city": "Salta",
    "state": "Salta",
    "zipcode": "4400",
    "phone": "00000",
    "email": "TEST@test.com"
  },
  "origin": {
    "id": 25,
    "name": "Origen Demo",
    "document": "22222222",
    "street": "Av Luis Maria Campos",
    "street_number": "877",
    "street_extras": "PRUEBA",
    "city": "Capital Federal",
    "state": "Capital Federal",
    "zipcode": "1005",
    "phone": "22222222",
    "email": "demo@zippin.com.ar"
  },
  "declared_value": 9015,
  "price": 869.42,
  "price_incl_tax": 1052,
  "total_weight": 1100,
  "total_volume": 4080,
  "packages": [
  {
    "internal_id": 76524,
    "sku_id": null,
    "weight": 1100,
    "height": 12,
    "width": 20,
    "length": 17,
    "volume": 4080,
    "description_1": "1 producto",
    "description_2": "Test 1",
    "description_3": null,
    "classification": {
      "id": 1,
      "name": "General"
    },
    "items": [
      {
        "sku": null,
        "description": "985",
        "must_keep_vertical": 0,
        "weight": 500,
        "width": 8,
        "length": 8,
        "height": 8,
        "pos_x": 0,
        "pos_y": 0,
        "pos_z": 0
      }
    ],
    "container": null,
    {
      "internal_id": 76525,
      "sku_id": null,
      "weight": 1100,
      "height": 12,
      "width": 20,
      "length": 17,
      "volume": 4080,
      "description_1": "2 productos",
      "description_2": "Test 1",
      "description_3": null,
      "classification": {
        "id": 1,
        "name": "General"
      },
      "items": [
        {
          "sku": null,
          "description": "986",
          "must_keep_vertical": 0,
          "weight": 500,
          "width": 8,
          "length": 8,
          "height": 8,
          "pos_x": 0,
          "pos_y": 0,
          "pos_z": 0
        },
        {
          "sku": null,
          "description": "987",
          "must_keep_vertical": 0,
          "weight": 500,
          "width": 8,
          "length": 8,
          "height": 8,
          "pos_x": 8,
          "pos_y": 0,
          "pos_z": 0
        }
      ],
      "container": {
        "id": 1,
        "description": "Test 1",
        "outer_width": 20,
        "outer_height": 12,
        "outer_length": 17,
        "inner_width": 19,
        "inner_length": 16,
        "inner_height": 11,
        "max_weight": 5000
      }
    }
  ],
  "tags": []
}