Realizá un envío

Antes de realizar tu primer envío es necesario comprender como se estructura la información de envíos en EnvioPack.

EnvioPack maneja dos entidades principales:

Pedido

Es la entidad que representa al pedido u orden en tu aplicación. Tiene los datos básicos para poder identificar un pedido de tu plataforma en EnvioPack.

Envío

Es la entidad que representa al envío físico de tu pedido. De hecho todo envío debe estar asociado a un pedido.

Tal como sucede en la realidad, un pedido puede tener uno o mas envíos asociados: envío inicial, reintento de envío, devolución, etc. Cada uno de estos representa un envío real por parte del correo, y de la misma manera tiene su representación en EnvioPack.

Crear un pedido

POST /pedidos

Crea un nuevo pedido en EnvioPack.

Listado de parámetros

Parámetro ¿Es Obligatorio? Tipo de Dato Observaciones
id_externo String Máx. 30 caracteres
nombre String Máx. 30 caracteres
apellido String Máx. 30 caracteres
email String Máx. 100 caracteres
telefono No String Máx. 30 caracteres
celular No String Máx. 30 caracteres
monto Numero Hasta 2 dígitos decimales
fecha_alta Fecha Ej. 2016-04-26T13:52:00-0300
pagado Booleano Recordá que Booleano no es String
provincia No ID Deberá informarse el valor ID devuelto por el webservice de provincias. Los IDs de provincias están bajo el estándar ISO_3166-2:AR sin el prefijo AR-.
localidad No String Máx. 50 caracteres

Ejemplo

REQUEST

curl -X POST \
	'https://api.enviopack.com/pedidos?access_token=[TU_ACCESS_TOKEN]' \
	  --data-binary '
	  {
	  	"id_externo":"00001",
	  	"nombre":"Juan",
	  	"apellido":"Perez",
	  	"email":"juanperez@gmail.com",
	  	"telefono":"011 4965-1453",
	  	"celular":"011 15 5848 1533",
	  	"monto": 1234.50,
	  	"fecha_alta":"2016-04-26T13:52:00-0300",
	  	"pagado": true,
	  	"provincia":"C",
	  	"localidad":"CABA"
  	  }'
RESPONSE

{
	"id_provincia":"C",
	"id":352,
	"plataforma":{
		"id":"web",
		"nombre":"Web"
	},
	"id_externo":"00001",
	"nombre":"Juan",
	"apellido":"Perez",
	"email":"juanperez@gmail.com",
	"telefono":"011 4965-1453",
	"celular":"011 15 5848 1533",
	"localidad":"CABA",
	"monto":1234.5,
	"fecha_alta":"2016-04-26T13:52:00-0300",
	"pagado":true,
	"ultimo_envio":null
}

Crear un envío

POST /envios

Antes de crear tu primer envío es importante comprender los distintos estados del mismo.

Estado Identificador Observaciones
Borrador B Es aquel envío no confirmado, dado que aun no tiene sus datos completos.
Por Confirmar C Es aquel envío no confirmado, que tiene todos sus datos completos menos la selección de servicio y correo a utilizar.
En Proceso E Es aquel envío confirmado, que esta en camino a ser informado al correo.
Procesado P Es aquel que ya fue informado al correo y tiene la etiqueta lista para ser impresa.

Tené en cuenta que tus envíos no tienen que pasar obligatoriamente por cada uno de los estados.
Eso dependerá de tu operatoria.

Por ejemplo:

  • - Podes crear un envío sin confirmar y con datos faltantes, el cual se posicionara en estado "Borrador"
  • - Podes crear un envío sin confirmar, con todos los datos completos menos la selección de servicio y correo a utilizar, lo que hará que directamente se cree con estado "Por Confirmar"
  • - Podes crear un envío con todos su datos completos y confirmado, lo que hará que directamente se cree con estado "En Proceso"

En todos los casos el estado final "Procesado" se alcanza una vez que se recibe la confirmación final por parte del correo y es informado por EnvioPack a través de nuestro sistema de Notificaciones (Webhooks).

Por ultimo, recordá que podes crear un nuevo envío asociado a un pedido siempre y cuando dicho pedido no tenga envíos asociados o todos sus envíos estén en estado Procesado".

Listado de parámetros

Los parámetros marcados como "Condicional son aquellos que solo son obligatorios cuando el valor del parámetro "confirmado" es true.

