# Oca

# 1. Generar envío

POST /api/shipping/create

El método permite generar un envío.

# provider_data

  • provider: (Tipo de dato: string). Oca. Campo obligatorio.

  • CONTRATO_DOMICILIO: (Tipo de dato: string). Id operativa para domicilio. Campo obligatorio.

  • CONTRATO_SUCURSAL: (Tipo de dato: string). Id operativa para sucursal. Campo obligatorio.

Referencias de Id operativas:

Puerta a Puerta: 64665 Puerta a Sucursal: 62342 Sucursal a Puerta: 94584 Sucursal a Sucursal: 78254 Logística Inversa Puerta a Puerta: 260708 Logística Inversa Sucursal a Puerta: 260709

  • CODIGO_CLIENTE: (Tipo de dato: string). Número de cuenta provisto por Oca. Campo obligatorio.

  • USER: (Tipo de dato: string). Usuario. Campo obligatorio.

  • PASS: (Tipo de dato: string). Contraseña. Campo obligatorio.

# shippment_data

  • origen.postal.calle: (Tipo de dato: String). Campo obligatorio.

  • origen.postal.numero: (Tipo de dato: String). Campo obligatorio.

  • origen.postal.piso: (Tipo de dato: String). Campo obligatorio.

  • origen.postal.departamento: (Tipo de dato: String). Campo obligatorio.

  • origen.postal.localidad: (Tipo de dato: String). Campo obligatorio.

  • origen.postal.region: (Tipo de dato: String). Campo obligatorio.

  • origen.postal.codigoPostal: (Tipo de dato: String). Campo obligatorio.

  • origen.postal.firstName: (Tipo de dato: String). Primer nombre. Campo obligatorio.

  • origen.postal.lastName:(Tipo de dato: String). Apellido. Campo obligatorio.

  • origen.message: (Tipo de dato: String) Mensaje particular para dejar en ese destino. 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 obligatorio.

  • destino.postal.departamento: (Tipo de dato: String). Campo obligatorio.

  • destino.postal.localidad: (Tipo de dato: String). Campo obligatorio.

  • destino.postal.region: (Tipo de dato: String). Campo obligatorio.

  • destino.postal.codigoPostal: (Tipo de dato: String). Campo obligatorio.

  • destino.postal.firstName: (Tipo de dato: String). Primer nombre. Campo obligatorio.

  • destino.postal.lastName: (Tipo de dato: String). Apellido. Campo obligatorio.

  • tipoServicio: (Tipo de dato: String). Sucursal o Domicilio. Campo obligatorio.

  • idCliente: (Tipo de dato: String). Número de orden. Campo obligatorio.

  • type: (Tipo de dato: String). Si el envío es devolución desde sucursal, agregar "return". Campo obligatorio para Logística Inversa sucursal-puerta.

{
    "provider_data": {
        "provider": "Oca",
        "CONTRATO_DOMICILIO": "64665", 
        "CONTRATO_SUCURSAL": "78254",
        "CODIGO_CLIENTE": "111757/001", 
        "USER": "test@oca.com.ar",
        "PASS": "123456"
    },
    "shippment_data": {
        "origen": {
            "message": "",
            "postal": {
                "codigoPostal": "1407",
                "calle": "Cortina",
                "numero": "120",
                "piso": "2",
                "departamento": "C",
                "localidad": "CABA",
                "region": "CABA",
                "pais": "Argentina",
                "entreCalle": ""
            }
        },
        "scheduledDate": "",
        "internalCode": "",
        "comments": "",
        "description": "",
        "fecha_alta": "",
        "tipoServicio": "Domicilio",
        "tipo_paquete": "",
        "id_externo": "",
        "modalidad_envio": "",                      
        "direccion_envio":"",                                                       
        "correo": "", 
        "currency": "ARS", 
        "type": "return",
        "flow": "manual",
        "destino": {
            "message": "",
            "sucursal": {
                "id": "133"
            },
            "postal": {
                "codigoPostal": "1025",
                "calle": "Av Callao",
                "numero": "1756",
                "piso": "2",
                "departamento": "C",
                "localidad": "CABA",
                "region": "CABA",
                "pais": "Argentina",
                "entreCalle": "",
                "lastName": "Gonzalez",
                "firstName": "Juana"
            }
        },
        "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": "",
        "bultos": {
            "kilos": "",
            "largoCm": "",
            "altoCm": "",
            "anchoCm": "",
            "volumenCm": "",
            "valorDeclaradoSinImpuestos": "",
            "valorDeclaradoConImpuestos": "",
            "detalle": "",
            "idCliente": "5432"
        }
    }
}

