Introduction
This document provides detail information on how you can create, read, update and delete the Purchaseorder through integration service.
-
JSON Entities - provides detail description of all entities and each field in each entity.
-
Lookup Types and codes - provides complete list of lookup codes and values along with description.
-
Responses (HTTP statuses) and Validation Errors - provides the list of HTTP codes that are generated by limbiq platform and also the validations list.
-
Appendix - provides additional information.
-
Example - provides a example which you can use and modify to your needs
If you have any questions, please contact support@limbiq.com.
JSON Entities
Below is the list of JSON entities starting with main entity "Purchaseorder". The fields marked as ignored will be ignored by limbiq platform when creating/updating/archiving the entity. These values are generated by limbiq platform and provided to you when you retrieve the object. For the fields that are marked as Optional and a default value is provided, when no value is provided then the default value is set but when the field itself is not added to the object, then the existing value will be retained.
Also note that when you use the field in the object, then the value will be updated (overridden) in the limbiq platform even though the value is empty. If you don’t want to override the existing field value, then don’t use the field. For example, you set the field "MOT" to "FOB" when creating the "Purchaseorder" and when updating "Purchaseorder", you just used the "MOT" field in the object you passed but didn’t set any value (is empty), then system overwrites the existing value with empty value.
The same is applicable for the array field. For example, if you create a "Purchaseorder" with array of 3 "TransshipPort"s and when you update the "Purchaseorder" with empty array of "TransshipPort"s, then the limbiq platform tries to replace the existing "TransshipPort"s with new set and since at least one is required, an error will be returned.
Instruction object is an exception. Please check Instruction section to get more information.
Any deleted entity cannot be recovered. If you try to request or update the deleted entity, "Entity not Found" error will be returned. Most important: For Cargo and Container, sequence_number field is used as an identifier. If you want to update the existing POLine or Cargo or Container, you need to provide the same sequence_number. If you provide different sequence_number and if the respective entity with that sequence_number already exists, then the existing entity will be overwritten but if no entity exists, then new entity will be created.
If you send "Containers" in PO or "Cargos" in PO Lines, then the shipments are automatically created from PO (one shipment per PO) and containers and cargos are added to shipment. Note that containers or cargos are not added to PO. If you dont send "Containers" in PO or "Cargos" in PO Lines, then no shipments are auto-created from PO.
Purchaseorder
Field Name | Field Type | Description | Required/Optional/Ignored | Default Value |
---|---|---|---|---|
id |
string |
This is unique ID of the "Purchaseorder" and is autogenerated by limbiq platform. |
Ignored |
|
purchase_order_number |
string |
Purchase Order Number. This value must be unique and also case insensitive. If any existing value is used, then limbiq matches existing "Purchaseorder" with this "Purchaseorder" and updates (or archives, if archived field is set to true) the existing "Purchaseorder". If you don’t have an Purchase Order Number, you can leave it empty and the limbiq system generate a generic one. |
Optional |
|
mot |
Lookup field MOT |
Mode of Transport. User should define their primary mode of Transport. |
Optional |
|
incoterm |
Lookup field Incoterm |
Incoterms (2020). |
Optional |
|
transship_ports |
Array of TransshipPort |
User can provide TransshipPorts. You can change them on each time. If you don’t have any ports yet, you can leave it empty and fill it afterwards. |
Optional |
|
instructions |
Array of Instruction |
If you want to provide instructions to other Partners, you can add here. Even though it’s an array, you will pass usually one instruction where you can add as much instructions are possible in one field. |
Optional |
|
confirmation_number |
string |
The Purchase Order confirmation number that was generated when confirming the "Purchaseorder". |
Optional |
|
po_lines |
Array of POLine |
Purchase Order Lines (or products or items). For existing "Purchaseorder", if this field is not provided, then existing PO Lines will not be modified or archived. But if you set this field for existing "Purchaseorder", then the current PO Lines are replaced by the new values. |
Optional |
|
containers |
Array of Container |
When MOT is SEA or SEA-AIR or RAIL, and if you already have the container information, then you can define the number of containers required and also (if you have) additional information on each container. For other MOTs, this field is ignored. |
Optional |
|
additional_references |
Array of AdditionalReference |
If you have any further references you used in additional services, you can drop here. |
Optional |
|
status |
Lookup field PurchaseorderStatus |
When creating new "Purchaseorder", if no status is provided, then the "Purchaseorder" will be created in Submitted status - which means the partner (Shipper or Consignee) has to explicitly confirm the "Purchaseorder" (through API or limbiq platform) before creating a shipment for it. If you want to submit and confirm "Purchaseorder" in one step, then set this field with "PO_CONFIRMED" as value. This field does not show the Shipment Status. The final status is "PO_CONFIRMED". |
Optional |
SUBMITTED |
partners |
Array of PartnerRole |
The email address and role of the partner. Partners are optional when you don’t want to manage your process. If you want to manage your supply chain process then you should add them to this entity. |
Optional |
For new Purchaseorder, user who has created the Purchaseorder will be added as Partner |
owner |
string |
This is generated and created by limbiq platform to be used by limbiq internal team |
Ignored |
|
deleted |
boolean |
If you want to archive an existing "Purchaseorder", set this field with "true" as value. This field has no effect on new "Purchaseorder" and if set to true, the "Purchaseorder" will be ignored. Note that once archived, it cannot be recovered. And also only the creator can archive the "Purchaseorder". For other partners, an error will be returned. |
Optional |
FALSE |
created_date |
date-time |
The date-time at which this "Purchaseorder" is created in limbiq platform. This value is set by limbiq platform. If user passes this value, it will be ignored. |
Ignored |
|
creator |
string |
The email address of the user who has created the "Purchaseorder". This value is set by limbiq platform. If user passes this value, it will be ignored. |
Ignored |
|
updated_date |
date-time |
The date-time at which this "Purchaseorder" is updated latest in limbiq platform. This value is set by limbiq platform. If user passes this value, it will be ignored. |
Ignored |
|
updater |
string |
The email address of the user who has updated latest the "Purchaseorder". This value is set by limbiq platform. If user passes this value, it will be ignored. |
Ignored |
TransshipPort
Field Name | Field Type | Description | Required/Optional/Ignored | Default Value |
---|---|---|---|---|
id |
string |
This is unique ID of the transshipport and is autogenerated by limbiq platform. |
Ignored |
|
type |
Lookup field - TransshipPortType |
Type of the TransshipPort |
Required |
|
address |
string |
Physical address of the location. It could be port address, pickup warehouse address, destination warehouse address, etc |
Optional |
|
city |
The city of the transship port along with UNLocode. |
Optional |
||
planned_date |
date |
The planned date at which the cargo can be picked up or dropped off or shipped or arrived, etc |
Optional |
|
planned_time |
time |
The planned time at which the cargo can be picked up or dropped off or shipped or arrived, etc |
Optional |
|
estimated_date |
date |
The estimated date at which the cargo can be picked up or dropped off or shipped or arrived, etc |
Optional |
|
estimated_time |
time |
The estimated time at which the cargo can be picked up or dropped off or shipped or arrived, etc |
Optional |
|
actual_date |
date |
The actual date at which the cargo was picked up or dropped off or shipped or arrived, etc |
Optional |
|
actual_time |
time |
The actual time at which the cargo was picked up or dropped off or shipped or arrived, etc |
Optional |
|
ordinal |
integer |
The order of "TransshipPort"s through which the cargo is transported. (route). This value must be unique. If no value is provided, limbiq platform will autoassign the incremental value. If ordinal is provided for some of "TransshipPort"s and not for some, then limbiq will auto-assign for the missing ones based on the maximum value (incrementing from that value). And if duplicate value is provided, the last transshipport with duplicate value will override other transshipports of same value. |
Optional |
City
Field Name | Field Type | Description | Required/Optional/Ignored | Default Value |
---|---|---|---|---|
name |
string |
Name of the city |
Required |
|
un_locode |
string |
UNLocode of the city. Please provide if available as it will the same city matches with multiple UNLocodes. |
Optional |
POLine
Field Name | Field Type | Description | Required/Optional/Ignored | Default Value |
---|---|---|---|---|
id |
string |
This is unique ID of the "POLine" and is autogenerated by limbiq platform. |
Ignored |
|
sequence_number |
integer |
Incremental unique sequence number (1, 2, 3) of the PO Line or Item of PO. The value must be unique for each "POLine". This is used as identifier to update the existing "POLine" for existing "Purchaseorder". If same sequence_number is used for more than one "POLine", then the last one with same sequence number will override the previous one (with same sequence number). |
Required |
|
product_name |
string |
The product or item name. |
Optional |
|
product_code |
string |
The product or item code (SKU or UPC or EAN or ISBN or any other code). |
Optional |
|
quantity |
The total number of products. |
Optional |
||
crd |
date |
Cargo ready date. |
Optional |
|
unit_price |
Each product price. The total price will be calculated as unit_price * quantity. |
Optional |
||
hazmat |
Hazardous material (Dangerous Goods) classification |
Optional |
||
cargos |
Array of Cargo |
The PO lines can be divided into one or more cargos to ship the same in one or more Shipments/Containers. |
Optional |
|
instructions |
Array of Instruction |
List of instructions that can be provided to Shipper or Forwarder. |
Optional |
|
created_dates |
date-time |
The date-time at which this "POLine" is created in limbiq platform. This value is set by limbiq platform. If user passes this value, it will be ignored. |
Ignored |
|
creator |
string |
The email address of the user who has created the "POLine". This value is set by limbiq platform. If user passes this value, it will be ignored. |
Ignored |
|
updated_date |
date-time |
The date-time at which this "POLine" is updated latest in limbiq platform. This value is set by limbiq platform. If user passes this value, it will be ignored. |
Ignored |
|
updater |
string |
The email address of the user who has updated latest the "POLine". This value is set by limbiq platform. If user passes this value, it will be ignored. |
Ignored |
Cargo
Field Name | Field Type | Description | Required/Optional/Ignored | Default Value |
---|---|---|---|---|
id |
string |
This is unique ID of the cargo and is autogenerated by limbiq platform. |
Ignored |
|
sequence_number |
integer |
Incremental unique sequence number (1, 2, 3) of the "Cargo". The value must be unique for each "POLine". This is used as identifier to update the existing cargo for existing "POLine". If same sequence_number is used for more than one cargo, then the last one with same sequence number will override the previous one (with same sequence number). |
Required |
|
container_sequence_number |
integer |
The container to which the cargo is loaded. Either container_sequence_number or container_number are required if you want to attach the cargo to container, otherwise it is optional. |
Optional |
|
container_number |
string |
The container to which the cargo is loaded. Either container_sequence_number or container_number are required if you want to attach the cargo to container, otherwise it is optional. |
Optional |
|
purchase_order_number |
string |
The Purcharse order Number of the products. This is used only when the cargo is subcollection of Shipment. If the purchase_order_number does not exist in limbiq, a new Purchase order will be created. |
Optional |
|
product_name |
string |
Name of the product in this cargo. This is used only when the cargo is subcollection of Shipment. If product_name for the above purchase order does not exist in limbiq, a new POLine will be created in the respective Purchase order. |
Optional |
|
product_code |
string |
Code of the product in this cargo. This is used only when the cargo is subcollection of Shipment. If product_code for the above purchase order does not exist in limbiq, a new POLine will be created in the respective Purchase order. |
Optional |
|
quantity |
Total number of items in this cargo. |
Optional |
||
weights |
Array of Weight |
Different weights of the cargo |
Optional |
|
volume |
Volume of the cargo. |
Optional |
||
packaging_type |
string |
Type of the package |
Optional |
|
packaging_quantity |
integer |
Number of packages in this cargo. |
Optional |
|
packaging_dimension |
Packaging dimensions of the packages. |
Optional |
||
additional_references |
Array of AdditionalReference |
If you have any further references you used in additional services, you can drop here. |
Optional |
|
status |
This field provides information on the status of the "Cargo" based on the "Purchaseorder" and "Shipment" statuses. This is set by limbiq platform and any value passed by user will be ignored. |
Ignored |
Quantity
Field Name | Field Type | Description | Required/Optional/Ignored | Default Value |
---|---|---|---|---|
value |
integer |
The total number of products. |
Required |
|
uom |
string |
See list. The unit of measure of the product. For new POLine, if no value is entered, Pieces is set as default value. |
Optional |
Weight
Field Name | Field Type | Description | Required/Optional/Ignored | Default Value |
---|---|---|---|---|
type |
Lookup field - WeightType |
See List. The Weight Type. If no value is entered, then GROSS - Gross Weight is assumed as value. |
Optional |
|
value |
double |
The actual weight |
Required |
|
uom |
Lookup field - WeightUOM |
See List. The UOM of weight and if no value is entered, then KG is assumed as value. |
Optional |
Volume
Field Name | Field Type | Description | Required/Optional/Ignored | Default Value |
---|---|---|---|---|
value |
double |
The actual volume |
Required |
|
uom |
Lookup field - VolumeUOM |
The Unit of Measure of "Volume" and if no value is provided, then CBM - CubicMeter is assumed as value |
Optional |
PackagingDimension
Field Name | Field Type | Description | Required/Optional/Ignored | Default Value |
---|---|---|---|---|
length |
double |
The length of the package. |
Optional |
|
width |
double |
The width of the package. |
Optional |
|
height |
double |
The height of the package. |
Optional |
|
uom |
Lookup field - DimensionUOM |
See List. The UOM of Dimensions and if no value is entered, then CM - Centimeter is assumed as value. |
Optional |
Hazmat
Field Name | Field Type | Description | Required/Optional/Ignored | Default Value |
---|---|---|---|---|
class |
Lookup field HazmatClass |
Dangerous goods are divided into nine classes (in addition to several subcategories) on the basis of the specific chemical characteristics producing the risk. |
Required |
|
packing_group |
Lookup field HazmatPackagingGroup |
Packing groups are used for the purpose of determining the degree of protective packaging required for dangerous goods during transportation |
Optional |
|
un_na_number |
string |
Four-digit numbers ranging from 0004-3534 are called United Nations (UN) numbers. They help identify hazardous international cargo traveling in the United States. Goods that aren’t classified or regulated by the United Nations receive North American (NA) numbers. These four-digit numbers range from 8000-9279 and are assigned by the DOT |
Optional |
Container
Field Name | Field Type | Description | Required/Optional/Ignored | Default Value |
---|---|---|---|---|
id |
string |
This is unique ID of the container and is autogenerated by limbiq platform. |
Ignored |
|
sequence_number |
integer |
Incremenetal unique sequence number (1, 2, 3). When planning a shipment, user may not know the type of the container or container number, instead may know only the number of containers required. Then add that many container objects with incremental sequential number. |
Required |
|
container_number |
string |
The container identification number provided by the Shipper or Forwarder (used also for tracking). |
Optional |
|
container_code |
string |
We follow ISO 6346 Standard. Please check here for further information - https://en.wikipedia.org/wiki/ISO_6346 |
Optional |
|
container_size |
string |
The size of the container - 20, 40, 45, etc. |
Optional |
|
container_type |
string |
The type of the container - GP, HC, High Cube, Dry, Refrigerated, etc. This is free form field and you can provide appropriate value that matches to your system |
Optional |
|
teu |
integer |
TEU - Twenty foot Equivalent Unit. For 20 ft container, the value will be 1. For 40 or 45 ft container, the value will be 2. |
Optional |
|
weights |
Array of Weight |
List of different weights of the container. |
Optional |
|
additional_references |
Array of AdditionalReference |
If you have any further references you used in additional services, you can drop here. |
Optional |
|
instructions |
Array of Instruction |
List of instructions that can be provided to other partners. The instructions will be available to the associated entities - PO, PO Line, Shipment. |
Optional |
|
created_date |
date-time |
The date-time at which this container is added to limbiq system. This value is set by limbiq system. If user passes this value, it will be ignored. |
Ignored |
|
creator |
string |
The email address of the user who has created the container. This value is set by limbiq system. If user passes this value, it will be ignored. |
Ignored |
|
updated_date |
date-time |
The date-time at which the information of this container is updated or deleted. This value is set by limbiq system. If user passes this value, it will be ignored. |
Ignored |
|
updater |
string |
The email address of the user who has updated or deleted the container. This value is set by limbiq system. If user passes this value, it will be ignored. |
Ignored |
AdditionalReference
If you have any additional references that are not listed in purchase order (Ex: Invoice Number), then you can pass them as AdditionalReference object. Note that the reference_field_name is the name of the Additional Reference and is free form text - Ex: Invoice Number. If the respective field does not exist, it will be automatically created. Also please make sure there are no typos else the fields are duplicated with typos.
Field Name | Field Type | Description | Required/Optional/Ignored | Default Value |
---|---|---|---|---|
id |
string |
Auto generated unique ID by limbiq. |
Ignored |
|
reference_field_name |
string |
The free-form text of reference field name. |
Required |
|
reference_field_value |
string |
The field value. |
Required |
|
deleted |
boolean |
To delete the additional reference, set true as value. |
Optional |
PartnerRole
Field Name | Field Type | Description | Required/Optional/Ignored | Default Value |
---|---|---|---|---|
string |
the email address of the partner. |
Required |
||
role |
string |
Role of the Partner in this "Purchaseorder" or "Purchaseorder" - Ex. Consignee, Shipper, Forwarder, Notify Party. |
Required |
Instruction
Every "Instruction" object is considered as new instruction and hence a new "Instruction" is added in limbiq platform each time it is added to the parent object (either it is create action or update action). For ex. You created a "Purchaseorder" by setting the "Instruction" and then updated the "Purchaseorder" by passing the same "Instruction", then limbiq platform creates 2 "Instruction"s with same value. If you want to avoid duplicates, set and send only new "Instruction"s.
Also only the creator of the "Instruction"s, can delete them. If other partner, tries to delete the "Instruction" not created by her/him, then the "Instruction" is ignored (no error is returned). For ex: A forwarder added an "Instruction" and the consignee get the list and tries to delete the one created by forwarder, then the action will be ignored by limbiq platform.
Field Name | Field Type | Description | Required/Optional/Ignored | Default Value |
---|---|---|---|---|
id |
string |
Auto generated unique ID by limbiq. |
Ignored |
|
value |
string |
The actual instructions. |
Required |
|
deleted |
boolean |
To delete the instruction, set true as value. |
Optional |
|
created_date |
date-time |
The date-time at which this instruction is added to limbiq system. This value is set by limbiq system. If user passes this value, it will be ignored. |
Ignored |
|
creator |
string |
The email address of the user who has created the attachment. This value is set by limbiq system. If user passes this value, it will be ignored. |
Ignored |
|
updated_date |
date-time |
The date-time at which this instruction is deleted. This value is set by limbiq system. If user passes this value, it will be ignored. |
Ignored |
|
updater |
string |
The email address of the user who has deleted the instruction. This value is set by limbiq system. If user passes this value, it will be ignored. |
Ignored |
UnitPrice
Field Name | Field Type | Description | Required/Optional/Ignored | Default Value |
---|---|---|---|---|
price |
double |
The price of each unit of product. |
Required |
|
currency |
Lookup field Currency |
Currency |
Optional |
EURO |
Lookup Types and Codes
Below is the list of lookup codes with description for each Lookup type. Limbiq platform supports only these codes wherever they are referred and if any other code than these are provided, either they are ignored or an error is returned. Please see each field description to know which behavior is applied.
PurchaseorderStatus
Status | Description |
---|---|
SUBMITTED |
Consignee submitted to Shipper for Confirmation |
PO_CONFIRMED |
Shipper (or Consignee - Self) confirmed the Purchaseorder |
MOT
MOT (Mode of Transport) | Description |
---|---|
SEA |
Sea |
AIR |
Air |
SEA-AIR |
Sea and Air |
TRUCK |
Truck |
RAIL |
Rail |
Incoterm
Incoterm (2020) | Description |
---|---|
EXW |
Ex Works (named place of delivery) |
FCA |
Free Carrier (named place of delivery) |
FAS |
Free Alongside Ship (named port of shipment) |
FOB |
Free on Board (named port of shipment) |
CFR |
Cost and Freight (named port of destination) |
CIF |
Cost, Insurance & Freight (named port of destination) |
CPT |
Carriage Paid To (named place of destination) |
CIP |
Carriage and Insurance Paid to (named place of destination) |
DAP |
Delivered At Place (named place of destination) |
DPU |
Delivered At Place Unloaded (named place of destination) |
DDP |
Delivered Duty Paid (named place of destination) |
TransshipPortType
TransshipPortType | Description |
---|---|
PICKUP_LOCATION |
Pickup location of cargo. Usually origin warehouse (of Shipper) |
POL |
Port of Loading |
VIA |
Via |
PORT |
Shipping Port or Airport (usually used as Via but to be specific) |
TERMINAL |
Shipping Terminal or Airport Terminal |
CUSTOM_CHECK |
Customs location |
BORDER |
Cross country border |
DOCK |
Dock (at Shipping Yard, etc) where cargo is delivered intermittently |
CROSS_DOCKING |
Cross Docking |
BREAK_OF_GUAGE |
Break of Guage |
POD |
Port of Discharge or Port of Arrival |
DESTINATION |
Final Destination |
CONTAINER_YARD |
Container Yard where the container is picked up empty and returned empty after transport |
LOCATION |
Any type of location if you can’t specify it |
WeightType
WeightType | Description |
---|---|
NET |
Net Weight is the total weight of just the raw cargo, or for container - is the total weight (gross as above) of the cargo after it has been packed into a container – but excluding the tare weight of the container |
GROSS |
Gross Weight is the total weight of the raw cargo (example – Peppadews) + the weight of bottles or cans that it is packed in.. If the bottles and cans are further packed into cartons which are placed on a pallet, then the weight of the peppadews + bottles + cartons + pallets = gross weight, or for container - is the total weight of the cargo + the tare weight of the container |
TARE |
Tare Weight is the weight of the empty container |
DWT |
Dead Weight: refers to the weight that a ship can safely carry – this includes the weight of the cargo on board the ship, the crew, stores, fuel, water, allast etc.. If the total weight exceeds the DWT certified by the ship builder, then the ship could be in danger of sinking or damage.. |
PAYLOAD |
Payload is the maximum cargo weight that a container can carry and excludes the tare weight of the container.. Containers have CSC plates that reflect the payload that the container is allowed to carry.. |
GT |
Gross Tonnage: refers to a ships overall internal volume including crew accommodation, machinery, navigation equipment etc |
NT |
Net Tonnage: refers to a ships GT minus the the space used up by the crew accommodation, machinery, navigation equipment etc – basically the space that is available for the carriage of passengers and cargo.. |
VGM |
Verified Gross Mass: for container |
WeightUOM
WeightUOM (Unit of Measure) | Description |
---|---|
KG |
Kilograms |
POUND |
Pounds |
VolumeUOM
VolumeUOM (Unit of Measure) | Description |
---|---|
CBM |
Cubic Meter |
CFT |
Cubic Feet |
DimensionUOM
DimensionUOM (Unit of Measure) | Description |
---|---|
CM |
Centimeters |
IN |
Inches |
FT |
Feet |
Currency
Currency | Description |
---|---|
EURO |
Euro |
DOLLAR |
Dollar |
HazmatClass
Hazmat Class | Description |
---|---|
1.1 |
Explosives with a mass explosion hazard |
1.2 |
Explosives with a blast/projection hazard. |
1.3 |
Explosives with a minor blast hazard. (rocket propellant, display fireworks) |
1.4 |
Explosives with a major fire hazard. (consumer fireworks, ammunition) |
1.5 |
Blasting agents |
1.6 |
Extremely insensitive explosives |
2.1 |
Flammable Gas |
2.2 |
Nonflammable Gas, Oxygen (Alternative Placard) |
2.3 |
Poisonous Gas, Inhalation Hazard (Alternative Placard) |
3 |
Flammable Liquids, Combustible (Alternate Placard), Fuel Oil (Alternate Placard), Gasoline (Alternate Placard) |
4.1 |
Flammable Solids |
4.2 |
Spontaneously Combustible Solids |
4.3 |
Dangerous when Wet |
5.1 |
Oxidizing Agent |
5.2 |
Organic Peroxide Oxidizing Agent |
6.1 |
Poison |
6.2 |
Biohazard |
7 |
Radioactive |
8 |
Corrosive |
9 |
Miscellaneous |
HazmatPackagingGroup
Hazmat Packaging Group | Description |
---|---|
1 |
Packing Group I, if they have an initial boiling point of 35°C or less at an absolute pressure of 101.3 kPa and any flash point, such as diethyl ether or carbon disulfide |
2 |
Packing Group II, if they have an initial boiling point greater than 35°C at an absolute pressure of 101.3 kPa and a flash point less than 23°C, such as gasoline (petrol) and acetone |
3 |
Packing Group III, if the criteria for inclusion in Packing Group I or II are not met, such as kerosene and diesel |
CargoStatus
Status | Description |
---|---|
CARGO_PLANNED |
Plan cargo for a shipment |
CARGO_READY |
Cargo is ready to book a shipment |
SHIPMENT_PLACED |
Shipment is placed at a carrier |
SHIPMENT_CONFIRMED |
Shipment is confirmed, so that it will transported by the carrier |
CARGO_DISPATCHED |
Cargo is dispatched from shipper |
SHIPPED |
Shipment is on the way |
ARRIVED_AT_POD |
Shipment has arrived port of discharge or port of arrival |
ARRIVED_AT_DESTINATION |
Shipment has arrived final destination |
Responses and Validation Errors
Below are the HTTP Codes that are used by limbiq platform.
Http Code | Return Value | Description |
---|---|---|
200 |
Entity is created or updated or deleted |
The is the successful code and will be returned when the respective action is successfully completed. |
400 |
Validation failed on requested entity |
This means that the request is not well-formed, or syntactically incorrect, or violates schema. |
404 |
Entity not found. |
This error occurs when you try to delete the Purchaseorder and it is available in the limbiq platform. |
Below are the list of validation errors that occur because of missing or wrong information sent to limbiq platform.
Entity | Validation Error |
---|---|
All |
In all entities, wherever it is mentioned as required and the value is not provided,"FieldName: value is required" error will be returned. |
All |
Wherever applicable: If wrong status is used than what is mentioned in the Lookup codes, then and error "entity name: Wrong status" will be returned. |
TransshipPort |
The dates follow below order and if they are in different order, then an error "Date2: Should be greater than Date1" Estimated date of POL < Estimated date of POD < Estimated date of Destination Actual date of POL < Actual date of POD < Actual date of Destination |
Appendix
Recommended TransshipPort Types for MOT/Incoterm
MOT | Incoterm | Recommended TransshipPort Types |
---|---|---|
All(Except TRUCK) |
EXW |
PICKUP_LOCATION, POL, POD, DESTINATION |
All(Except TRUCK) |
CIP |
PICKUP_LOCATION, POL, POD, DESTINATION |
All(Except TRUCK) |
DAP |
POD, DESTINATION |
All(Except TRUCK) |
FCA |
PICKUP_LOCATION, POL, POD, DESTINATION |
All(Except TRUCK) |
DPU |
DESTINATION |
All(Except TRUCK) |
CPT |
POL, POD, DESTINATION |
All(Except TRUCK) |
DDP |
DESTINATION |
SEA, SEA-AIR |
FAS |
POL, POD, DESTINATION |
SEA, SEA-AIR |
CFR |
POL, POD, DESTINATION |
SEA, SEA-AIR |
FOB |
POL, POD, DESTINATION |
SEA, SEA-AIR |
CIF |
POL, POD, DESTINATION |
TRUCK |
EXW |
PICKUP_LOCATION, DESTINATION |
TRUCK |
CIP |
PICKUP_LOCATION, DESTINATION |
TRUCK |
DAP |
DESTINATION |
TRUCK |
FCA |
PICKUP_LOCATION, DESTINATION |
TRUCK |
DPU |
DESTINATION |
TRUCK |
CPT |
PICKUP_LOCATION, DESTINATION |
TRUCK |
DDP |
DESTINATION |
Example
{
"purchase_order_number":"PO123456",
"mot":"SEA",
"incoterm":"FOB",
"transship_ports" : [
{
"type" : "POL",
"address" : "Street in Hongkong",
"city" : {
"name": "Hong Kong",
"un_locode": "HKHKG"
},
"estimated_date":"2020-08-13",
"estimated_time":"14:20",
"ordinal": 1
},
{
"type" : "POD",
"address" : "Street in Rotterdam",
"city" : {
"name": "Rotterdam",
"un_locode": "NLRTM"
},
"estimated_date":"2020-09-15",
"estimated_time":"11:30",
"ordinal": 2
},
{
"type" : "DESTINATION",
"address" : "Street in Duisburg",
"city" : {
"name": "Duisburg",
"un_locode": "DEDUI"
},
"estimated_date":"2020-09-20",
"estimated_time":"10:30",
"ordinal": 3
}
],
"instructions": [
{
"value": "Use only Bubble Wrap"
}
],
"confirmation_number":"C123456",
"status" : "PO_CONFIRMED",
"archived":false,
"po_lines":[
{
"sequence_number" : 1,
"product_name" : "Blue Jeans",
"product_code" : "BX23456",
"quantity": {
"value": 5000,
"uom":"PCS"
},
"unit_price": {
"price": 5.7,
"currency": "EUR"
},
"crd":"2020-08-23",
"instructions": [
{
"value": "Please make sure this is packed in boxes"
}
],
"hazmat" : {
"class": "1.1",
"packing_group": "2",
"un_na_number": "UN1098"
},
"cargos": [
{
"sequence_number": 1,
"container_sequence_number": 1,
"quantity": {
"value": 3000,
"uom":"PCS"
},
"weights": [
{
"type": "GROSS",
"value": 300,
"uom": "KG"
},
{
"type": "NET",
"value": 200,
"uom": "KG"
}
],
"volume": {
"value": 40.5,
"uom": "CBM"
},
"packaging_quantity": 300,
"packaging_type": "PLT",
"packaging_dimension": {
"length": 10,
"width": 20,
"height": 30,
"uom": "CBM"
},
},
{
"sequence_number": 2,
"container_sequence_number": 2,
"quantity": {
"value": 2000,
"uom":"PCS"
},
"weights": [
{
"type": "GROSS",
"value": 300,
"uom": "KG"
},
{
"type": "NET",
"value": 200,
"uom": "KG"
}
],
"volume": {
"value": 40.5,
"uom": "CBM"
},
"packaging_quantity": 300,
"packaging_type": "PLT",
"packaging_dimension": {
"length": 10,
"width": 20,
"height": 30,
"uom": "CBM"
},
}
]
},
{
"sequence_number" : 2,
"product_code" : "AM23456",
"quantity": {
"value": 3000,
"uom":"PCS"
}
},
{
"sequence_number" : 3,
"product_name" : "Black Shoes",
"quantity": {
"value": 5000,
"uom":"PCS"
},
"cargos": [
{
"sequence_number": 3,
"quantity": {
"value": 3000,
"uom":"PCS"
}
},
{
"sequence_number": 4,
"quantity": {
"value": 3000,
"uom":"PCS"
}
}
]
}
],
"containers": [
{
"sequence_number": 1,
"container_code": "45G1"
},
{
"sequence_number": 2,
"container_code": "45G1"
},
{
"sequence_number": 3,
"container_code": "45G1"
}
],
"partners":[
{
"email": "consignee@user.com",
"role": "CONSIGNEE"
},
{
"email": "shipper@user.com",
"role": "SHIPPER"
},
{
"email": "forwarder@user.com",
"role": "FORWARDER"
},
{
"email": "notification_party@user.com",
"role": "NOTIFICATION_PARTY"
},
]
}