Parámetro ¿Es Obligatorio? Tipo de Dato Observaciones
pedido ID ID del pedido al que corresponde este envío
direccion_envio Condicional ID ID que identifica la dirección, por donde el correo pasara a retirar la mercadería a enviar.
Podes obtenerlo ingresando en Configuración / Mis Direcciones
destinatario Condicional String Máx. 50 caracteres
observaciones No String
usa_seguro No Booleano Recordá que Booleano no es String.
Si completas este campo con null o no lo envias en el request se completara automaticamente según el modo de seguro elegido en tus preferencias
confirmado Booleano Recordá que Booleano no es String.
paquetes Condicional Array El valor esperado es un array JSON, donde cada posición del array debe contener un objeto JSON formado por:
  • - alto: en cm. y sin dígitos decimales
  • - ancho: en cm. y sin dígitos decimales
  • - largo: en cm. y sin dígitos decimales
  • - peso: en kg. y con hasta 2 dígitos decimales
  • - descripcion_primera_linea: String (Máx. 50 caracteres)
  • - descripcion_segunda_linea: String (Máx. 50 caracteres)
despacho Condicional String Indica si el operador logistico debe retirar el paquete por el deposito del vendedor o si el vendedor lo va a acercar a una sucursal.
Los valores posibles son:
- D: retiro por domicilio
- S: despacho desde sucursal
modalidad String Los valores posibles son:
- D: para envíos a domicilio
- S: para envíos a sucursal
servicio Condicional String Los valores posibles son:
- N: para el servicio estándar
- P: para el servicio prioritario
- X: para el servicio express
- R: para el servicio de devoluciones
Si el envío es a domicilio
correo Condicional ID Deberá informarse el valor ID devuelto por el webservice de correos.
Por ejemplo para FastMail su ID es fastmail.
calle Condicional String Máx. 30 caracteres
numero Condicional String Máx. 5 caracteres
piso No String Máx. 6 caracteres
depto No String Máx. 4 caracteres
referencia_domicilio No String Máx. 30 caracteres
codigo_postal Condicional Numero Entero de 4 dígitos
provincia Condicional ID Deberá informarse el valor ID devuelto por el webservice de provincias. Los IDs de provincias están bajo el estándar ISO_3166-2:AR sin el prefijo AR-.
localidad Condicional String Máx. 50 caracteres
Si el envío es a sucursal
sucursal Condicional ID Deberá informarse el valor ID devuelto por el webservice de sucursales.

Ejemplo

REQUEST

curl -X POST \
	'https://api.enviopack.com/envios?access_token=[TU_ACCESS_TOKEN]' \
	  --data-binary '
		{
			"pedido":353,
			"direccion_envio":1,
			"destinatario":"Juan Perez",
			"observaciones":"Timbre 5 - 3 - Campana",
			"modalidad":"D",
			"servicio":null,
			"correo":null,
			"confirmado":false,
			"paquetes": [
				{"alto":52,"ancho":42,"largo":3,"peso":2},
				{"alto":52,"ancho":42,"largo":4,"peso":2.5}
			],
			"calle":"Ambrosetti",
			"numero":"435",
			"piso":"5",
			"depto":"C",
			"codigo_postal":"1405",
			"provincia":"C",
			"localidad":"Caballito"
		}'
RESPONSE

{
	"id":358,
	"pedido":353,
	"direccion_envio":1,
	"destinatario":"Juan Perez",
	"modalidad":"D",
	"calle":"Ambrosetti",
	"numero":"435",
	"piso":"5",
	"depto":"C",
	"codigo_postal":"1405",
	"referencia_domicilio": null,
	"provincia":"C",
	"localidad":"Caballito"
	"paquetes":[
		{"alto":52,"ancho":42,"largo":3,"peso":2},
		{"alto":52,"ancho":42,"largo":4,"peso":2.5}
	],
	"observaciones":"Timbre 5 - 3 - Campana",
	"correo":null,
	"servicio":null,	
	"confirmado":false,
	"fecha_solicitud":"2016-04-23T21:28:37-0300",
	"fecha_aceptacion":null,
	"tracking_number":null,
	"peso_aforado":4.5,
	"estado":"C",
	"costo_envio": null,
	"costo_seguro": null,
	"costo":null,
	"condicion": "R",
}