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.
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
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.
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