Documents
Inspection Async Booking Create Guide
Latest Update Time: 2026-07-02 00:00:00
Use the asynchronous inspection booking API to submit a new booking without waiting for the full booking process to complete. You get a requestId immediately, then poll Get Async Booking Result for the outcome.
See the Inspection Introduction for base URL, authentication, and required headers.
Endpoint
POST https://ppapi.qima.com/v1.0/async-inspection
This API additionally requires the Content-Type: application/json header.
Prerequisites
In addition to the required headers and authentication setup:
- Permission to create inspection orders for the target client
- The same booking information required by Create an Inspection Booking (supplier/factory details, products, service dates)
Request Body
Uses the same InspectionOrder schema as Create an Inspection Booking — see that guide's Request Field Notes for details on non-obvious fields. See the interactive API reference for the complete field list.
Request Example
curl --location --request POST 'https://ppapi.qima.com/v1.0/async-inspection' \
--header 'Ai-Api-Access-Token: {your api access token}' \
--header 'Ai-User-Id: {your user ID}' \
--header 'Authorization: Bearer {your token}' \
--header 'Referer: https://preprodmy.qima.com/' \
--data-raw '{
"userId": "<qima-user-id>",
"serviceDate": "21-Dec-2026",
"shipDate": "18-Sep-2026",
"serviceType": "1",
"bookingType": "General",
"referenceNumber": "2107-0-041",
"customField1": "EDI0001",
"customField2": "F",
"supplierCode": "SF-TL90",
"supplierName": "JiXieChang-Supplier",
"supplierContactName": "louis.yi",
"supplierContactPhone": "18576710214",
"supplierContactEmail": "louis.yi@qima.com",
"supplierContinentID": "24865671",
"supplierCountryID": "23424781",
"supplierCityID": "12687656",
"supplierAddress": "LuoHuQu ChunFenglu 999",
"supplierProductLines": ["bigCat1_s2", "bigCat1_s3"],
"factoryCode": "SF-99-i56",
"factoryName": "JiXieChang-Factory",
"factoryContactName": "louis.yi",
"factoryContactPhone": "13512345678",
"factoryContactEmail": "manager@factory.com",
"factoryContinentID": "24865671",
"factoryCountryID": "23424781",
"factoryProvinceID": "12578016",
"factoryCityID": "12687656",
"factoryAddress": "LuoHuQu ChunFenglu 999",
"factoryPostCode": "453214",
"factoryProductLines": ["bigCat1_s2", "bigCat1_s3"],
"products": [
{
"name": "Dumbbell Kaytan 2kg",
"categoryId": "bigCat2",
"familyId": "bigCat2_s2",
"typeId": "bigCat2_s2_t200",
"customField1": "This is vendor booking remark",
"refs": [
{
"poNumber": "6111",
"skuCode": "2568442",
"qty": 4260
}
],
"checkList": {
"aqlCritical": "0",
"aqlMajor": "1",
"aqlMinor": "3"
}
}
]
}'
Successful Response
HTTP 200 OK means the request was accepted for asynchronous processing. content is the requestId to poll for the result — it is not the final order ID.
{
"message": "successfully receive your request, you can call /booking-result API to check booking result",
"content": "E97EFEEBCAD647CCAAF4F123E889BC4E"
}
Response Field Notes
| Field | Notes |
|---|---|
content | The requestId. Pass this to Get Async Booking Result to check the outcome — do not treat it as the final orderId. |
Common Errors
See common authentication errors for 401 and 403 responses.
Next Steps
- Poll Get Async Booking Result with the returned
requestIduntil the status is no longerPENDING.
