foodpanda logo
DocumentationAPI specification
Introduction
API

SFTP
On this page

In order to test your integration, you’ll need to do the following:
How do I place a test order from the sandbox environment?
How do I perform the E2E testing?

Testing Integration#

Click below to jump to the topics:

In order to test your integration, you’ll need to do the following:#

1. Choose a Test Vendor

Option 1: Use an existing test vendor from your chain
Option 2: Create and onboard a new test store for testing

2. Gain access the Sandbox Environment

  1. Go to the Partner Portal and use the Test Order button to simulate an order.
  2. Ensure the following are set up:
    1. Webhook is configured in the Partner Portal
    2. Vendor integration settings are enabled in the catalog
    3. Based on your testing scope, you can configure the staging or production environment webhook

3. Validate Your Integration
You can leverage our end-to-end (E2E) test cases to validate that integration meeting your requirements

How do I place a test order from the sandbox environment?#

Once the integration type is configured on the store and webhook is configured. Partner Portal will show a test order button to trigger a test order.

Only following flows can be tested from sandbox environment:

  • Order fulfilment with weighted and unit items
  • Order cancellation
  • Item replacement cannot be tested please use E2E testing flow

The below image demonstrates the READY_FOR_PICKUP and CANCELLED flows

If you want to test the flow for fulfilling an order:

  1. Select the order status as READY_FOR_PICKUP and delivery type LOGISCTICS_DELIEVRY
  2. Add an SKU to the order and select the item status as IN_CART
  3. Click on Trigger order

Order should now appear on your webhook. You can review in API > order API > orders section in Partner Portal

If you want to test the flow to cancel an order:

  1. Select the order status as CANCELLED and delivery type LOGISCTICS_DELIVERY
  2. Add cancellation details cancelled by VENDOR and reason for cancellation ITEM_UNAVAILABLE
  3. Add an SKU to the order and select the item status as NOT_FOUND
  4. Click on Trigger order
  5. Order should now appear on your webhook. You can review in API > order API > orders section in Partner Portal

How do I perform the E2E testing?#

In order to ensure your integration is up and running, it’s important that you go through the end-to-end test cases. You’ll see all 6 use cases listed below:

  1. Place order on the platform app, fulfil the order completely on Pelican

    1. Webhook should receive READY_FOR_PICKUP event
    2. Check for items level status as IN_CART
  2. Place order on platform, fulfil the order partially on pelican

    1. Webhook should receive READY_FOR_PICKUP event
    2. Check for items level status as IN_CART & NOT_FOUND
  3. Replace the out of stock (OOS) items with a suggested item & fulfil order from Pelican

    1. Webhook should receive READY_FOR_PICKUP event
    2. Check for items level status as IN_CART & REPLACED
    3. Both OOS item and new suggested item are sent to webhook with REPLACED & IN_CART status.
  4. Order cancellation from customer, logistics & vendor

Customer cancellation after order placement:

  1. Order is placed on app
  2. Picker received the order
  3. Customer cancelled the order
  4. Your webhook should receive CANCELLED status

Customer cancellation after order fulfilment:

  1. Order is placed on app
  2. Picker received the order and fulfilled the order
  3. Your webhook should receive READY_FOR_PICKUP status
  4. Customer cancelled the order
  5. Your webhook should receive the CANCELLED status
  6. In cancellation order payload you will receive an additional field post_pickup_flag: true which means cancellation happened after rider pickup. (check this FAQ)

Logistic cancellation after order fulfilment:

  1. Order is placed on app
  2. Picker received the order and fulfilled the order
  3. Your webhook should receive READY_FOR_PICKUP status
  4. Riders cancelled the order due some issues
  5. Your webhook should receive the CANCELLED status
  6. In cancellation order payload you will receive an additional field post_pickup_flag: true which means cancellation happened after rider pickup. (check this FAQ)

Vendor cancellation after order fulfilment:

  1. Order is placed on app

  2. Picker received the order

  3. Vendor can CANCELLED the order due item unavailability or store being busy

  4. Your webhook should receive the CANCELLED status

  5. During fulfilment if customer cancels the order, the CANCELLED event is sent to webhook

  6. Check order payload on webhook for CANCELLED event

  7. Check for item level status NOT_PROCESSED or NOT_FOUND

  8. GET /vendor_id/orders: Set the time frame and get list of orders at store level, they will have final order statuses like CANCELLED or PICKED_UP

  9. GET /order_id: Retrieves order on specific id, it will have final order statuses like CANCELLED or PICKED_UP


APIUse Cases - Endpoints ExplainedAPITroubleshooting