Documentacion

Conectividad

1. POST y Json

Todas las comunicaciones entre el api y el cliente deben ser a traves de cadenas con formato JSON, enviadas a travez de un post

Sandbox y Producción

Llaves

Se brindarán dos llaves, una llave publica, que se usará para realizar pruebas en sandbox, y otra llave privada que se usara para hacer pedidos reales en producción.

Para usarlas, el usuario deberá estar registrado con Epost. Una vez logeado debe ir al menú "Mi perfil" y dirigirse a la sección "Activar Api".

Despues de activar la Api en "Mi perfil", se le mostrara la llave publica (sandbox). Una vez realizada la integración, se debera solicitar al correo [email protected] la llave privada (llave de producción).

Estructura Simple

La URL a la cual nos enviaran las peticiones a sandbox y producción será:https://www.epost.com.mx/ApiEpost/


Ejemplo de solicitud:

Todas las solicitudes son objetos json.


POST: https://www.epost.com.mx/ApiEpost/login
Datos: {
        "user":"[email protected]",
        "password":"contraseña"
        }

Ejemplo de respuesta:

Las respuestas son objetos json.


POST: https://www.epost.com.mx/ApiEpost/login
Datos: [
    {
    "success":true
    "isAuthenticated":true
    "email":"[email protected]"
    "name":"Prueba"
    "lastName":"Prueba"
    "userId":"1"
    "token":"6a8c882382f72d4f3c2a710942fa2665"
    }
] 

Servicios

1. Consultar de Estados

Source: https://www.epost.com.mx/ApiEpost/getStates

La consulta del servicio de Estados solo requiere la llave publica/privada. La respuesta de este servicio en lista todos los estados que maneja Epost. Los id retornados serán usados en los servicios de Epost.

Estructura Simple

La URL a la cual nos enviaran las peticiones a sandbox y producción será:https://www.epost.com.mx/ApiEpost/


Ejemplo de solicitud:


POST: https://www.epost.com.mx/ApiEpost/getStates
Datos: [
    {
    "key":"KI965696687D4869"
    }
]

Ejemplo de respuesta:


POST: https://www.epost.com.mx/ApiEpost/getStates
Datos: [
    {
    "id":"1"
    "name":"Aguascalientes"
    },
    {
    "id":"2"
    "NOMBRE":"Baja California"
    },
    {
    "id":"3"
    "NOMBRE":"Baja California Sur"
    },
    {
    "id":"4"
    "NOMBRE":"Campeche"
    },
    ......
] 

2. Obtener Saldo/Credito

Source: https://www.epost.com.mx/ApiEpost/getCash

Para poder hacer compras en la Api de Epost, se requiere entrar a Epost y hacer un deposito al perfil, en la seccion "Monedero Epost".

La Api permite seguir haciendo cobros aun cuando el saldo este en $0.00 pesos. Cuando esto sucede, se guardara la deuda en "Credito", el cual tendra que pagarse lo mas pronto posible. En caso de exceder en el monto de "Credito" la Epost podrá bloquear el pago de nuevas guías.

Para poder abonar en Credito, se necesita entrar a Epost Web y en la seccion de "Monedero Epost" seleccionar "Abonar a credito".

Estructura Simple

La URL a la cual nos enviaran las peticiones a sandbox y producción será:https://www.epost.com.mx/ApiEpost/


Ejemplo de solicitud:

Para usar el servicio de getCash se necesita la llave publica/privada


POST: https://www.epost.com.mx/ApiEpost/getCash
Datos: [
    {
    "key":"KI965696687D4869"
    }
]

Ejemplo de respuesta:

Se retornara en un objeto json con los datos de saldo y credito


POST: https://www.epost.com.mx/ApiEpost/getCash
Datos: [
    {
    "success":true,
    "saldo":"0.00",
    "credito":"0.00"
    }
] 

3. Obtener Costo

Source: https://www.epost.com.mx/ApiEpost/getFee

Para este servicio se necesita los ID de los estados origen y destino. Para el origen solo es valido Nuevo Leon y Mexico.

Estructura Simple


Ejemplo de solicitud:


POST: https://www.epost.com.mx/ApiEpost/getFee
Datos: [
    {
        "key":"KI96D8E6DBF60AEC",
        "origen":"15",
        "destino":"8"
    }
]

Ejemplo de respuesta:

Las respuestas son objetos json.


POST: https://www.epost.com.mx/ApiEpost/getFee
Datos: [
    {
        "success":true,
        "fee":"79.00"
    }
] 

4. Zona de recolección

Source: https://www.epost.com.mx/ApiEpost/recolectionZone

Este servicio se utiliza para revisar si se esta en la zona de recolección. De lo contrario, se tiene que dejar el paquete en un drop point de Epost.

Ejemplo de solicitud:


