Introducción
API

SFTP
En esta página

Para probar tu integración, necesitarás:
¿Cómo hago un pedido de prueba?
¿Cómo realizo las pruebas E2E?

Probando la Integración#

Haz clic abajo para ir a los temas:

Para probar tu integración, necesitarás:#

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

  2. Contar con una tienda de pruebas

    Tu Account Manager deberá probarte el ID, nombre y dirección de tu tienda de pruebas.

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

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

  1. 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 RECEIVED activado en su Webhook

  2. Completa el cumplimiento del pedido para los flujos de Delivery de PedidosYa y Delivery Propio (según corresponda)

    1. Completa el cumplimiento del pedido utilizando el punto final PUT y el flujo de Delivery de PedidosYa (Platform Delivery)

    2. Cuerpo de la solicitud modificado

      1. Para el estado a nivel de artículo: IN_CART

      2. Utilizando la solicitud PUT, comparte el estado de cumplimiento del pedido READY_FOR_PICKUP

      3. Deberías recibir la respuesta HTTP 200

      4. Tu Webhook debería recibir READY_FOR_PICKUP

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

    3. Completa el cumplimiento del pedido utilizando el punto final PUT y el flujo de Vendor Delivery (Delivery Propio)

    4. Cuerpo de la solicitud modificado

      1. Para el estado a nivel de artículo: IN_CART

      2. Utilizando la solicitud PUT, comparte el estado de cumplimiento del pedido DISPACHED

      3. Deberías recibir la respuesta HTTP 200

      4. Tu Webhook debería recibir el estado DISPACHED

  3. Cumple parcialmente un pedido utilizando el punto final PUT, para ambos flujos de entrega

    1. Cuerpo de la solicitud modificado

    2. Estado del pedido: READY_FOR_PICKUP o DISPACHED

    3. Estado a nivel de artículo: IN_CART y NOT_FOUND`

    4. Deberías recibir la respuesta HTTP 200

    5. Tu Webhook debe recibir el estado READY_FOR_PICKUP, DISPACHED o ambos

  4. Cancelar un pedido de Customer o Logistics o Vendor:

    1. Cancelación por parte del cliente después de realizar el pedido:

      1. El pedido se realiza en la aplicación Platform

      2. Tu Webhook debería recibir el estado RECEIVED

      3. El cliente canceló el pedido

      4. Tu Webhook debería recibir el estado CANCELLED

    2. Cancelación por parte del cliente después del cumplimiento del pedido:

      1. El pedido se realiza en la aplicación Platform

      2. Tu Webhook debería recibir el evento RECEIVED

      3. El Picker recibió el pedido y cumplió con el pedido utilizando el punto final PUT

      4. Tu Webhook debería recibir READY_FOR_PICKUP o DISPACHED o ambos, según su flujo de entrega

      5. El cliente canceló el pedido

      6. Tu Webhook debería recibir el estado CANCELLED

      7. 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. (consulta estas preguntas frecuentes)

    3. Cancelación por parte del vendedor:

      1. El pedido se realiza desde la aplicación Platform

      2. Tu Webhook debería recibir el estado RECEIVED

      3. Cancela el pedido desde tu dispositivo de picking utilizando PUT y el estado CANCELLED

4. **Cancelación logística (Platform delivery)**
1. El pedido se realiza
2. 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 Webhook
5. 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))

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.

  1. Modifica la cantidad o el precio del artículo para los artículos UNIT utilizando el punto final PUT

    1. Modifica el cuerpo de the item.pricing

    2. En el objeto pricing, la cantidad debe estar entre max_quantity y min_quantity. El precio se ajusta automáticamente

    3. Si deseas ajustar el precio, utilice unit\_price o total\_price, no ambos y no más que total_price o **unit\_price

  2. Modifica la cantidad del artículo para los artículos pesables (KG) utilizando el punto final PUT

    1. Se requiere configuración en el catálogo para establecer la etiqueta item como sold_by_weight para habilitar los artículos ponderados.

    2. El weight debe estar entre max_quantity y min_quantity. El precio se ajusta automáticamente

    3. Los ajustes de precio directos en los artículos pesables no son válidos

  3. Reemplaza un artículo OOS utilizando el punto final PUT

    1. Si el item A está agotado y desea reemplazarlo con item B. Prepara el cuerpo de la solicitud

    2. Establece el estado del artículo item A como REPLACED y el item B como IN_CART

    3. Incluye un nuevo campo replaced_id en item B y utiliza el valor del campo id del item A

    4. Cumple con el pedido utilizando el READY_FOR_PICKUP o DISPACHED según su flujo de entrega.

  4. Marca un producto como no encontrado (NOT_FOUND)

    1. Ajusta el estado del producto a NOT_FOUND

  5. Actualiza el carrito para validar los cambios en los artículos

    1. Ajusta el estado, el precio o la cantidad de los artículos

    2. Envía la solicitud PUT con el estado del pedido como UPDATE_CART

    3. Busca comentarios y vuelve a ejecutar la solicitud para que se realice correctamente

    4. Para completar el pedido, envía el estado de cumplimiento del pedido con READY_FOR_PICKUP o DISPATCHED según su flujo de entrega

  6. Agrega un artículo adicional al pedido utilizando el punto final PUT

    1. Prepara el cuerpo de la solicitud con lo siguiente para agregar un nuevo producto

      1. sku: requerido para la hidratación del producto.

      2. pricing.quantity: requerido

      3. pricing.weight: requerido para artículos ponderados

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

    2. El estado del artículo debe ser ADDITION

    3. Cumple con el pedido utilizando el READY_FOR_PICKUP o DISPACHED según su flujo de entrega.

  7. GET /vendor_id/orders

    1. Establece el período de tiempo y obtén la lista de pedidos a nivel de tienda, tendrán estados finales como CANCELLED o PICKED_UP

  8. GET /order_id

    1. La recuperación de pedidos en el ID tendrá estados finales como CANCELLED o PICKED_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.


APICasos de uso - Endpoints ExplicadosAPIResolución de problemas