API
Gestionar pedidos entrantes
Gestionar tu catálogo de productos
SFTP
Gestionar tu catálogo de productos
Gestionar tus promociones
Probando la Integración#
Haz clic abajo para ir a los temas:
Para probar tu integración, necesitarás:#
Contar con un usuario de pruebas
Deberás compartirle a tu Account Manager un correo al que tengas acceso pero no exista en PedidosYa. Con este correo se creará un usuario de pruebas para que puedas ver tu tienda de pruebas desde la aplicación móvil de PedidosYa.
Contar con una tienda de pruebas
Tu Account Manager deberá probarte el ID, nombre y dirección de tu tienda de pruebas.
Contar con acceso a la tienda de pruebas desde Partner Portal
Tu Account Manager deberá asegurarse de que tengas acceso a la tienda de pruebas en Partner Portal. Allí deberás configurar el webhook y obtener el token.
Validar tu integración
Debes probar las distintas funcionalidades que desarrolles en tu tienda de pruebas.
¿Cómo hago un pedido de prueba?#
Ingresando a la app móvil de PedidosYa con tu usuario de pruebas, deberás buscar la tienda de pruebas en la dirección compartida por tu Acount Manager. Una vez que encuentres la tienda, podrás hacer pedidos desde la app como si fueras un usuario real.
Luego de hacer el pedido en la app, lo recibirás en en el webhook y deberás gestionarlo.
¿Cómo realizo las pruebas E2E?#
Para asegurar que tu integración esté funcionando, es importante que pases por los casos de prueba de extremo a extremo.
Realiza un pedido en la aplicación de PedidosYa en tu tienda de pruebas con tu usuario de pruebas y confirma en el evento de estado del pedido
RECEIVEDactivado en su WebhookCompleta el cumplimiento del pedido para los flujos de Delivery de PedidosYa y Delivery Propio (según corresponda)
Completa el cumplimiento del pedido utilizando el punto final PUT y el flujo de Delivery de PedidosYa (Platform Delivery)
Cuerpo de la solicitud modificado
Para el estado a nivel de artículo:
IN_CARTUtilizando la solicitud PUT, comparte el estado de cumplimiento del pedido
READY_FOR_PICKUPDeberías recibir la respuesta
HTTP 200Tu Webhook debería recibir
READY_FOR_PICKUPTu Webhook también debería recibir el estado
DISPACHED, enviado cuando el repartidor recoge el pedido del vendedor. Utilizaste la conciliación de pedidos, este pedido es un estado asincrónico que puede tener hasta 30 minutos de retraso.
Completa el cumplimiento del pedido utilizando el punto final PUT y el flujo de Vendor Delivery (Delivery Propio)
Cuerpo de la solicitud modificado
Para el estado a nivel de artículo:
IN_CARTUtilizando la solicitud PUT, comparte el estado de cumplimiento del pedido
DISPACHEDDeberías recibir la respuesta
HTTP 200Tu Webhook debería recibir el estado
DISPACHED
Cumple parcialmente un pedido utilizando el punto final PUT, para ambos flujos de entrega
Cuerpo de la solicitud modificado
Estado del pedido:
READY_FOR_PICKUPoDISPACHEDEstado a nivel de artículo:
IN_CARTy NOT_FOUND`Deberías recibir la respuesta
HTTP 200Tu Webhook debe recibir el estado
READY_FOR_PICKUP,DISPACHEDo ambos
Cancelar un pedido de Customer o Logistics o Vendor:
Cancelación por parte del cliente después de realizar el pedido:
El pedido se realiza en la aplicación Platform
Tu Webhook debería recibir el estado
RECEIVEDEl cliente canceló el pedido
Tu Webhook debería recibir el estado
CANCELLED
Cancelación por parte del cliente después del cumplimiento del pedido:
El pedido se realiza en la aplicación Platform
Tu Webhook debería recibir el evento
RECEIVEDEl Picker recibió el pedido y cumplió con el pedido utilizando el punto final PUT
Tu Webhook debería recibir
READY_FOR_PICKUPoDISPACHEDo ambos, según su flujo de entregaEl cliente canceló el pedido
Tu Webhook debería recibir el estado
CANCELLEDEn el payload del pedido de cancelación, recibirás un campo adicional
post_pickup_flag: true, lo que significa que la cancelación ocurrió después de que el repartidor recogiera el pedido. (consulta estas preguntas frecuentes)
Cancelación por parte del vendedor:
El pedido se realiza desde la aplicación Platform
Tu Webhook debería recibir el estado
RECEIVEDCancela el pedido desde tu dispositivo de picking utilizando PUT y el estado
CANCELLED
La cancelación iniciada desde su dispositivo de picking no envía el estado de cancelación del pedido al Webhook
4. **Cancelación logística (Platform delivery)**1. El pedido se realiza2. Tu Webhook debería recibir el estado `RECEIVED`3. Luego, puedes cumplir con el pedido y recibir el estado `READY_FOR_PICKUP`4. Cuando la logística cancela el pedido, recibes el estado `CANCELLED` en tu Webhook5. En el payload del pedido de cancelación, recibirás un campo adicional `post_pickup_flag: true`, lo que significa que la cancelación ocurrió después de que el repartidor recogiera el pedido. (consulte estas [preguntas frecuentes](pos-pelican-picking-faq#how-can-i-tell-if-an-order-was-actually-picked-up-after-being-cancelled-i-need-to-know-whether-it-should-be-treated-as-a-final-sale))
La cancelación iniciada desde tu dispositivo de picking no envía el estado de cancelación del pedido al Webhook
Deberás probar todos los escenarios en el UPDATE_CART:
Modificar cantidad y precio para un producto unitario
Modificar el precio para un producto pesable
Reemplazar un item por otro (pesables y no pesables)
Marca un ítem como NOT_FOUND (pesables y no pesables)
Agrega un item (pesables y no pesables)
Es importante que en estas pruebas incluyas productos con promociones.
Modifica la cantidad o el precio del artículo para los artículos UNIT utilizando el punto final PUT
Modifica el cuerpo de
the item.pricingEn el objeto
pricing, la cantidad debe estar entremax_quantityymin_quantity. El precio se ajusta automáticamenteSi deseas ajustar el precio, utilice
unit\_priceototal\_price, no ambos y no más quetotal_priceo**unit\_price
Modifica la cantidad del artículo para los artículos pesables (KG) utilizando el punto final PUT
Se requiere configuración en el catálogo para establecer la etiqueta item como
sold_by_weightpara habilitar los artículos ponderados.El
weightdebe estar entremax_quantityymin_quantity. El precio se ajusta automáticamenteLos ajustes de precio directos en los artículos pesables no son válidos
Reemplaza un artículo OOS utilizando el punto final PUT
Si el
item Aestá agotado y desea reemplazarlo conitem B. Prepara el cuerpo de la solicitudEstablece el estado del artículo
item AcomoREPLACEDy elitem BcomoIN_CARTIncluye un nuevo campo
replaced_idenitem By utiliza el valor del campoiddelitem ACumple con el pedido utilizando el
READY_FOR_PICKUPoDISPACHEDsegún su flujo de entrega.
Marca un producto como no encontrado (NOT_FOUND)
Ajusta el estado del producto a NOT_FOUND
Actualiza el carrito para validar los cambios en los artículos
Ajusta el estado, el precio o la cantidad de los artículos
Envía la solicitud PUT con el estado del pedido como
UPDATE_CARTBusca comentarios y vuelve a ejecutar la solicitud para que se realice correctamente
Para completar el pedido, envía el estado de cumplimiento del pedido con
READY_FOR_PICKUPoDISPATCHEDsegún su flujo de entrega
Agrega un artículo adicional al pedido utilizando el punto final PUT
Prepara el cuerpo de la solicitud con lo siguiente para agregar un nuevo producto
sku: requerido para la hidratación del producto.pricing.quantity: requeridopricing.weight: requerido para artículos ponderadospricing.unit_price: opcional, los VENDORS pueden establecer una unidad que anule el precio original. Si no se proporciona, el pedido utilizará el precio de la hidratación del artículo
El estado del artículo debe ser
ADDITIONCumple con el pedido utilizando el
READY_FOR_PICKUPoDISPACHEDsegún su flujo de entrega.
GET
/vendor_id/ordersEstablece el período de tiempo y obtén la lista de pedidos a nivel de tienda, tendrán estados finales como
CANCELLEDoPICKED_UP
GET
/order_idLa recuperación de pedidos en el ID tendrá estados finales como
CANCELLEDoPICKED_UP
Si todas las actualizaciones se procesan correctamente sin errores, la integración está lista para ser lanzada. Puedes agendar aquí una reunión con nuestro equipo de Soporte de Integraciones para homologar tu integración.