This interface is applicable for data integration API, read Api Access Process first
send data to lenovo
Description:After goods issue, when receive shipment milestone.
Method:POST
ContentType:application/json
Path:/loc_shipment/receive/iftsta
Environment | URL |
---|---|
test | https://api-cn-t.lenovo.com/uat/v1.0/supplychain/loc_shipment/receive/iftsta |
prod | https://api-cn.lenovo.com/v1.0/supplychain/loc_shipment/receive/iftsta |
Request body structure:
Field | desc | field type | mandatory | comments |
---|---|---|---|---|
user_name | partner’s account name that registered in LLGW | String(100) | Y | |
data | message body | Object | Y | shipment status object |
{ | object begin | shipment status object | ||
tracking_number | String(30) | Y | Please use delivery_number | |
tracking_type | String(4) | Y | 1=delivery_number;2=BOL;3=HAWB. Please use 1 | |
tracking_sender_id | String(30) | Y | 3PL SCAC eg:BANQ | |
tracking_sender_name | String(50) | N | 3PL lenovo code eg: 1000050100 | |
forwarder_code | String(10) | N | 3PL SCAC eg:BANQ | |
forwarder_id | String(10) | N | 3PL lenovo code eg: 1000050100 | |
employee_details | String(35) | N | ||
total_weight | String(17) | N | Total weight | |
weight_unit | String(3) | N | Weight Unit | |
total_number_of_packages | String(14) | N | Package number | |
measure_unit | String(3) | N | Measure Unit | |
status_type | String(1) | N | D=Delivery;B=BOL;P=Package | |
status_code | String(2) | N | Refer to 3.2.1 ENUM | |
reason_code | String(3) | N | Refer to 3.2.2 ENUM | |
status_date | String(8) | N | Status date | |
status_time | String(6) | N | Status time | |
status_timezone | String(6) | N | Time zone | |
status_location_code | String(50) | N | Location code: UNLOCODE e.g. AEDXB | |
status_location_code_type | String(3) | N | Qualifier = 145 | |
status_location_country | String(20) | N | Country of location In EDIFACT: Qualifier = 126 | |
mot | String(4) | N | 1-Maritime 2-Rail 3-Road 4-Air 5-Multimodal | |
vessel_name | String(10) | N | Carrier identification eg: BANQ | |
shipping_line_name | String(50) | N | Carrier name | |
forwarder_country | String(20) | N | Country of carrier | |
in_bond_number | String(35) | N | In bound number | |
payment_reference_number | String(35) | N | Payment refence number Eg: INVOICE IFTSTA | |
flight_number | String(20) | N | Air fight number | |
port_of_load | String(25) | N | Port of load Eg: CNSZX USAUS | |
load_port_type | String(80) | N | Load port type Eg: 139 145 Airport place/location | |
port_of_discharge | String(25) | N | Port of discharge Eg: USSEA PHX | |
discharge_port_type | String(3) | N | Discharge port type Eg: 139 145 Airport place/location | |
requested_delivery_date | String(8) | N | Requested delivery date | |
requested_delivery_time | String(6) | N | Requested delivery time | |
requested_delivery_timezone | String(6) | N | Requested delivery timezone | |
estimated_delivery_date | String(8) | N | Estimated delivery date | |
estimated_delivery_time | String(6) | N | Estimated delivery time | |
estimated_delivery_timezone | String(6) | N | Estimated delivery timezone | |
estimated_departure_date | String(8) | N | Estimated (from port) date | |
estimated_departure_time | String(6) | N | Estimated (from port) time | |
estimated_departure_timezone | String(6) | N | Estimated (from port) time zone | |
estimated_arrival_date | String(8) | N | Estimated (at port) date | |
estimated_arrival_time | String(6) | N | Estimated (at port) time | |
estimated_arrival_timezone | String(6) | N | Estimated (at port) time zone | |
partners | Object Array | Y | Ship from code | |
[ | array begin | partner array | ||
{ | object begin | partner object | ||
partner_qualifier | String(2) | Y | SF=ship from; DP=delivery party (ship to); PW=dispatch party | |
partner_id | String(10) | N | Case SF : eg: OE65 (Lenovo shipping point) Case DP Eg: 1216116133(Lenovo customer ID) | |
partner_type | String(2) | N | DC= Distribution Center; DE= Destination; OR= Origin (Shipping Point); PL=Plant; TC= Transcontinental Freight Bureau; WH=Warehouse | |
party_name | String(40) | N | Name | |
street1 | String(40) | N | ||
street2 | String(40) | N | ||
city_name | String(40) | N | ||
postal_code | String(10) | N | ||
country | String(3) | N | ||
} | array end | partner object | ||
] | object end | partner array | ||
shipment_numbers | Object Array | Y | Shipment reference number(service level information of shipment) | |
[ | Array begin | shipment number array | ||
{ | object begin | shipment number object | ||
shipment_info_qualifier | String(3) | Y | AGW= Scheme/plan number; VM=Name of the ocean vessel; VON=Number of the ocean voyage; ALP=Number of the ocean container; SN=Seal on the ocean container or trailer; AKB=Description of the container; HWB=House Airway Bill Number from air forwarder; MWB=Master Airway Bill Number from airline; CV=Trailer number from truck shipment; ZZZ=Name of person who received and signed for delivery; BM=Ocean Master Bill of Lading; BH=Ocean House Bill of Lading; AAY=For PNL CCO; Z01=Reference text1; Z02=Reference text2; Z03=Reference text3; Z04=Reference text4; Z05=Reference text5; Z06=Reference text6; Z07=Reference text7 | |
shipment_info_value | String(35) | Y | Base on “shipment_info_qualifier” | |
} | array end | shipment number object | ||
] | object end | shipment number array | ||
carrier_legs | Object Array | Y | 21=1st leg;22=2nd leg;23=3rd leg | |
[ | array begin | carrier leg array | ||
{ | object begin | carrier leg object | ||
interline_carrier_leg | String(3) | Y | 21=1st leg;22=2nd leg;23=3rd leg | |
carrier_code | String(10) | Y | ||
} | array end | carrier leg object | ||
] | object end | carrier leg array | ||
shipment_references | Object Array | Y | ||
[ | array begin | shipment reference array | ||
{ | object begin | shipment reference object | ||
ref_qualifier | String(3) | Y | ABT=Customs declaration number; AWB=Ari way bill number; HWB=House Airway Bill Number from air forwarder; BM=Ocean Master Bill of Lading; CN=Carrier's reference number; BH=Ocean House Bill of Lading; LO=Load planning number; MWB=Master Airway Bill Number from airline; VM=Name of the ocean vessel | |
identification | String(35) | Y | Refer to ref_qualifier | |
} | object end | shipment reference object | ||
] | array end | shipment reference array | ||
equipments | Object Array | Y | ||
[ | array begin | equipment array | ||
{ | object begin | equipment object | ||
equipment_type | String(2) | Y | Eg:CN= Number of the ocean container OR Description of the container; TE= Trailer number; Others:Equipment ID; Equipment size and type description | |
equipment_number | String(17) | N | CCLU7280646 | |
equipment_type_code | String(10) | N | ||
equipment_type_desc | String(10) | N | 40HQ | |
} | object end | equipment object | ||
] | array end | equipment array | ||
tracking_status | Object Array | Y | Status code | |
[ | array begin | tracking status array | ||
{ | object begin | tracking status object | ||
status_code | String(4) | Y | Refer to 3.2.1 Status Code Enum List | |
reason_code | String(4) | N | Refer to 3.2.2 Status Code Enum List | |
status_date | String(8) | Y | ||
status_time | String(6) | Y | ||
status_timezone | String(6) | Y | ||
} | object end | tracking status object | ||
] | array end | tracking status array | ||
} | object end | shipment status object |
Request body sample:
json
JSON
{
"user_name":"KNPROD",
"data":{
"tracking_number":"8983907820",
"tracking_type":"1",
"tracking_sender_name":"1000050100",
"tracking_sender_id":"BANQ",
"forwarder_code":" BANQ ",
"forwarder_id":"1000050100",
"employee_details":"",
"total_weight":"1342",
"weight_unit":"KGM",
"total_number_of_packages":"4",
"measure_unit":"PCE",
"stauts_type":"D",
"status_code":"X1",
"reason_code":" ",
"status_date":"20200816",
"status_time":"200000",
"status_timezone":"UTC+04",
"status_location_code":"AEDXB",
"status_location_code_type":"145",
"status_location_country":"AE",
"mot":"1",
"vessel_name":"COSU",
"shipping_line_name":"COSCO Container Lines",
"forwarder_country":"CNPVG",
"in_bond_number":"123213111",
"payment_reference_number":"425245252",
"flight_number":"CA-6477",
"port_of_load":"CNPVG",
"load_port_type":"139",
"port_of_discharge":"USLAX",
"discharge_port_type":"139",
"requested_delivery_date":"20200816",
"requested_delivery_time":"173000",
"requested_delivery_timezone":" UTC+04",
"estimated_delivery_date":"20200816",
"estimated_delivery_time":"173000",
"estimated_delivery_timezone":" UTC+04",
"estimated_departure_date":"20200815",
"estimated_departure_time":"012500",
"estimated_departure_timezone":" UTC+04",
"estimated_arrival_date":"20200816",
"estimated_arrival_time":"100100",
"estimated_arrival_timezone":" UTC+04",
"partners":[
{
"partner_qualifier":"SF",
"partner_id":"1212990727",
"partner_type":"OR : Origin (Shipping Point)",
"party_name":" REDINGTON GULF FZE. ",
"street1":"FIRST AVE KUNSHAN EXPORT PROCESSING",
"street2":"JIANGSU",
"city_name":"KUNSHAN",
"postal_code":"215300",
"country":"CN"
},
{
"partner_qualifier":"DP",
"partner_id":" 1212990727",
"partner_type":"Destination",
"party_name":"WISTRON INFOCOMM KUNSHAN CO LTD",
"street1":"FIRST AVE KUNSHAN EXPORT PROCESSING",
"street2":"JIANGSU",
"city_name":"KUNSHAN",
"postal_code":"215300",
"country":"CN"
}
],
"shipment_numbers":[
{
"shipment_info_qualifier":"BM",
"shipment_info_value":"COSU6271066040"
},
{
"shipment_info_qualifier":"VM",
"shipment_info_value":"OOCL EGYPT"
},
{
"shipment_info_qualifier":"VON",
"shipment_info_value":"030W"
},
{
"shipment_info_qualifier":"ALP",
"shipment_info_value":"GCXU5291220"
},
{
"shipment_info_qualifier":"AKB",
"shipment_info_value":"40HQ"
},
{
"shipment_info_qualifier":"BH",
"shipment_info_value":"4363-0334-007.059"
}
],
"carrier_legs":[
{
"interline_carrier_leg":"main",
"carrier_code":"BANQ"
}
],
"shipment_references":[
{
"ref_qualifier":"PQ",
"identification":"INVOICE"
},
{
"ref_qualifier":"AF",
"identification":"LH7706A/2"
}
],
"equipments":[
{
"equipment_type":"TE",
"equipment_number":"H480418974",
"equipment_type_code":"BC",
"equipment_type_desc":"business cabins"
},
{
"equipment_type":"railway",
"equipment_number":"G8562",
"equipment_type_code":"FS",
"equipment_type_desc":"first-class seats"
}
],
"tracking_status":[
{
"status_code":"X1",
"reason_code":"A28",
"status_date":"20200816",
"status_time":"200000",
"status_timezone":"UTC+04"
}
]
}
}
Response structure:
Field | desc | field type | mandatory | comments |
---|---|---|---|---|
success | successful or failed flag | Boolean | Y | true/false |
message | general message | String(50) | Y | |
data | message detail | String(300) | N |
Response body sample:
json
JSON
{
"success": true,
"message": "Operation Successfully",
"data": ""
}
Or
JSON
{
"success": false,
"message": "Operation Failed",
"data": " tracking number [38147351353] is not exists!"
}
For some typical errors, you can have this Error Handling as a reference:
Violation Category | HTTP Status Code | Tips Format | JSON Sample |
---|---|---|---|
Not Null | 400 | [error type] + [field name] is required! | { "success": false, "message": "Bad request error: [tracking_number] is required", "data": "" } |
Length Mismatch | 400 | [error type] + [field name] its length should equal [len]! | { "success": false, "message": "Bad request error: [status_date] its length should equal 8", "data": "" } |
Not a Natural Number | 400 | [error type] + [field name] it should be a natural number! | { "success": false, "message": "Bad request error: [total_number_of_packages] it should be a natural number", "data": "" } |
Not a Decimal | 400 | [error type] + [field name] it should be a number! | { "success": false, "message": "Bad request error: [total_weight] it should be a number", "data": "" } |
Out of Enumeration Scope | 400 | [error type] + [field name] it should be one of [enum list]! | { "success": false, "message": "Bad request error: [weight_unit] it should be one of [KGM,LBR]", "data": "" } |
not match the regular expression | 400 | [error type] + [field name] it should match [RegExp rule]! | { "success": false, "message": "Bad request error: [status_timezone] it should match [UTC[+-]/d/d]", "data": "" } |
Status Code ENUM List:
Order | Desc | Status Code |
---|---|---|
1 | Booked | B |
2 | Booking Confirmed | BF |
3 | Awaiting Export | AW |
4 | GI Date | 01 |
5 | Shipment Has Been Reconsigned | AI |
6 | Shipment Acknowledged | XB |
7 | Pick up | AF |
8 | Shipment Cancelled | CA |
9 | Shipment Returned To Shipper | A3 |
10 | Pick-Up Appointment Date and Time | AA |
11 | Shipment Consolidation | SB |
12 | Seals Altered | SC |
13 | Unable to Process Shipment | UP |
14 | Arrived At Pickup Location Loading Dock | X8 |
15 | Arrived at Consol Hub | H1 |
16 | Departed Consol Hub | H2 |
17 | BL Dest Date (CD Date) | B6 |
18 | Tendered For Delivery | AJ |
19 | On-Board | AE |
20 | In Flight/Vessel depart | F |
21 | Estimated to Arrive (En Route) | E |
22 | Paperwork Received - Did Not Receive Shipment or Equipment | O |
23 | Arrived In Country or Gateway | A |
24 | Unloaded From Vessel | UV |
25 | Deliverd to Air Carrier | AN |
26 | Loaded On Feeder Vessel/Delivery Not Completed | AP |
27 | No Paper Work Received with Shipment or Equipment | N |
28 | No Hazardous Material Document Received | NH |
29 | No Seal On Load | NS |
30 | At Terminal, Intra-Terminal Movement | T |
31 | Weather Prevented Movement | WE |
32 | Loaded On Barge | AO |
33 | Notification | NT |
34 | Estimated Delivery | AG |
35 | Estimated To Depart Origin Location | C |
36 | Customs Cleared | CT |
37 | Awaiting Clearance | AC |
38 | Arrived At Customs | K |
39 | Out-Gate | OA |
40 | Loaded On Rail | AL |
41 | Delivered to Connecting Line | J |
42 | Arrived at Terminal Location | X4 |
43 | Unloaded From A Rail Car | UR |
44 | In-Gate | I |
45 | Enroute to Delivery Location | X6 |
46 | Available for Delivery | AV |
47 | Completed Unloading at Delivery Location | D |
48 | On Hand | OH |
49 | Departed Terminal Location | P |
50 | Delivery Appointment Date and Time | AD |
51 | Attempted Delivery | AH |
52 | Loaded On Truck | AM |
53 | Shipment Split | SA |
54 | Estimated Date And/Or Time Of Arrival At Consignee Loc | X2 |
55 | Shipment Delayed | SD |
56 | Spotted at Consignee's Location | S |
57 | Delivered | X1 |
Reason Code ENUM List:
Reason Code | Des |
---|---|
19 | CASUALTY LOSS |
140 | OTHER --- UPS |
A03 | INCORRECT ADDRESS |
A05 | UNABLE TO LOCATE |
A07 | REFUSED BY CONSIGNEE |
A09 | DAMAGED - DELIVERY COMPLETED |
A1 | MISSED DELIVERY |
A10 | DAMAGED - DELIVERY NOT COMPLETED |
A11 | BUSINESS CLOSED |
A12 | PACKAGE SORTED TO WRONG ROUTE |
A13 | OTHER |
A14 | RETURNED TO SHIPPER |
A15 | BUSINESS ON STRIKE |
A17 | PENDING CUSTOMER BOOK SLOT |
A2 | INCORRECT ADDRESS /UNABLE TO LOCATE |
A20 | RESTRICTED ARTICLES UNACCEPTABLE |
A22 | PACKAGE MISSED INBOUND PLANE AT ORIGIN STATION |
A24 | ACCIDENT |
A28 | PACKAGE MISSORTED DURING AIRCRAFT UNLOAD |
A3 | RETURNED TO SHIPPER |
A30 | MECHANICAL BREAKDOWN |
A33 | OTHER CARRIER RELATED |
A40 | SHIPPER RELATED |
A42 | HOLIDAY - CLOSED |
A43 | WEATHER OR NATURAL DISASTER RELATED |
A46 | RECIPIENT UNAVAILABLE-DELIVERY DELAYED |
A49 | ODA/CARTAGE AGENT |
A5 | UNABLE TO LOCATE |
A51 | CARRIER KEYING ERROR |
A6 | ADDRESS CORRECTED-DELIVERY ATTEMPTED |
A84 | CIVIL EVENT DELAYED |
A90 | RE-PALLITIZED |
A91 | MISSED DELIVERY-CARRIER ERROR |
A92 | EXCEEDS SERVICE LIMITATION |
A95 | PAST CUT-OFF TIME |
A96 | LATE HANDOVER FROM PRIOR 3PL |
A97 | PORT CONGESTION (CARRIER) |
A98 | FORWARDER CAPACITY ISSUE |
A99 | VESSEL SCHEDULE RESTRICTION |
AA | MIS-SORT |
AD | PENDING CUSTOMER BOOK SLOT |
AE | RESTRICTED ARTICLES UNACCEPTABLE |
AG | CONSIGNEE RELATED |
AH | DRIVER RELATED |
AI | MECHANICAL BREAKDOWN |
AJ | OTHER CARRIER RELATED |
AK | DAMAGED - REWRAPPED IN HUB |
AM | SHIPPER RELATED |
AN | HOLIDAY-CLOSED |
AO | WEATHER OR NATURAL DISASTER RELATED |
AP | DELIVERY NOT COMPLETE |
AQ | RECIPIENT UNAVAILABLE-DELIVERY DELAYED |
AR | IMPROPER INTERNATIONAL PAPERWORK |
AT | UNABLE TO CONTACT RECIPIENT FOR BROKER INFORMATION |
AU | CIVIL EVENT DELAYED |
AV | EXCEEDS SERVICE LIMITATION |
AW | PAST CUT-OFF TIME |
B01 | RECONSIGNED |
B02 | APPOINTMENT OR PRE-ARRANGED DELIVERY DATE |
B04 | US CUSTOMS HELD FOR PAYMENT |
B06 | CONSIGNEE CLOSED (INVENTORY, VACATION, ETC.) |
B08 | IMPROPER UNLOADING FACILITY OR EQUIPMENT |
B09 | RECEIVING TIME RESTRICTED |
B1 | CONSIGNEE CLOSED |
B10 | NOTIFY BEFORE DELIVERY |
B11 | HELD FOR PROTECTIVE SERVICE |
B13 | HELD PER SHIPPER |
B16 | ROAD CONDITIONS |
B4 | HELD FOR PAYMENT BY CUSTOMS |
B8 | IMPROPER UNLOADING FACILITY OR EQUIPMENT |
BB | HELD PER SHIPPER |
BC | MISSING DOCUMENTS |
BD | BORDER CLEARANCE |
BE | ROAD CONDITIONS |
BG | OTHER |
BK | PRE-ARRANGED APPOINTMENT |
BL | RESTRICTED / INCOMPATIBLE |
BS | REFUSED BY CUSTOMER |
BSS | BRAND STORE E-COMMERCE SHIPMENT |
BT | RETURNED TO SHIPPER |
C01 | WAITING FOR CUSTOMER PICK-UP |
C02 | FREIGHT NOT SHOWING DESTINATION |
C03 | TRANSFERRED FOR NEXT DAY DELIVERY |
C04 | CUSTOMER APPROVED EARLY DELIVERY |
C05 | EXPEDITE DELIVERY, EARLY ARRIVAL |
C07 | WAITING FOR CUSTOMER SPECIFIED CARRIER |
C08 | COLLECT ON DELIVERY REQUIRED |
C09 | CASH NOT AVAILABLE FROM CONSIGNEE |
C1 | WAITING FOR CUSTOMER PICK-UP |
C10 | CUSTOMS (IMPORT/EXPORT) |
C4 | CUSTOMER VACATION |
C5 | CUSTOMER STRIKE |
C6 | WAITING SHIPPING INSTRUCTIONS |
C8 | COLLECT ON DELIVERY REQUIRED |
C9 | CASH/DOCUMENT NOT AVAILABLE FROM CONSIGNEE |
CA | CUSTOMS (IMPORT/XPORT) |
CB | EMEA CREDIT BLOCK ORDER |
CDP | CONTAINER DEGASSING PROCESS CATEGORIZE |
CFS | CONSOLIDATE AT ORIGIN - DECONSOLIDATE AT DESTINATION |
CFY | CONSOLIDATE AT ORIGIN - DIRECT TO CUSTOMER |
CI | ESTIMATED TO DEPART TERMINAL LOCATION ---UPS |
CO | ORDER CANCELLED BY CUSTOMER |
CY | FULL CONTAINER TO 1 CUSTOMER DIRECT FROM SOURCE |
CYS | DIRECT FORM SOURCE - DECONSOLIDATE AT HUB |
E1 | ORIGIN - TRUCKING ISSUES OR DELAYS |
E2 | FREIGHT – CAPACITY ISSUES AND CANCELLATIONS |
E3 | TRANSPORT- BORDER DELAYS, TRANSPORT ISSUES |
E4 | CUSTOMER - CLOSURE, DELAY |
FOI | 3PL OPS/NETWORK RELATED PROBLEM (FORWARDER ORIGIN ISSUE) |
GLI | HOLIDAY AT ORIGIN |
HAZ | HAZARDOUS GOODS |
I01 | 3PL EDI ISSUE |
I02 | LENOVO EDI ISSUE |
ICR | INSPECTIONS- CUSTOMER REQUIREMENT |
J1 | DELIVERED TO CONNECTING LINE ---UPS |
K1 | ARRIVED AT CUSTOMS --- UPS |
LRU | LABEL RE-USED ---UPS |
NS | NORMAL STATUS |
OC | ORDER CANCELLED BY CUSTOMER |
OCU | ORDER CANCELLED BY CUSTOMER |
P01 | PROCESSING DELAY |
P04 | HELD FOR FULL CARRIER LOAD |
P1 | PROCESSING DELAY |
P2 | WAITING INSPECTION |
RC | RECONSIGNED |
S01 | INCOMPLETE DELIVERY |
S1 | DAMAGED - DELIVERY NOT COMPLETED |
SIC | STILL IN CANADA |
SLD | SERVICE LEVEL DECREASE |
SOS | ODM/PLANT/MANUFACTURING LATE HANDOVER |
SOW | SHIPMENT OVERWEIGHT |
T07 | INSUFFICIENT DELIVERY TIME |
UND | UNDETERMINED |
W05 | ORDER DISCREPANCY |
WEC | WAITING EXPORT FROM CANADA |
X2 | ESTIMATED DATE AND/OR TIME OF ARRIVAL AT CONSIGNEE LOC -UPS |
X4 | ARRIVED AT TERMINAL LOCATION --- UPS |
X6 | EN ROUTE TO DELIVERY LOCATION --- UPS |
X8 | ARRIVED AT PICKUP LOACATION LOADING DOCK ---UPS |
XB | SHIPMENT ACKNOWLEDGED ---UPS |
XF | FRAUD SHIPMENT |
ZZZ | MUTUALLY DEFINED |