Integración API

Conecta tu tienda en línea a nuestra plataforma y accede a una solución logística 360º.

Siempre listos para ayudarte

¿Tienes dudas? Ponte en contacto por estos medios.

}

Horario de atención

Lunes a Viernes: 8:00 hrs a 22:00 hrs
Sábado: 8:00 hrs a 22:00 hrs
Domingo: 10:00 hrs a 19:00 hrs

Correo

Hola@p-onemexico.com

Contacto – Nuevos usuarios

¿Tienes dudas, quieres información sobre envios especializados o integración API? Llena los campos  y uno de nuestros asesores se pondrá en contacto contigo.

Terminos y Condiciones y Aviso de Privacidad

Acerca de la API de P-One

Incrementa tus ventas y olvidate de hacer manualmente tus ordenes, enfocate en tu negocio y hazlo crecer!

Integra nuestra API para que automáticamente entre tu  E-Commerce y nuestra plataforma tengan comunicación directa, podrás tener un sistema de cotización de envíos con P-One integrado a tu Pagina o App, para la comodidad, confianza y agilidad hacia tus clientes, también te disminuye el trabajo de logística, si tu cliente desea el envío en automático se generará la orden dando mayor rapidez y eficacia.

Ventajas de Integrar nuestra API

Implementación Facil

Hasta 100 Kg de peso

Recolecciones rapidas

Ordenes automatizadas

Rastreo en tiempo real

Rutas inteligentes

Cotizaciones reales

Ayuda de un asesor especializado

Implementación de la API

Las peticiónes de servicio P-One via API endpoint necesitan ser enviadas via HTTPS. Cuando se envian por metodo POST, el encabezado HTML debe especificar que se envia una cadena JSON: Content-Type:application/json Si la cadena JSON se envia por metodo GET, la cadena debe ser encriptada en base 64 y enviada como data.

Método   P-One API endpoint
POST https://p-onemexico.com/ecommerce
GET https://p-onemexico.com/ecommerce/?data={Base64.Json}

La autenticación es standard, por medio de los encabezados de la petición, aquí estan los campos que se toman en cuenta:

  Encabezado Obligatorio Descripción
Accept No Este encabezado no es obligatorio, pero si se incluye, debe especificar una de las versiones del API de P-One, por ejemplo: application/pone-v1.0.0+json
A fin de conservar la compatibilidad con implementaciones antiguas, si no se incluye este encabezado, el API de P-One asumirá que se esta utilizando el mas antiguo. Si deseas utilizar alguna nueva funcionalidad que se haya agregado en API's mas recientes, incluye el número de versión correcto.
Authorization Si El método de autenticación actualmente soportado es Bearer unicamente. El token de autenticación debe ser el Store ID que el soporte técnico de P-One te haya proporcionado.
Content-Type No Este encabezado no es obligatorio, pero si se incluye, debe ser: application/json

Cada petición debe incluir una serie de campos necesarios para procesar correctamente la orden, la siguiente tabla muestra los campos y su efecto en la petición:

  Atributo Obligatorio Descripción
mode Si Especifica el modo de ejecución de la petición, puede ser STATUS, TEST o LIVE

TEST: El API funciona en modo de prueba, regresa errores pero en caso de exito no se genára una orden real ni se deduce saldo.
LIVE: Todo funciona en modo real, cuando el API termina, se genéra una orden y se deduce el saldo.

Nota: Aunque el modo TEST se puede usar para obtener cotizaciónes, es recomendable usarlo moderadamente, si el sistema nota un uso excesivo de las cotizaciones es posible que deduzca un pago simbólico por la transacción.

STATUS: Responde con una cadena JSON que contiene el estado de una orden creada previamente. Consulta la estructura de JSON para Notificacion para mas detalles.
notifyurl No Una URL a la cual P-One notificará cualquier cambio de estado en tu orden. La URL debe contener el protocolo https para ser aceptada. Los cambios se notificaran con una cadena JSON que contiene el id, trackid y dos cadenas de texto describiendo el mensaje, una corta que es el ID del estado y una larga que es lo que se le puede mostrar al cliente si es necesario. Consulta la estructura de Notificacion para mas detalles.
city Si La ubicación en la cual la orden estara disponible. Los valores validos actuales son, CDMX, GUADALAJARA y MONTERREY. Las direcciónes provistas en los puntos de entrega se buscarán el la ciudad que se especifique en este campo.
package No El tipo de paquete que se envía.

NORMAL default: Se usa para paquetes que no tienen perecederos ni requieren cuidados especiales.

PET: Se usa para mascotas, el mensajero debe tener cuidados especiales como no cortarle el aire entre otras. Este modo tiene un costo extra de $ 10.00.