RESPONSE

{
    "response": "Success",
    "providerStatus": "Creado",
    "numeroDeEnvio": "1217400000000078813",
    "ordenRetiro": "20583257",
    "sucursalDeDistribucion": {
        "id": "",
        "descripcion": ""
    },
    "sucursalDeRendicion": "",
    "sucursalDeImposicion": "",
    "numeroDePermisionaria": "",
    "descripcionServicio": "",
    "etiqueta": ""
}

# 2. Obtener etiqueta

GET /api/shipping/etiqueta/:id

El método devuelve el pdf de la etiqueta de envío.

REQUEST

  • id: Número de envío. Va en el id de la url como ruta parametrizada. Campo obligatorio.

Todos estos campos van en el header:

  • provider: Oca.

  • orderRetiro: Order de retiro devuelta al generar el envío. Campo obligatorio.

  • inversa: . Campo obligatorio.


provider: Oca
orderRetiro: "20583257"
inversa: ""

RESPONSE

Devuelve la etiqueta en formato pdf.

# 3. Listar sucursales

GET /api/subsidiary

Devuelve una lista de sucursales ingresando un cp.

REQUEST

En el header.

  • provider: Oca.

Como query string (api/subsidiary?province=1)

  • cp: código postal.

RESPONSE

Devuelve un array de sucursales. Allí se puede obtener el id cada sucursal.

