#
Urbano
#
1. Cotizar envío
POST /api/shipping/price
Devuelve un array con los servicios disponibles.
REQUEST
#
provider_data
provider: (Tipo de dato: string). Nombre del OOLL ("Urbano"). Campo obligatorio
USER: (Tipo de dato: string). Usuario provisto por Urbano. Campo obligatorio.
PASS: (Tipo de dato: string). Password provisto por Urbano. Campo obligatorio.
#
shippment_data
destino.postal.codigoPostal: (Tipo de dato: string). Código postal de destino. Campo obligatorio
bultos.kilos: (Tipo de dato: float). Peso del paquete en kilogramos, separado por punto. Campo obligatorio
bultos.largoCm: (Tipo de dato: float). Largo del paquete en centímetros, separado por punto. Campo obligatorio
bultos.anchoCm:(Tipo de dato: float). Ancho del paquete en centímetros, separado por punto. Campo obligatorio
bultos.altoCm: (Tipo de dato: float). Alto del paquete en centímetros, separado por punto. Campo obligatorio
{
"provider_data":{
"provider": "Urbano",
"USER": "671",
"PASS": "LjF4hrN54zSAEgdhr8xr"
},
"shippment_data": {
"origen": {
"postal": {
"codigoPostal": ""
}
},
"destino":{
"postal": {
"codigoPostal": "1191"
}
},
"id_externo": "",
"fecha_alta": "",
"modalidad_envio":"",
"currency": "",
"type": "",
"productoAEntregar": "",
"bultos": {
"kilos": "1.5" ,
"largoCm": "1",
"altoCm": "1",
"anchoCm": "1",
"volumenCm": "1.5",
"valorDeclaradoConImpuestos": "",
"detalle": ""
}
}
}
RESPONSE
costo: Costo del envío.
pesoDelEnvio: Peso total ingresado en la cotización.
{
"costo": "352.81",
"pesoDelEnvio": "1.5"
}
#
2. Listar sucursales
GET /api/subsidiary
El método devuelve un listado de las sucursales.
REQUEST
Los campos van en el header.
provider: urbano.
user: (Tipo de dato: string). Usuario. Campo obligatorio.
pass: (Tipo de dato: string). Password. Campo obligatorio.
calle: (Tipo de dato: string). Nombre de la calle. Campo obligatorio.
altura: (Tipo de dato: string). Número de domicilio. Campo obligatorio.
codigoPostal: (Tipo de dato: string). Campo obligatorio.
localidad: (Tipo de dato: string). Campo obligatorio.
provider: Urbano
user: 671
pass: LjF4hrN54zSAEgdhr8xr
calle: Humahuaca
altura: 3555
codigoPostal: 1191
localidad: CABA
RESPONSE
Devuelve un array de las sucursales disponibles para enviar el pedido.
codError: El valor 0 indica que la solicitud se procesó exitosamente.
data: Array que contiene todas las sucursales.
data[].codigo: Código de sucursal que se deberá ingresar en el campo "localidad" al generar un envío si "modalidad_envio" es retiro en sucursal (F).
[
{
"codError": 0,
"descError": "success",
"resultado": "success",
"data": [
{
"latitud": "-34.617236",
"longitud": "-58.445216",
"nombre": "E-LOCKER CABALLITO I",
"direccion": "AVELLANEDA 1034",
"telefono": "",
"codigo": "ECA",
"entrecalles": "",
"codigoPostal": "1405",
"municipalidad": "",
"localidad": "CIUDAD AUTONOMA BUENOS AIRES",
"provincia": "",
"elockers": "1",
"distancia": "0.33"
}
]
}
]
#
3. Generar Envío / Logística inversa
POST /api/shipping/create
El método permite generar un envío.
REQUEST
#
provider_data
provider: (Tipo de dato: string). Nombre del OOLL (Urbano). Campo obligatorio.
USER: (Tipo de dato: string). Usuario provisto por Urbano. Campo obligatorio.
PASS: (Tipo de dato: string). Password provisto por Urbano. Campo obligatorio.
#
shippment_data
destino.sucursal.id: (Tipo de dato: string). Si el pedido es con retiro en sucursal (modalidad_envio: F o G) debemos especificar el codigo de sucursal en este campo (Ej:G23). Campo obligatorio.
destino.postal.calle: (Tipo de dato: string). Campo obligatorio.
destino.postal.numero:(Tipo de dato: string). Campo obligatorio.
destino.postal.piso:(Tipo de dato: string). Campo opcional.
destino.postal.depto:(Tipo de dato: string). Campo opcional.
destino.postal.localidad: (Tipo de dato: string). Nombre de la ciudad de destino (Ej: Olivos). Campo obligatorio.
destino.postal.region: (Tipo de dato: string). Provincia a la cual pertenece la ciudad de destino (Ej: Buenos Aires). Campo obligatorio.
destino.postal.codigoPostal: (Tipo de dato: string). Código Postal de la ciudad de destino. Campo obligatorio.
destinatario.nombreCompleto: (Tipo de dato: string). Campo obligatorio.
destinatario.documentoNumero: (Tipo de dato: string). Campo obligatorio.
destinatario.email:(Tipo de dato: string). Campo obligatorio.
destinatario.telefonos: (Tipo de dato: string). Campo obligatorio.
items: (Tipo de dato: array). Campo obligatorio.
items.cantidad: (Tipo de dato: string). Cantidad de un mismo producto. Campo obligatorio.
items.kilos: (Tipo de dato: string). Peso en gramos. Campo obligatorio.
items.altoCm: (Tipo de dato: string). Altura en mts. Campo obligatorio.
items.anchoCm: (Tipo de dato: string). Ancho en mts. Campo obligatorio.
items.largoCm: (Tipo de dato: string). Largo en mts. Campo obligatorio.
items.valorDeclaradoConImpuestos: (Tipo de dato: string). Valor del producto. Campo obligatorio.
items.valorContraReembolso: (Tipo de dato: string). En el caso que la modalidad_envio sea contra reembolso (B o G) se deberá enviar en este campo el importe a pagar. Campo obligatorio.
items.sku: (Tipo de dato: string). Sku del producto. Campo obligatorio.
items.descripcion: (Tipo de dato: string). Título del producto. Campo obligatorio.
id_externo: (Tipo de dato: string). Código con el que se identificará el envío a posterioridad. El máximo permitido son 16 caracteres y no se puede repetir. Campo obligatorio.
modalidad_envio: (Tipo de dato: string) Tipo de servicio. Campo obligatorio. Opciones:
- E : entrega
- R : retiro
- C : Cambio mano a mano
- F : retiro en sucursal
- G : retiro en sucursal contra reembolso
Nota: Para logística inversa de debe utilizar retiro (R).
{
"provider_data": {
"provider": "Urbano",
"USER": "671",
"PASS": "MPzQG6%jfN%-#tsb=CUj"
},
"shippment_data": {
"origen": {
"postal": {
"codigoPostal": "",
"calle": "",
"numero": "",
"piso": "",
"departamento": "",
"localidad": "",
"region": "",
"pais": "",
"entreCalle": ""
}
},
"fecha_alta": "",
"tipoServicio": "",
"tipo_paquete": "",
"id_externo": "HER-543218997",
"modalidad_envio": "R",
"direccion_envio":"",
"correo": "",
"currency": "",
"type": "",
"flow": "",
"destino": {
"sucursal": {
"id": "GD5"
},
"postal": {
"codigoPostal": "1001",
"calle": "Av Callao",
"numero": "1756",
"piso": "2",
"departamento": "C",
"localidad": "GD5",
"region": "Buenos Aires",
"pais": "Argentina",
"entreCalle": ""
}
},
"remitente": {
"nombreCompleto": "Alberto Lopez",
"email": "remitente@andreani.com",
"documentoTipo": "DNI",
"documentoNumero": "33111222",
"telefonos": "113332244"
},
"destinatario": {
"nombreCompleto": "Juana Gonzalez",
"email": "destinatario@andreani.com",
"documentoTipo": "DNI",
"documentoNumero": "33999888",
"telefonos": "1112345678"
},
"productoAEntregar": "6000",
"bultos": {
"cantidad": 1,
"kilos": "50",
"largoCm": "30",
"altoCm": "40",
"anchoCm": "10",
"volumenCm": "",
"valorDeclaradoSinImpuestos": "",
"valorDeclaradoConImpuestos": "",
"detalle": "producto",
"idCliente": ""
}
}
}
RESPONSE
- numeroDeEnvio: Número de orden. Se utiliza para la obtención de etiqueta y el tracking (Estado de envío).
{
"response": "Success",
"providerStatus": "Creado",
"numeroDeEnvio": "HER-5432180",
"sucursalDeDistribucion": {
"id": null,
"descripcion": ""
},
"sucursalDeRendicion": null,
"sucursalDeImposicion": null,
"numeroDePermisionaria": null,
"descripcionServicio": "",
"etiqueta": ""
}
#
4. Cancelar envío
GET /api/shipping/cancel/:id
MÉTODO NO DISPONIBLE POR EL MOMENTO
El método permite cancelar un envío, pero debe ser utilizado inmediatamente después de generado el envío correspondiente. Después de pasado cierto tiempo (no precisado) el método no tendrá efecto.
REQUEST
- id: Número de envío obtenido en "Generar envío". Va en el id de la url como ruta parametrizada. Campo obligatorio.
Todos estos campos van en el header:
provider: Nombre del OOLL (Urbano). Campo obligatorio.
user: (Tipo de dato: string). Usuario. Campo obligatorio.
pass: (Tipo de dato: string). Password. Campo obligatorio.
provider: Urbano
user: 671
pass: LjF4hrN54zSAEgdhr8xr
RESPONSE
- success: Si el valor es true indica que la cancelación fue exitosa.
{
"success": true,
"message": "Product Physical state on Urbano for HER-5432180",
"code": 200,
"data": {
"avalibleForCancel": true,
"weHaveTheProduct": false
}
}
#
5. Obtener etiqueta
GET /api/shipping/etiqueta/:id
Se emplea para rastrear obtener la url de la etiqueta.
REQUEST
- id: Número de envío obtenido en "Generar envío". Va en el id de la url como ruta parametrizada. Campo obligatorio.
Todos estos campos van en el header:
provider: Nombre del OOLL (Webpack). Campo obligatorio.
user: (Tipo de dato: string). Usuario. Campo obligatorio.
pass: (Tipo de dato: string). Password. Campo obligatorio.
format: (Tipo de dato: string). Formatos de etiqueta. Los valores posibles son: A4, Z10X10, Z10X6. Campo obligatorio.
provider: Urbano
user: 671
pass: LjF4hrN54zSAEgdhr8xr
format:A4
RESPONSE
Devuelve la url de la etiqueta.
#
6. Obtener tracking (Estado de envío)
GET /api/shipping/:id
Se emplea para rastrear el envío y obtener su status.
REQUEST
- id: Número de envío obtenido en "Generar envío". Va en el id de la url como ruta parametrizada. Campo obligatorio.
Todos estos campos van en el header:
provider: Nombre del OOLL (Urbano). Campo obligatorio.
user: (Tipo de dato: string). Usuario. Campo obligatorio.
pass: (Tipo de dato: string). Password. Campo obligatorio.
provider: Urbano
user: 671
pass: LjF4hrN54zSAEgdhr8xr
RESPONSE
providerStatus: Código del estado del envío. Valores posibles:
- PI: PEDIDO INGRESADO
- AS: DESPACHO SUCURSAL
- LD: SALIDA A RUTA
- DL: ENTREGA EFECTIVA
descripcionServicio: Especifica el código de estado de envío.
url: Url donde se puede consultar el estado actual del envío y los estados históricos.
{
"response": "Success",
"providerStatus": "PI",
"numeroDeEnvio": "HER-5432184",
"sucursalDeDistribucion": {
"id": null,
"descripcion": null
},
"sucursalDeRendicion": null,
"sucursalDeImposicion": null,
"numeroDePermisionaria": null,
"descripcionServicio": "Recibimos la informacion de su pedido ",
"url": "https://desarrollo.urbano.com.ar/urbano3/wbs/cespecifica/?tracking=000671HER-5432184"
}