Issue an Invoice
This endpoint is used to create an invoice for a particular shipment. The request must include details about the shipment, such as the tracking number, chargeable weight, and charges. Upon successful creation, the API returns the invoice details along with a 201 Created status.
Endpoint:POST /api/v1/shipment/issueInvoice
Request
- URL:
/api/v1/shipment/issueInvoice - Method:
POST - Content-Type:
application/json - Authentication: Bearer token required in the
Authorizationheader.
Headers:
Authorization: Bearer {jwt_token}
Content-Type: application/jsonSample Payload:
{
"trackingNumber": "TRACK1234567890",
"chargeableWeight": {
"unit": "KG",
"value": 12.5
},
"charges": [
{
"type": "Base Rate",
"amount": {
"currencyCode": "USD",
"amount": 200.00
}
},
{
"type": "Fuel Surcharge",
"amount": {
"currencyCode": "USD",
"amount": 50.00
}
}
],
"invoice": {
"invoiceNumber": "INV-987654321",
"invoiceDate": "2024-09-13T10:00:00Z",
"billingAccountNumber": "ACC-54321",
"billingAccountName": "Acme Corporation",
"totalDiscountAmount": 5.00,
"taxAmount": 25.00,
"totalAmountIncludingTax": 270.00,
"currencyCode": "USD"
}
}Request Parameters
trackingNumber(string): The unique tracking number associated with the shipment.chargeableWeight(object): The weight details of the shipment, including:unit(string): The unit of measurement for the weight (e.g., KG, LB).value(number): The numerical value of the weight.
charges(array of objects): A list of charges related to the shipment, each containing:type(string): The type of the charge (e.g., Base Rate, Insurance).amount(object): The monetary value of the charge, including:currencyCode(string): The three-letter ISO currency code (e.g., USD).amount(number): The amount of money, expressed as a decimal value.
invoice(object): Invoice details for the shipment, including:invoiceNumber(string): The unique invoice number.invoiceDate(string): The date of the invoice, inISO 8601format.billingAccountNumber(string): The billing account number associated with the invoice.billingAccountName(string): The name of the billing account associated with the invoice.totalDiscountAmount(number): The total discount amount applied to the invoice. Must be 0 or more.taxAmount(number): The tax amount applied to the invoice. Must be 0 or more.totalAmountIncludingTax(number): The total amount including tax for the invoice. Must be 0 or more and greater than the TaxAmount.currencyCode(string): The three-letter ISO currency code (e.g., USD).
Response
- Status:
201 Created
Sample Response:
{
"status": "Success",
"message": "Shipment invoice issued successfully.",
"data": {
"trackingNumber": "TRACK1234567890",
"chargeableWeight": {
"unit": "KG",
"value": 12.5
},
"charges": [
{
"type": "Base Rate",
"amount": {
"currencyCode": "USD",
"amount": 200
}
},
{
"type": "Fuel Surcharge",
"amount": {
"currencyCode": "USD",
"amount": 50
}
}
],
"invoice": {
"invoiceNumber": "INV-987654321",
"invoiceDate": "2024-09-13T10:00:00Z",
"billingAccountNumber": "ACC-54321",
"billingAccountName": "Acme Corporation",
"totalDiscountAmount": 5.00,
"taxAmount": 25.00,
"totalAmountIncludingTax": 270.00,
"currencyCode": "USD"
}
},
"errors": null,
"correlationId": "91e5bb2d-139f-4f54-8c5d-511502db3db8",
"timestamp": "2024-09-13T06:18:04.5959128Z"
}Response Fields
-
status(string): Indicates whether the request was successful or failed. Possible values:"success": The request was processed successfully."failure": The request failed due to an error.
-
message(string): A human-readable statement describing the result of the request. For example:"Shipment invoice issued successfully.""Invalid request parameters."
-
data(object, optional): Contains the data object that was submitted to the API in case of a successful request. For example, when creating a shipment, this will return the sameShipmentInvoiceDtoobject. -
errors(array of ErrorDto, optional): A list of detailed errors, provided when the request fails. -
correlationId(string): A unique identifier assigned to the request for tracking purposes. This is useful for troubleshooting or auditing and will be generated for every request, whether successful or not. -
timestamp(string): The date and time when the request was received and processed. The format isISO 8601, for example:"2024-09-01T10:15:30Z".
Possible HTTP Status Codes
201 Created: The shipment invoice was successfully created.400 Bad Request: The request payload is invalid or contains missing fields.422 Unprocessable Entity: The input data validation failed.500 Internal Server Error: The server encountered an error while processing the request.
Additional Notes
- Rate Limiting: The endpoint may be subject to rate limiting. If you encounter a
429 Too Many Requestserror, implement exponential backoff for retries.
By following this guide, you'll be able to securely issue an invoice for a certain shipment in our platform.
Updated 5 months ago
