Skip to content

Fulfillment Callbacks

Merchant Delivery

[
  {
    "fulfillmentId": "OF2405200539030657485731",
    "type": "STORE",
    "ownerType": "RETAIL_SERVICE_PROVIDER",
    "end": {
      "address": {
        "building": "410 Lorem Lpsum",
        "locality": "----",
        "city": "Vadodara",
        "state": "Gujarat",
        "country": "IND",
        "pincode": "390011",
        "formattedAddress": "Room No 410, Lorem Lpsum Training Institute",
        "lat": 22.28182220459,
        "lon": 73.202598571777
      },
      "contact": {
        "phone": "8686868686"
      },
      "person": {
        "name": "Loren Lpsum"
      }
    },
    "fulfillmentState": "PACKED",
    "fulfilmentStatusHistory": {
      "PACKED": {
        "actual": {
          "endTime": 1722576698000
        },
        "expected": {
          "endTime": 1722576698000
        },
        "promised": {
          "endTime": 1722573098000
        }
      },
      "PACKING": {
        "actual": {
          "endTime": 1722572438000
        }
      }
    }
  },
  {
    "fulfillmentId": "OF2405200539030657485732",
    "type": "DELIVERY",
    "ownerType": "RETAIL_SERVICE_PROVIDER",
    "end": {
      "address": {
        "building": "410 Lorem Lpsum",
        "locality": "----",
        "city": "Vadodara",
        "state": "Gujarat",
        "country": "IND",
        "pincode": "390011",
        "formattedAddress": "Room No 410, Lorem Lpsum Training Institute",
        "lat": 22.28182220459,
        "lon": 73.202598571777
      },
      "contact": {
        "phone": "8686868686"
      },
      "person": {
        "name": "Loren Lpsum"
      }
    },
    "fulfillmentState": "OUT_FOR_DELIVERY",
    "fulfilmentStatusHistory": {
      "SEARCHING_FOR_AGENT": {
        "actual": {
          "endTime": 1722576698000
        }
      },
      "AGENT_ASSIGNED": {
        "actual": {
          "endTime": 1722577843000
        }
      },
      "OUT_FOR_DELIVERY": {
        "actual": {
          "endTime": 1722578383000
        }
      },
      "DELIVERED": {
        "expected": {
          "endTime": 1722581983000
        },
        "promised": {
          "endTime": 1722578383000
        }
      }
    }
  }
]

Pincode Delivery

[
  {
    "fulfillmentId": "OF2405200539030657485731",
    "type": "STORE",
    "ownerType": "RETAIL_SERVICE_PROVIDER",
    "end": {
      "address": {
        "building": "410 Lorem Lpsum",
        "locality": "----",
        "city": "Vadodara",
        "state": "Gujarat",
        "country": "IND",
        "pincode": "390011",
        "formattedAddress": "Room No 410, Lorem Lpsum Training Institute",
        "lat": 22.28182220459,
        "lon": 73.202598571777
      },
      "contact": {
        "phone": "8686868686"
      },
      "person": {
        "name": "Loren Lpsum"
      }
    },
    "fulfillmentState": "PACKED",
    "fulfilmentStatusHistory": {
      "PACKED": {
        "actual": {
          "endTime": 1722576698000
        },
        "expected": {
          "endTime": 1722576698000
        },
        "promised": {
          "endTime": 1722573098000
        }
      },
      "PACKING": {
        "actual": {
          "endTime": 1722572438000
        }
      }
    }
  },
  {
    "fulfillmentId": "OF2405200539030657485732",
    "type": "DELIVERY",
    "ownerType": "PINCODE",
    "end": {
      "address": {
        "building": "410 Lorem Lpsum",
        "locality": "----",
        "city": "Vadodara",
        "state": "Gujarat",
        "country": "IND",
        "pincode": "390011",
        "formattedAddress": "Room No 410, Lorem Lpsum Training Institute",
        "lat": 22.28182220459,
        "lon": 73.202598571777
      },
      "contact": {
        "phone": "8686868686"
      },
      "person": {
        "name": "Loren Lpsum"
      }
    },
    "fulfillmentState": "DELIVERED",
    "fulfilmentStatusHistory": {
      "SEARCHING_FOR_AGENT": {
        "actual": {
          "endTime": 1722576698000
        }
      },
      "AGENT_ASSIGNED": {
        "actual": {
          "endTime": 1722577843000
        }
      },
      "OUT_FOR_DELIVERY": {
        "actual": {
          "endTime": 1722578383000
        }
      },
      "DELIVERED": {
        "expected": {
          "endTime": 1722581983000
        },
        "promised": {
          "endTime": 1722578383000
        },
        "actual": {
          "endTime": 1722583843000
        }
      }
    },
    "deliveryAgent": {
      "name": "Dolor Sit",
      "phone": "9292929292"
    },
    "pickupVerification": {
      "type": "OTP",
      "otp": "4920"
    }
  }
]

RTO Case