POST: https://www.epost.com.mx/ApiEpost/recolectionZone
Datos: [
    {
        "key":"KI96D8E6DBF60AEC",
        "pickupAddressState":"19",
        "pickupAddressCity":"Monterrey",
        "pickupAddressNeighborhood":"Los Rosales",
        "pickupAddressCode":"64764",
        "pickupAddressStreet":"Alamos"
    }
]

Ejemplo de respuesta:

Las respuestas son objetos json.


POST: https://www.epost.com.mx/ApiEpost/recolectionZone
Datos: [
    {
    "success":true
    "isAuthenticated":true
    "email":"[email protected]"
    "name":"Prueba"
    "lastName":"Prueba"
    "userId":"1"
    "token":"6a8c882382f72d4f3c2a710942fa2665"
    }
] 

5. Tracking de pedido

Source: https://www.epost.com.mx/ApiEpost/shipment/tracking

Este servicio se utiliza para revisar el tracking de una guía.

Ejemplo de solicitud:


POST: https://www.epost.com.mx/ApiEpost/shipment/tracking
Datos: [
    {
        "key":"KI96D8E6DBF60AEC",
        "trackingNumber":"EP01906"
    }
]

Ejemplo de respuesta:

Las respuestas son objetos json.


POST: https://www.epost.com.mx/ApiEpost/shipment/tracking
Datos: [
    {
        "trackingNumber":"EP01906",
        "status":"Entregado",
        "trackingDate":"28-03-19 12:58"
    },
    {
        "trackingNumber":"EP01906",
        "status":"En proceso de recoleccion",
        "trackingDate":"27-03-19 12:58"
    }
] 

6. Detalle de pedido

Source: https://www.epost.com.mx/ApiEpost/shipment/list

Este servicio se utiliza para revisar el detalle de una guía.

Ejemplo de solicitud:


POST: https://www.epost.com.mx/ApiEpost/shipment/list
Datos: [
    {
        "key":"KI96D8E6DBF60AEC",
        "option":"myDeliveriesDetails",
        "trackingNumber":"EP10772"
    }
]

Ejemplo de respuesta:

Las respuestas son objetos json.


POST: https://www.epost.com.mx/ApiEpost/shipment/list
Datos: [
    {
        "DELIVERYID":"778",
        "TRACKINGNUMBER":"EP10772",
        "ADDRESSEE":"Nuevo Leon, Monterrey, 64878, San Angel Sur, Valle Alegre 309, ",
        "DESTINATIONADDRESS":"Baja California Sur, prueba, 64000, prueba, prueba, prueba ",
        "PICKUPADDRESSSTATE":"Nuevo Leon",
        "PICKUPADDRESSCITY":"Monterrey",
        "PICKUPADDRESSNEIGHBORHOOD":"San Angel Sur",
        "PICKUPADDRESSSTREET":"64878, Valle Alegre 309, ",
        "DESTINATIONADDRESSSTATE":"Baja California Sur",
        "DESTINATIONADDRESSCITY":"prueba",
        "DESTINATIONADDRESSNEIGHBORHOOD":"prueba",
        "DESTINATIONADDRESSSTREET":"64000, prueba, prueba ",
        "CREATIONDATE":"12-03-2019",
        "PICKUPDATE":"13-03-2019",
        "SHIPTO":"Oswaldo Vazquez",
        "ESTIMATEDDELIVERYDATE":"18-03-2019",
        "STATUS":"9",
        "PRICEAMOUNT":"138.04",
        "PRICESUBTOTAL":"119.00",
        "PRICECOMISION":"0.00",
        "DELIVERYTYPE":"",
        "DELIVERYWEIGHT":"hasta 1kg",
        "DELIVERYSIZE":"Chico",
        "COMENTS":"",
        "DESTINATIONCOMENTS":""
    }
] 

7. Lista de pedidos

Source: https://www.epost.com.mx/ApiEpost/shipment/list

Este servicio se utiliza para revisar la lista de guías que se han realizado.

Ejemplo de solicitud:


POST: https://www.epost.com.mx/ApiEpost/shipment/list
Datos: [
    {
        "key":"KI96D8E6DBF60AEC",
        "option":"myDeliveries",
    }
]

Ejemplo de respuesta:

Las respuestas son objetos json.