FOOD: Se usa para enviar comida, el mensajero toma precauciones especiales y las entregas son mas agiles para evitar al mayor grado posible que la comida se enfrie. Este modo tiene un costo extra de $ 10.00 MXN
shipping_type Si Especifica el tipo de entrega que se esta pidiendo.
ON_DEMAND: La orden es para entrega inmediata.
SAME_DAY: La orden es para entrega el mismo dia.
NEXT_DAY: La orden es para entrega de un dia a otro.

Nota: Dependiendo de la ciudad donde se pida el servicio es posible que no este disponible NEXT_DAY.
return_to_origin No Especifica si se requiere que después las entregas o recolecciones el mensajero regrese al punto de origen. Si se omite, el valor default es NO.
YES: la orden se genéra con regreso al punto de origen y se incluye en el costo del envío.
NO: La orden es solo de entrega, el mensajero no se reporta al punto de origen.
description No Una descripción o numero de seguimiento interno de tu paquete. Puedes usar este campo para tu control interno.
vehicle_type Si Especifica el tipo de vehiculo que necesitas para tu paquete.
MOTORCYCLE: Paquetes de hasta Hasta 45 x 45 x 65 centimetros o un peso maximo de 25 Kg.
CAR: Paquetes de hasta 120 x 80 x 60 centimetros o un peso maximo de 100 Kg.
insurance No Especifica el monto por el cual se asegura el paquete. El minimo es 0.00 y el maximo es de $ 12,000.00. Los montos deben ser enviados sin comas ni simbolos, por ejemplo: 5000.00
point Si Los datos de cada punto de entrega. Para detalles de estos campos, consulte la tabla de puntos de entrega.

Campos de cada punto de recoleccion o entrega:

  Atributo Obligatorio Descripción
address No La dirección del punto de entrega. Si este campo se omite, se debe incluir la ubicación GPS mediante incluir los puntos de latitude y longitude.
latitude No Latitud de la ubicacion GPS. Este campo solo se debe incluir si se ha omitido el campo address.
longitude No Longitud de la ubicación GPS. Este campo solo se debe incluir si se ha omitido el campo address.
contact Si Datos del punto de entrega, la cual incluye el receptor su teléfono e instrucciones especiales. Para mas información consulte la tabla de datos de contacto.

Datos de contacto para cada punto de recoleccion o entrega:

  Atributo Obligatorio Descripción
name Si Nombre de la persona que recibe o entrega el paquete.
phone Si Numero de teléfono o celular de la persona que recibe o entrega el paquete.
instructions No Si hay alguna instrucción especial para este punto, se puede incluir en este campo.


Estructura de notificación de estado de Orden:

  Atributo Descripción
id El ID de la orden.
trackid El ID de rastreo de la orden.
status Un codigo de estado de la orden, este campo puede ser uno de los siguientes:

WAITING, DELIVERING, COMPLETE, REJECTED, CANCELLED, WAITING.
description Un descripcion un poco mas detallada del estado de la orden, este campo puede ser uno de los siguientes:

Esperando mensajero
Mensajero en camino
En camino a entregar
Paquete entregado
Rechazado por el mensajero
Cancelado

Ejemplo de una petición JSON con un punto de recolección y solo un punto de entrega:

    
    {
        "mode": "TEST",
        "city": "CDMX",
        "shipping_type": "NEXT_DAY",
        "return_to_origin": "NO",
        "package": "FOOD",
        "description": "Pastel de boda.",
        "vehicle_type": "MOTORCYCLE",
        "point": [{
            "address": "Zihuatanejo #3002",
            "latitude": "",
            "longitude": "",
            "contact": {
                "name": "Julian Mendez Arguijo",
                "phone": "5500012345",
                "instructions": "Recoja la caja del pastel por la puerta de servicio por favor."
            }
        }, {
            "address": "Chapultepec #2009",
            "latitude": "",
            "longitude": "",
            "contact": {
                "name": "Pedro Gomez Sanchez",
                "phone": "55598765432",
                "instructions": "La maceta no deja ver el timbre, use el timbre"
            }
        }]
    }
        

