1. Create Shipment (Weight-Based)

View as Markdown
Creates a shipment priced by weight. `amount` should match the value returned by **Calculate Pricing** for this weight/route — the server may reject mismatched amounts. **Body parameters** | Field | Type | Required | Description | |---|---|---|---| | senderName | string | Yes | Pickup contact name | | senderPhone | string | Yes | E.164 format, e.g. +265991234567 | | senderCity | string | Yes | Pickup city | | receiverName | string | Yes | Delivery contact name | | receiverPhone | string | Yes | E.164 format | | receiverCity | string | Yes | Delivery city | | serviceType | string | Yes | `standard` or `express` | | declaredValue | number | Yes | Value of goods in MWK, for insurance purposes | | amount | number | Yes | Shipping cost in MWK, from Calculate Pricing | | weight | number | Yes | Package weight in kg | | pricingType | string | Yes | Must be `weight_based` | | description | string | Yes | Order/contents description | | ecommerceOrderId | string | Yes | Your platform's order ID, for reconciliation | | shopId | string | Yes | Your shop code, provided by Impala Courier |

Authentication

X-API-Keystring
API Key authentication via header

Headers

X-API-KeystringOptional
Your shop's API key

Request

This endpoint expects an object.
amountintegerRequired
shopIdstringRequired
weightdoubleRequired
senderCitystringRequired
senderNamestringRequired
descriptionstringRequired
pricingTypestringRequired
senderPhonestringRequired
serviceTypestringRequired
receiverCitystringRequired
receiverNamestringRequired
declaredValueintegerRequired
receiverPhonestringRequired
ecommerceOrderIdstringRequired

Response

Created
dataobject
successboolean