POST: https://www.epost.com.mx/ApiEpost/shipment/list
Datos: [
    {
        "DELIVERYID":"778",
        "TRACKINGNUMBER":"EP10772",
        "ADDRESSEE":"Nuevo Leon, Monterrey, 64878, San Angel Sur, Valle Alegre 309, ",
        "DESTINATIONADDRESS":"Baja California Sur, prueba, 64000, prueba, prueba, prueba ",
        "PICKUPADDRESSSTATE":"Nuevo Leon",
        "PICKUPADDRESSCITY":"Monterrey",
        "PICKUPADDRESSNEIGHBORHOOD":"San Angel Sur",
        "PICKUPADDRESSSTREET":"64878, Valle Alegre 309, ",
        "DESTINATIONADDRESSSTATE":"Baja California Sur",
        "DESTINATIONADDRESSCITY":"prueba",
        "DESTINATIONADDRESSNEIGHBORHOOD":"prueba",
        "ESTINATIONADDRESSSTREET":"64000, prueba, prueba ",
        "CREATIONDATE":"12-03-2019",
        "PICKUPDATE":"13-03-2019",
        "SHIPTO":"Oswaldo Vazquez",
        "ESTIMATEDDELIVERYDATE":"18-03-2019",
        "STATUS":"9",
        "PRICEAMOUNT":"138.04"
        },
        {
        "DELIVERYID":"777",
        "TRACKINGNUMBER":"EP10771",
        "ADDRESSEE":"Nuevo Leon, Monterrey, 64878, San Angel Sur, Valle Alegre 309, ",
        "DESTINATIONADDRESS":"Baja California Sur, prueba, 64000, prueba, prueba, prueba ",
        "PICKUPADDRESSSTATE":"Nuevo Leon",
        "PICKUPADDRESSCITY":"Monterrey",
        "PICKUPADDRESSNEIGHBORHOOD":"San Angel Sur",
        "PICKUPADDRESSSTREET":"64878, Valle Alegre 309, ",
        "DESTINATIONADDRESSSTATE":"Baja California Sur",
        "DESTINATIONADDRESSCITY":"prueba",
        "DESTINATIONADDRESSNEIGHBORHOOD":"prueba",
        "ESTINATIONADDRESSSTREET":"64000, prueba, prueba ",
        "CREATIONDATE":"12-03-2019",
        "PICKUPDATE":"13-03-2019",
        "SHIPTO":"Oswaldo Vazquez",
        "ESTIMATEDDELIVERYDATE":"18-03-2019",
        "STATUS":"9",
        "PRICEAMOUNT":"138.04"
    },
    ......
] 

8. Crear Guía

Source: https://www.epost.com.mx/ApiEpost/shipment/new

Este servicio se utiliza para crear guías.
Notas:
El campo packageSchedule es la fecha de recolección, tiene que seguir el formato indicado, y no puede ser fecha del mismo día, debe ser como minimo un día despues de que se realiza la guía.

El campo unitAmount es el costo del envio por paquete, si se desea enviar multiples paquetes a la misma dirección, se enviará el costo por el numero de paquetes.

Los campos packageType, packageWeight, packageSize, packageFragile son arreglos, si se envian mas de un elemento dentro del arreglo, se tomará como dos paquetes o mas paquetes.

El campo packageType acepta los valores "sobre" o "caja".

El campo packageWeight acepta los valores "hasta 1kg" o "hasta 2kg".

El campo packageType acepta los valores "Chico" o "Mediano" o "Grande".

El campo packageType acepta los valores "1" o "0".

Ejemplo de solicitud:

El siguiente ejemplo de creación de guía, se envian dos paquetes a la misma dirección de destino


POST: https://www.epost.com.mx/ApiEpost/shipment/new
Datos: [
    {
        "key":"KI962E1B1141B814",
        "option":"new",
        "pickupAddressState":19,
        "pickupAddressCity":"Monterrey",
        "pickupAddressCode":"64764",
        "pickupAddressNeighborhood":"Los Rosales",
        "pickupAddressStreet":"Pinos",
        "pickupAddressInterior":"364",
        "pickupAddressComments":"Comentario",
        "destinationAddressState":19,
        "destinationAddressCity":"Monterrey",
        "destinationAddressCode":"64764",
        "destinationAddressNeighborhood":"Los Pinos",
        "destinationAddressStreet":"San Angel Sur",
        "destinationAddressInterior":"315 A",
        "destinationAddressComments":"Comentario destino",
        "packageAddressee":"Nombre a quien va dirigido",
        "packageDestinationReference":"Referencias del lugar",
        "packageNotificationEmail":"nombre@cliente_final.com",
        "packageSchedule":"30/12/20",
        "unitAmount":69.00,
        "iva":11.04,
        "subtotal":69.00,
        "amount":80.04,
        "packageType":[
            "sobre",
            "caja"
        ],
        "packageWeight":[
            "hasta 1kg",
            "hasta 2kg"
        ],
        "packageSize":[
            "Chico",
            "Mediano"
        ],
        "packageFragile":[
            "1",
            "0"
        ]
    }
]

Ejemplo de respuesta:

En la respuesta se retorna el número de guía, el saldo/credito que tiene la cuenta y la referencia de compra.


POST: https://www.epost.com.mx/ApiEpost/shipment/new
Datos: [
    {
        "success":true,
        "folio":"EP31921,EP31922",
        "saldo":"46.92",
        "credito":"0.00",
        "referencia":"084b0rhx"
    }
]