Ejemplo de una petición JSON con un punto de recolección y dos puntos de entrega:

    
    {
        "mode": "TEST",
        "city": "CDMX",
        "shipping_type": "NEXT_DAY",
        "return_to_origin": "NO",
        "package": "FOOD",
        "description": "Pastel de boda.",
        "vehicle_type": "MOTORCYCLE",
        "point": [{
            "address": "Zihuatanejo #3002",
            "latitude": "",
            "longitude": "",
            "contact": {
                "name": "Julian Mendez Arguijo",
                "phone": "5500012345",
                "instructions": "Recoja la caja del pastel por la puerta de servicio por favor."
            }
        }, {
            "address": "Chapultepec #2009",
            "latitude": "",
            "longitude": "",
            "contact": {
                "name": "Pedro Gomez Sanchez",
                "phone": "55598765432",
                "instructions": "La maceta no deja ver el timbre, use el timbre"
            }
        }, {
            "address": "Saltamontes #4019",
            "latitude": "",
            "longitude": "",
            "contact": {
                "name": "Maribel Aguirre Prado",
                "phone": "55548753897",
                "instructions": "Es la casa del fondo, no toque en la casa exterior."
            }
        }]
    }
        

Después de enviar la petición al endpoint, este regresará una respuesta en formato JSON que contendrá el resultado de la operación. Estos son los campos que contendrá la respuesta:

  Atributo Descripcion
error Una descripción numerica del error, cada error tendrá un numero que lo identifica, este numero no cambia. Si la peticion es exitosa este campo contendrá un cero.
trackid La etiqueta de rastreo para el envío. Esta etiqueta se puede utlizar para rastrear el paquete en linea.
result Una cadena de texto que indica el resultado de la petición, puede ser ERROR cuando la petición contiene un error y el envío no se concreta o SUCCESS cuando la peticion ha sido exitosa y el envío es creado o simulado.
description Una cadena de texto con la descripción del resultado. Cuando el resultado es error, este campo puede dar pistas sobre la posible causa del error.
cost Cuando el envío es exitoso, este campo contiene el costo total del envío.
balance El saldo actual de tu e-commerce. Si el resultado es error, y el error es causado por falta de saldo, este campo mostrará el saldo actual, para resultados exitosos este campo muestra el saldo actualizado tras hacer la deducción por el envío realizado.
order_id Cuando el envio es exitoso, este campo contiene el numero de control interno del envio. Si el resultado es de error, solo contendrá cero.

A continuación se muestra un ejemplo de respuesta con un resultado de error:

    
    {
        "error": "17",
        "result": "ERROR",
        "trackid": "",
        "description": "No destination specified",
        "cost": "0.00",
        "balance": "19305.59",
        "order_id": "0"
    }
        

A continuación se muestra un ejemplo de respuesta exitosa:

    
    {
        "error": "0",
        "result": "SUCCESS",
        "trackid": "F3F8B154EE789390D513A5C219B2E6C9",
        "description": "Your order was processed successfully.",
        "cost": "98.59",
        "balance": "19207.00",
        "order_id": "000189"
    }
        

IMPORTANTE: La implementación del API no debe hacerse en tu Front-End ya que el Store ID debe ser siempre secreto. Siempre implementa el API en tu backend y de preferencia encripta tu scripts.
u

Preguntas Frecuentes

¿Qué ofrece P-One?

P-One Ofrece una plataforma digital en la cual puedes solicitar un servicio de mensajería o paquetería a un socio repartidor de forma inmediata o programada, dando solución a tus necesidades de logística.

¿Dónde tiene cobertura P-One?

Entregamos tus envíos en:

  • CDMX y Area Metropolitana

¿Cuántas entregas se pueden realizar dentro de un mismo envío?

En un mismo envío podrás hacer hasta un máximo de 20 entregas o recolecciones, ya sea enviar un sobre y traerlo de vuelta o entregar o recolectar 20 cosas en un solo servicio.

¿Puedo monitorear mis envíos?

Sí, podrás rastrear tus envíos en tiempo real, aparte de que contarás con un acceso directo para comunicarte por WhatsApp con tu mensajero y su número de teléfono por si requieres contactarlo, también cuentas con nuestras sección de soporte para cualquier duda o aclaración

¡Estaremos contigo en todo momento en tus envíos!

¿Cómo puedo pagar por el servicio?

P-One acepta pagos en efectivo, con tarjeta de débito y crédito (consulta participantes) y con saldo P-One que podrás recargar mediante una transferencia electrónica.

¿Cuáles son nuestras tarifas?

Podrás encontrar nuestras tarifas de acuerdo al vehículo que prefieras en este apartado. Tarifas y Cobertura

¿Se puede transportar comida?

Si, el envío de comida tendrá un cargo extra por $10 pesos y tendras que avisar al mensajero si requiere algún cuidado especial.

¿Cuál es el horario de atención al cliente?

Lunes a Viernes: De 8 a 7 pm

Sábado: De 8 a 5 pm 

Domingo: De 10 a 3 pm

Metodos de pago P-One mensajeria y paqueteria
Cotizacion App P-One GDL
App P-One GDL Inicio

Descarga la APP y comienza a enviar

Descarga nuestra aplicación para programar y realizar tus envíos con P-One.
Descarga la app de Play Store