{
    "CentrosDeImposicion": {
        "Centro": [
            {
                "IdCentroImposicion": "9",
                "Sigla": "CI4",
                "Sucursal": "SUCURSAL OCA - VIAMONTE",
                "Calle": "VIAMONTE",
                "Numero": "526",
                "Torre": "",
                "Piso": "",
                "Depto": "",
                "Localidad": "CAPITAL FEDERAL",
                "CodigoPostal": "1053",
                "Provincia": "CAPITAL FEDERAL",
                "Telefono": "4311-5305",
                "Latitud": "-34.59983463",
                "Longitud": "-58.3744492",
                "TipoAgencia": "Sucursal OCA",
                "HorarioAtencion": "LUN a VIE de 08:30 a 18:00",
                "SucursalOCA": "CI4",
                "Servicios": {
                    "Servicio": [
                        {
                            "IdTipoServicio": "1",
                            "ServicioDesc": "Admisión de paquetes"
                        },
                        {
                            "IdTipoServicio": "2",
                            "ServicioDesc": "Entrega de paquetes"
                        },
                        {
                            "IdTipoServicio": "3",
                            "ServicioDesc": "Venta Estampillas"
                        }
                    ]
                }
            },
            {
                "IdCentroImposicion": "770",
                "Sigla": "E69",
                "Sucursal": "AGENTE OFICIAL: LAURA SILVINA BIDERMAN",
                "Calle": "AV. JUAN DE GARAY",
                "Numero": "3087",
                "Torre": "",
                "Piso": "",
                "Depto": "",
                "Localidad": "CAPITAL FEDERAL",
                "CodigoPostal": "1231",
                "Provincia": "CAPITAL FEDERAL",
                "Telefono": "15-5185-8279",
                "Latitud": "-34.6293154",
                "Longitud": "-58.4081239",
                "TipoAgencia": "Agente Oficial",
                "HorarioAtencion": "LUN a VIE de 09:00 a 18:00",
                "SucursalOCA": "E69",
                "Servicios": {
                    "Servicio": {
                        "IdTipoServicio": "1",
                        "ServicioDesc": "Admisión de paquetes"
                    }
                }
            },
            {
                "IdCentroImposicion": "772",
                "Sigla": "E71",
                "Sucursal": "AGENTE OFICIAL: MAXIMILIANO LONGO",
                "Calle": "AV. SAN JUAN",
                "Numero": "4172",
                "Torre": "",
                "Piso": "",
                "Depto": "",
                "Localidad": "CAPITAL FEDERAL",
                "CodigoPostal": "1233",
                "Provincia": "CAPITAL FEDERAL",
                "Telefono": "4922-1317",
                "Latitud": "-34.626361",
                "Longitud": "-58.423772",
                "TipoAgencia": "Agente Oficial",
                "HorarioAtencion": "LUN a VIE de 09:00 a 18:00",
                "SucursalOCA": "E71",
                "Servicios": {
                    "Servicio": {
                        "IdTipoServicio": "1",
                        "ServicioDesc": "Admisión de paquetes"
                    }
                }
            },
            {
                "IdCentroImposicion": "854",
                "Sigla": "F09",
                "Sucursal": "AGENTE OFICIAL: CHRISTIAN RODOLFO ALBERTO PRIOLO",
                "Calle": "AV. DEL BARCO CENTENERA",
                "Numero": "2151",
                "Torre": "",
                "Piso": "",
                "Depto": "",
                "Localidad": "CAPITAL FEDERAL",
                "CodigoPostal": "1437",
                "Provincia": "CAPITAL FEDERAL",
                "Telefono": "4922-8323",
                "Latitud": "-34.6436488",
                "Longitud": "-58.4323649",
                "TipoAgencia": "Agente Oficial",
                "HorarioAtencion": "LUN a VIE de 09:00 a 21:30",
                "SucursalOCA": "F09",
                "Servicios": {
                    "Servicio": {
                        "IdTipoServicio": "1",
                        "ServicioDesc": "Admisión de paquetes"
                    }
                }
            },
            {
                "IdCentroImposicion": "859",
                "Sigla": "F14",
                "Sucursal": "AGENTE OFICIAL: LIBRERÍA COLORES",
                "Calle": "AV. LA PLATA",
                "Numero": "1045",
                "Torre": "",
                "Piso": "",
                "Depto": "",
                "Localidad": "CAPITAL FEDERAL",
                "CodigoPostal": "1250",
                "Provincia": "CAPITAL FEDERAL",
                "Telefono": "4922-7455",
                "Latitud": "-34.627501",
                "Longitud": "-58.426685",
                "TipoAgencia": "Agente Oficial",
                "HorarioAtencion": "LUN a VIE de 09:00 a 18:00",
                "SucursalOCA": "F14",
                "Servicios": {
                    "Servicio": {
                        "IdTipoServicio": "1",
                        "ServicioDesc": "Admisión de paquetes"
                    }
                }
            },
            {
                "IdCentroImposicion": "1727",
                "Sigla": "ABW",
                "Sucursal": "SUCURSAL OCA - ALMIRANTE BROWN",
                "Calle": "ALMIRANTE BROWN",
                "Numero": "1100",
                "Torre": "",
                "Piso": "",
                "Depto": "",
                "Localidad": "CAPITAL FEDERAL",
                "CodigoPostal": "1166",
                "Provincia": "CAPITAL FEDERAL",
                "Telefono": "",
                "Latitud": "-34.6343411437663",
                "Longitud": "-58.3592732392868",
                "TipoAgencia": "Sucursal OCA",
                "HorarioAtencion": "LUN a VIE de 08:30 a 18:00",
                "SucursalOCA": "ABW",
                "Servicios": {
                    "Servicio": [
                        {
                            "IdTipoServicio": "1",
                            "ServicioDesc": "Admisión de paquetes"
                        },
                        {
                            "IdTipoServicio": "2",
                            "ServicioDesc": "Entrega de paquetes"
                        },
                        {
                            "IdTipoServicio": "3",
                            "ServicioDesc": "Venta Estampillas"
                        }
                    ]
                }
            }
        ]
    }
}

# 4. Obtener tracking (estado de envío)

GET /api/shipping/:id

Este método devuelve el estado del envío.

REQUEST

  • id: Número de envío. Va en el id de la url como ruta parametrizada. Campo obligatorio.

Estos campos van en el header:

  • provider: Oca. Campo obligatorio.

  • ordenRetiro: OrdenRetiro devuelta al generar un envío. Campo obligatorio.

provider: Oca
ordenRetiro: 20603822

RESPONSE

  • providerStatus: Estado del envío.
{
    "response": "Success",
    "providerStatus": "En proceso de Retiro",
    "ordenRetiro": "20603822",
    "sucursalDeDistribucion": {
        "sucursalActual": "PLANTA VELEZ SARSFIELD"
    },
    "sucursalDeRendicion": "",
    "sucursalDeImposicion": "",
    "numeroDePermisionaria": "",
    "descripcionServicio": "",
    "etiqueta": ""
}