[
  {
    "fulfillmentId": "OF2405200539030657485731",
    "type": "STORE",
    "ownerType": "RETAIL_SERVICE_PROVIDER",
    "end": {
      "address": {
        "building": "410 Lorem Lpsum",
        "locality": "----",
        "city": "Vadodara",
        "state": "Gujarat",
        "country": "IND",
        "pincode": "390011",
        "formattedAddress": "Room No 410, Lorem Lpsum Training Institute",
        "lat": 22.28182220459,
        "lon": 73.202598571777
      },
      "contact": {
        "phone": "8686868686"
      },
      "person": {
        "name": "Loren Lpsum"
      }
    },
    "fulfillmentState": "PACKED",
    "fulfilmentStatusHistory": {
      "PACKED": {
        "actual": {
          "endTime": 1722576698000
        },
        "expected": {
          "endTime": 1722576698000
        },
        "promised": {
          "endTime": 1722573098000
        }
      },
      "PACKING": {
        "actual": {
          "endTime": 1722572438000
        }
      }
    }
  },
  {
    "fulfillmentId": "OF2405200539030657485732",
    "type": "DELIVERY",
    "ownerType": "PINCODE",
    "end": {
      "address": {
        "building": "410 Lorem Lpsum",
        "locality": "----",
        "city": "Vadodara",
        "state": "Gujarat",
        "country": "IND",
        "pincode": "390011",
        "formattedAddress": "Room No 410, Lorem Lpsum Training Institute",
        "lat": 22.28182220459,
        "lon": 73.202598571777
      },
      "contact": {
        "phone": "8686868686"
      },
      "person": {
        "name": "Loren Lpsum"
      }
    },
    "fulfillmentState": "RTO_INITIATED",
    "fulfilmentStatusHistory": {
      "SEARCHING_FOR_AGENT": {
        "actual": {
          "endTime": 1722576698000
        }
      },
      "AGENT_ASSIGNED": {
        "actual": {
          "endTime": 1722577843000
        }
      },
      "OUT_FOR_DELIVERY": {
        "actual": {
          "endTime": 1722578383000
        }
      },
      "DELIVERED": {
        "expected": {
          "endTime": 1722581983000
        },
        "promised": {
          "endTime": 1722578383000
        }
      },
      "RTO_INITIATED": {
        "actual": {
          "endTime": 1722578383000
        }
      }
    },
    "deliveryAgent": {
      "name": "Dolor Sit",
      "phone": "9292929292"
    },
    "rtoVerification": {
      "type": "OTP",
      "otp": "4920"
    }
  }
]

Self Pickup

[
  {
    "fulfillmentId": "OF2405200539030657485731",
    "type": "STORE",
    "ownerType": "RETAIL_SERVICE_PROVIDER",
    "end": {
      "address": {
        "building": "410 Lorem Lpsum",
        "locality": "----",
        "city": "Vadodara",
        "state": "Gujarat",
        "country": "IND",
        "pincode": "390011",
        "formattedAddress": "Room No 410, Lorem Lpsum Training Institute",
        "lat": 22.28182220459,
        "lon": 73.202598571777
      },
      "contact": {
        "phone": "8686868686"
      },
      "person": {
        "name": "Loren Lpsum"
      }
    },
    "fulfillmentState": "PACKED",
    "fulfilmentStatusHistory": {
      "PACKED": {
        "actual": {
          "endTime": 1722576698000
        },
        "expected": {
          "endTime": 1722576698000
        },
        "promised": {
          "endTime": 1722573098000
        }
      },
      "PACKING": {
        "actual": {
          "endTime": 1722572438000
        }
      }
    }
  },
  {
    "fulfillmentId": "OF2405200539030657485732",
    "type": "DELIVERY",
    "ownerType": "CUSTOMER",
    "end": {
      "address": {
        "building": "410 Lorem Lpsum",
        "locality": "----",
        "city": "Vadodara",
        "state": "Gujarat",
        "country": "IND",
        "pincode": "390011",
        "formattedAddress": "Room No 410, Lorem Lpsum Training Institute",
        "lat": 22.28182220459,
        "lon": 73.202598571777
      },
      "contact": {
        "phone": "8686868686"
      },
      "person": {
        "name": "Loren Lpsum"
      }
    },
    "fulfillmentState": "DELIVERED",
    "fulfilmentStatusHistory": {
      "DELIVERED": {
        "actual": {
          "endTime": 1722578383000
        }
      }
    }
  }
]

Field Explanation:

Field Type Description
requestContext Object This object represents the context of the order in which the update is being given
requestContext.requestId String The unique ID for every request made will be the same in callbacks and identify every new request
requestContext.transactionId String The unique ID for order journey. This will be orderId.
requestContext.actionType Enum Defines the type of request made
orderResponse.id String Represents Order ID
orderResponse.orderState String Represents the current state of the order (CREATED, ACCEPTED, IN_PROGRESS, COMPLETED, CANCELLED)
orderResponse.items Object This object includes the item details included in the order
orderResponse.items[0].itemId String Represents the unique itemId for referencing in a particular order
orderResponse.items[0].name String Represents the name of the item
orderResponse.items[0].platformItemId String Represents the sender platform’s itemId enables the platform to identify the item
orderResponse.items[0].serviceProviderItemId String The receiver platform’s catalog itemId
orderResponse.items[0].fulfillmentId String This id is the same as the fulfillmentId of STORE type fulfillment. All the items will contain this same id
orderResponse.items[0].quantity.count Integer Quantity of the particular item requested in the order
orderResponse.items[0].price.value Float Represents the MRP value of an item
orderResponse.items[0].sellingPrice.value Float Represents the selling price of an item
orderResponse.items[0].images Object This object contains the image URLs for the product
orderResponse.items[0].displayMeasurement String Represents the display measurement on the unit product
orderResponse.serviceProvider Object This object represents the store details
orderResponse.serviceProvider.id String Represents the store identification ID that the receiver platform understands
orderResponse.serviceProvider.platformId String Represents the store identification ID that is owned by the sender platform
orderResponse.billing Object This object represents the billing information of the user with the necessary details
orderResponse.fulfillments Object This object contains information about fulfillment (delivery/shipment)
orderResponse.fulfillments[0].fulfillmentId String Unique fulfillment ID which is also linked with the items and the updates can be shared using this ID
orderResponse.fulfillments[0].type Enum Type of fulfillment (STORE/DELIVERY)
orderResponse.fulfillments[0].ownerType Enum Type of owner types (RETAIL_SERVICE_PROVIDER/PINCODE/CUSTOMER)
orderResponse.fulfillments[0].end.address String Address details of the delivery location
orderResponse.fulfillments[0].end.contact.phone String Phone number of the person being contacted
orderResponse.fulfillments[0].end.person.name String Name of the person receiving the order
orderResponse.fulfillments[0].fulfillmentState String State of order fulfillment for STORE (PENDING/PACKING/PACKED/CANCELLED)
State of order fulfillment for DELIVERY (PENDING/OUT_FOR_DELIVERY/OUT_FOR_PICKUP/AGENT_ASSIGNED/DELIVERED/CANCELLED/DELIVERY_FAILED/RTO_INITIATED/RTO_DELIVERED/RTO_DISPOSED/ARRIVED_CUSTOMER_DOORSTEP/CLIENT_CONSUMER_CANCELLED,SEARCHING_FOR_AGENT)
orderResponse.fulfillments[0].deliveryAgent.name String Name of the delivery agent
orderResponse.fulfillments[0].deliveryAgent.phone String Phone number of the delivery agent
orderResponse.fulfillments[*].pickupVerification Object This object defines the fulfillment verification details, here type defines the verification type currently supporting value as OTP only.
orderResponse.fulfillments[*].rtoVerification Object This object defines the rto verification details of the fulfillment, here type defines the verification type currently supporting value as OTP only. This will be used only in case RTO is happening for an order
orderResponse.fulfillments[*].fulfilmentStatusHistory Object This object contains information of fulfilment status tracking
orderResponse.fulfillments[*].fulfilmentStatusHistory.{fulfilmentState} Object This object contains tracking information of one of the relevant fulfilment state
orderResponse.fulfillments[*].fulfilmentStatusHistory.{fulfilmentState}.actual Object actual occurrence related info of the fulfilment
orderResponse.fulfillments[*].fulfilmentStatusHistory.{fulfilmentState}.expected Object expected occurrence related info of the fulfilment
orderResponse.fulfillments[*].fulfilmentStatusHistory.{fulfilmentState}.promised Object promised occurrence related info of the fulfilment
orderResponse.fulfillments[*].fulfilmentStatusHistory.{fulfilmentState}.actual.endTime String timestamp in epoch format
orderResponse.quote Object This object contains all the information related to order quotation
orderResponse.quote.price.value Float Represents total order quote value
orderResponse.quote.breakUp[0].referenceId String Equal to uniqueId of the reference entity for the quote:
1. In case of quotationLevel as ITEM, it will be itemId
2. In case of quotationLevel as FULFILLMENT, it will be fulfillmentId
3. In case of quotationLevel as ORDER, it will be random id
orderResponse.quote.breakUp[0].type Enum Order quotation breakup type to signify what type of charge it is (ITEM/DELIVERY/PACKING/TAX/CONVENIENCE_CHARGE/DISCOUNT/MISC)
orderResponse.quote.breakUp[0].quotationLevel String This defines the level at which the charges are applied, which can be at ORDER/FULFILLMENT/ ITEM level
orderResponse.quote.breakUp[0].quantity.count Integer Quantity of the particular item for which the quote details are presented
orderResponse.quote.breakUp[0].price.value Float Represents particular quote breakup charges
orderResponse.actions Object Represents the list of actions applied on the order
orderResponse.actions[0].type String Represents the type of action that has modified the order (CANCEL_ORDER)
orderResponse.actions[0].channel String Represents the channel in which the change is taking place (PINCODE/TSP/SELLER_APP/CONSUMER)
orderResponse.actions[0].createdAt String Represents the time of creation of the action
orderResponse.createdAt String Order creation timestamp in epoch format
orderResponse.updatedAt String Latest timestamp at which the order is updated in epoch format