17/01/2022, 12:26 API docs | 17TRACK Tracking API Go to dashboard Develop Documen… Get the API acc… API endpoint Data request Data encapsula… Response status HTTP status… Error status … Parameter for… Basic informati… Carrier code Country code Tracking sta… Tracking inf… Get the API access key Log in to the management console -> Settings ->Security-> Access Key, you can get the access key. If you need to change the key, you can directly operate the "Change key". If you change the key, the new key will take effect within 5 minutes. Once the key takes effect, the old one will expire immediately. API endpoint API endpoint: https://api.17track.net/track/v1 Data request All API interfaces use the http(s) POST method to submit requests. The request and response data are in UTF-8 encoded JSON format. All request base addresses start with http(s)://api.17track.net/track/v1/. All requests need to be submitted with the key as the request header, with the header name 17token, as shown below (registration number request): curl -X POST --header '17token:your secret key' --header 'Content-Type:application/json' --data '[{"number":"RR123456789CN"}]' https://api.17track.net/track/v1/register Data encapsulation { Tracking inf… "code": 0, "data": { "accepted":[], Event infor… Important notes API Reference(… Register Change Car… ChangeInfo StopTrack Retrack GetTrackList GetTrackInfo CarrierIdent… DeleteTrack Webhook Develop Documentation Package sta… API docs Get API detailed description. Setting https://api.17track.net/en/doc "rejected":[] } } The response results are in a unified data encapsulation format, as shown below; Name Name code data - accepted - rejected Description Description Error status code, 0 means no error, and for other errors refer to error status code Data content of the response object encapsulation For the normal processed part of the response in the request For the abnormal processed part of the response in the request Response status HTTP status code Name Description 200 The request is processed normally, and the returned data needs to be checked for the specific processing result. 401 Request unauthorized, wrong key, access IP not in whitelist or account disabled. 404 The requested URL address is incorrect. 429 Access frequency exceeds limit. 1/19 17/01/2022, 12:26 API docs | 17TRACK Tracking API Develop Documen… Get the API acc… API endpoint Data request Data encapsula… Response status HTTP status… Error status … Parameter for… Basic informati… Carrier code Country code Package sta… Tracking sta… Tracking inf… Tracking inf… Event infor… Important notes API Reference(… Register Change Car… ChangeInfo StopTrack Retrack GetTrackList GetTrackInfo CarrierIdent… DeleteTrack Webhook Setting https://api.17track.net/en/doc Name Description Go to dashboard 500 Server Error. 503 Service temporarily unavailable. Error status code The error status code is a concrete representation of the data processing result based on the return of the http status code. Name 0 -18010001 -18010002 -18010003 -18010004 -18010005 -18010010 -18010011 -18010012 -18010013 -18010014 -18010015 -18010016 -18019901 -18019902 -18019903 -18019904 -18019905 -18019906 -18019907 -18019908 -18019909 -18019910 -18019801 -18019802 -18019803 -18019804 -18019805 -18019806 -18019807 Description Success IP address is not in whitelist. Access token is invalid. Internal service error, please retry later. Account is disabled. Unauthorized access. The field of {0} is required. The value of {0} is invalid. The format of {0} is invalid. Submitted data is invalid. Request parameter number exceeds 40. The value {0} of field {1} is invalid. Only postal logictics can set up the last-mile shipping methods. The tracking number {0} has been registered, don't need to repeat registration The tracking number {0} does not register, please register first Carrier cannot be detected. Retrack is not allowed. You can only retrack stopped number. Retrack is not allowed. You can only retrack each number once. Stop tracking is not allowed. You can only stop numbers that are being tracked. Exceeded daily request limit. Quota is not enough for use. No tracking information at this time. The carrier is value {0} is not correct. The registration information of multiple carriers with the same tracking number exists, please specify the existing carrier parameters [carrier_old]. Submitted new carrier parameter [carrier_new] {0} may be incorrect. The parameter of the carrier requesting for change cannot be the same. New carrier parameter [carrier_new] or [final_carrier_new] requesting for change must be specified. The tracking number {1} for the specified carrier {0} is not registered, or the existing carrier parameter [carrier_old] is incorrect. Change carrier for stopped tracking number is not allowed. Please activate it first before submitting a change of carrier request. Exceeded the maximum number of carrier revisions. 2/19 17/01/2022, 12:26 API docs | 17TRACK Tracking API Develop Documen… Get the API acc… API endpoint Data request Data encapsula… Response status HTTP status… Error status … Parameter for… Basic informati… Carrier code Country code Package sta… Tracking sta… Tracking inf… Tracking inf… Event infor… Important notes API Reference(… Register Change Car… ChangeInfo StopTrack Retrack GetTrackList GetTrackInfo CarrierIdent… DeleteTrack Webhook Setting https://api.17track.net/en/doc Name Description Go to dashboard -18019808 The tracking result has not been returned after the latest registration or modification.Please wait for the tracking result to be returned before changing it. -18019809 The registration information of the carrier with tracking number {0} already exists and cannot be changed to a duplicate registration information. -18019810 Data that meet the update condition are not unique. -18019811 No valid data modification item. Parameter format Tracking number: The tracking number must be a continuous combination of 5 to 50 letters and numbers. Carrier: The carrier code must be a valid shipping carrier's Key. For details, please refer to the carrier code. Basic information Carrier code Visit https://res.17track.net/asset/carrier/info/carrier.all.json for all available carriers currently supported. As we keep adding and supporting more and more carriers, please check and update it periodically. The relevant interfaces that are using the carrier code must be submitted by using the code "Key" in our own defined carrier information.Download carrier list. Country code Visit https://res.17track.net/asset/carrier/info/country.all.json to get the latest country code. After getting the tracking information or receiving the push information, it is required to use the country codes of the origin and destination countries listed to correspond to the actual countries of the parcel. Package status Name Description 0 Not found 10 In transit 20 Expired 30 Pick up 35 Undelivered 40 Delivered 50 Alert Tracking status Name Description 0 Unable To Track 1 Normal Tracking 2 Not Found 10 Web Error 11 Process Error 12 Service Error 20 Web Error [Cache] 21 Process Error [Cache] 22 Service Error [Cache] Tracking information Name Description 3/19 17/01/2022, 12:26 API docs | 17TRACK Tracking API Develop Documen… Get the API acc… API endpoint Data request Data encapsula… Response status HTTP status… Error status … Parameter for… Basic informati… Carrier code Country code Package sta… Tracking sta… Tracking inf… Tracking inf… Event infor… Important notes API Reference(… Register Change Car… ChangeInfo StopTrack Retrack GetTrackList GetTrackInfo CarrierIdent… DeleteTrack Webhook Setting https://api.17track.net/en/doc Name w1 w2 b c z0 z1 z2 z9 Description Go to dashboard First carrier code Second carrier code Country code of the origin country Country code of the destination country The latest event information (the latest one in the first and second carrier event sets) First carrier event set, all stored in descending order. Second carrir event set, all stored in descending order. Cooperation e-commerce carrier event set, all stored in descending order. About cooperation e-commerce carrier. ygt1 The first carrier tracking consuming time, in milliseconds ygt2 The second carrier tracking consuming time, in milliseconds ygt9 The cooperation e-commerce carrier tracking consuming time, in milliseconds ylt1 The last tracking time of the first carrier. Time 2079-01-01 signifies the time is invalid. ylt2 The last tracking time of the second carrier. Time 2079-01-01 signifies the time is invalid. ylt9 The last tracking time of cooperation e-commerce carrier. Time 2079-01-01 signifies the time is invalid. is1 The first carrier's tracking status. It is valid when the first carrier's code (w1) is not 0; otherwise, it is invalid. is2 The second carrier's tracking status. It is valid when the second carrier's code (w2) is not 0; otherwise, it is invalid. ln1 Language of the event information used by the first carrier ln2 Language of the event information used by the second carrier ln9 Language of the event information used by the cooperation e-commerce carrier hs The hash value of the latest event e Package status f Delivery time (Only for parcels with delivered results, -1 means the information is invalid) yt Other prompt information zex Tracking information extension Tracking information extension Name Description trC Original shipping channel trN Original tracking number dtS First event time. Time unit: Unix timestamp, millisecond. dtP First delivery attempt time. Time unit: Unix timestamp, millisecond. dtD Delivery time. Time unit: Unix timestamp, millisecond. dtL Last event time. Time unit: Unix timestamp, millisecond. dt (Not enabled yet) psex (Not enabled yet) Event information Name Description 4/19 17/01/2022, 12:26 API docs | 17TRACK Tracking API Develop Documen… Get the API acc… API endpoint Data request Data encapsula… Response status HTTP status… Error status … Parameter for… Basic informati… Carrier code Country code Package sta… Tracking sta… Tracking inf… Tracking inf… Name a b c d z Important notes The tracking number of all interface requests needs to be registered first through the register interface. The interface frequency limit is 3req/s, which can be adjusted according to actual conditions. Repetitive requests for the same number with same carrier only consume one tracking quota. When it gets expired or being deleted and resubmitted, it will be recalculated. The system will automatically stop the tracking of parcels whose events have not been updated for 30 consecutive days or no event updates for 15 days after successful delivery; The system will reserve the data of numbers that are stopped for tracking for 90 days, and physically delete the corresponding data after the expiration dates. For stopped tracking numbers, they can be activated and re-tracked only once. API Reference(v1.0) Register 40 tracking numbers are allowed to submit for registration per time for the interface. POST /register Request data example: [ { "number": "RR123456789CN", "carrier": 3011, "auto_detection":false, "tag": "MyId" Event infor… }, { "number": "1234" Important notes API Reference(… Register Change Car… ChangeInfo StopTrack Retrack GetTrackList GetTrackInfo CarrierIdent… DeleteTrack Description Go to dashboard Event time (Data may not be in valid time format, needs to be processed by string) Mapping of the location (not used yet) Event location Event location extension (not used yet) Event content description } ] Request data description: Name number carrier Required Or Not Type Description Yes String Tracking number, conforming to the format requirements of a tracking number. No Integer Carrier code. Currently our system can recognize most UPU tracking numbers and the customized tracking numbers of our cooperative logistics providers accurately. When you register these kinds of tracking numbers, the carrier code is not required to be passed. It can be automatically recognized when it is not passed. If the carrier code is passed wrong, we would correct it and return the corrected carrier code. If the error code -18019903 is returned while you register a tracking number, it means that we cannot identify the carrier of the registered number accurately. Hoping to avoid the identification error, please pass the correct carrier code to register the tracking number again. Webhook Setting https://api.17track.net/en/doc 5/19 17/01/2022, 12:26 API docs | 17TRACK Tracking API Develop Documen… Get the API acc… API endpoint Data request Data encapsula… Response status tag No { "code": 0, "data": { "accepted": [ { "origin": 1, Error status … "number": "RR123456789CN", "carrier": 3011 Parameter for… } ], "rejected": [ Basic informati… Carrier code Country code Package sta… Tracking sta… Tracking inf… Tracking inf… Event infor… Important notes API Reference(… Register Change Car… ChangeInfo StopTrack Retrack GetTrackList GetTrackInfo CarrierIdent… DeleteTrack Go to dashboard Description Enable automatic carrier detection or not, which defaults to False. It will take effect only when the carrier is not set, and the parameter is set to True. When this parameter is in effect, the carrier detection algorithm will be applied to recognize the first carrier; however, it is not guaranteed that the carrier can be detected, or the accuracy of the carrier detection cannot be guaranteed. String Custom tracking number registration tag, Up to 100 characters. Response data example: HTTP status… Required Name Or Not Type auto_detection No Bool { "number": "1234", "error": { "code": -18010012, "message": "The format of '1234' is invalid." } } ] } } Response result description: Name code data accepted Description Error status code, 0 means no error, and for other errors refer to error status code. Corresponding response data to the request. Tracking numbers that are accepted for registration normally with carrier code returned correspondingly. If correction policy is executed, the returned carrier code might be different from the passed one. Tracking numbers that are accepted for registration normally. -number --carrier Carrier code that are accepted for registration normally. --origin Carrier detection methods of registered tracking numbers:1. Accurate detection;2. Carrier passed by the users;3. Automatic detection(not 100% correct). -rejected Tracking number that are rejected for registration. For the specific rejected tracking numbers and reasons, refer to the corresponding error code. Change Carrier sed to change the first carrier and the last-mile carrier. 40 tracking numbers are allowed to submit for change per time for the interface. POST /changecarrier Request data example: Webhook Setting https://api.17track.net/en/doc 6/19 17/01/2022, 12:26 API docs | 17TRACK Tracking API [ "number": "RR123456789CN", Develop Documen… Data request Data encapsula… Response status HTTP status… Error status … Parameter for… Basic informati… Carrier code Country code Package sta… "carrier_new": 3013, "final_carrier_old": 0, Request data description: Required Name Or Not Type Description number Yes String Tracking number, conforming to the format requirements of a tracking number. carrier_old No Integer Old carrier code, if not register multiple carriers with the same tracking number, it can be skipped, no need to pass. carrier_new No Integer New carrier code. final_carrier_old No Integer (Only available for postal logistics) Key of the old last-mile carrier. If the registered tracking number is not repetitive, the settings can be left empty. final_carrier_new No Integer (Only available for postal logistics) Key of the new last-mile carrier. Response data example: { "code": 0, "data": { "accepted": [ { "number": "RR123456789CN", "carrier": 3013 } Tracking inf… Event infor… API Reference(… Register Change Car… ChangeInfo StopTrack Retrack GetTrackList GetTrackInfo CarrierIdent… ], "rejected": [] } } Response result description: Name code data accepted -rejected Setting https://api.17track.net/en/doc Description Error status code, 0 means no error, and for other errors refer to error status code. Corresponding response data to the request. Tracking numbers that are accepted for request, and returned the latest carrier code. Tracking number that are rejected for request. For the specific rejected tracking numbers and reasons, refer to the corresponding error code. ChangeInfo Relevant additional information used to modify tracking. POST /changeinfo Request data example: { "number": "LW503511611CN", "carrier":3011, DeleteTrack Webhook ] Tracking inf… Important notes "final_carrier_new": 0 } Tracking sta… "carrier_old": 3011, Get the API acc… API endpoint Go to dashboard { "items": { "tag": "This is my order id." } } 7/19 17/01/2022, 12:26 Tracking API Develop Documen… Get the API acc… API endpoint Data request Data encapsula… Response status Required Name Or Not number Yes carrier No items Yes --tag No "data": { "accepted": [ { "number": "LW503511611CN", "carrier": 3011 } ], Basic informati… Country code Package sta… Tracking sta… Tracking inf… Tracking inf… Event infor… Important notes API Reference(… Register Change Car… Description Tracking number, conforming to the format requirements of a tracking number. Carrier code. Data item set that needs to be modified. Currently, only tag is supported to be modified. Other items submitted will be ignored. String Custom tracking number registration tag, Up to 100 characters. "code": 0, Parameter for… Carrier code Type String Integer Dict { Error status … Go to dashboard Response data example: HTTP status… Request parameter description: API docs | 17TRACK "rejected": [] } } Response parameter description: Name code data accepted -rejected Description Error status code, 0 means no error, and for other errors refer to error status code. Corresponding response data to the request. Tracking numbers that are accepted for request, and returned the latest carrier code. Tracking number that are rejected for request. For the specific rejected tracking numbers and reasons, refer to the corresponding error code. StopTrack 40 tracking numbers are allowed to submit per time for the interface. POST /stoptrack Request data example: [ { "number": "RR123456789CN", "carrier": "3011" ChangeInfo StopTrack Request parameter description: Retrack GetTrackList GetTrackInfo CarrierIdent… Required Name Or Not Type Description number Yes String Tracking number, conforming to the format requirements of a tracking number. carrier No Integer Carrier code. If it is not passed, and if there are multiple data for one same tracking number (different carriers), they will all be processed. DeleteTrack } ] Response data example: Webhook Setting https://api.17track.net/en/doc 8/19 17/01/2022, 12:26 API docs | 17TRACK Tracking API { "data": { Develop Documen… Get the API acc… API endpoint Data request Data encapsula… Response status HTTP status… Error status … Parameter for… Basic informati… Carrier code Country code Package sta… "accepted": [ { "number": "RR123456789CN", "carrier": "3011" } ] } } Response parameter description: Name code data accepted -rejected Description Error status code, 0 means no error, and for other errors refer to error status code. Corresponding response data to the request. Tracking numbers that are accepted for request. Tracking number that are rejected for request. For the specific rejected tracking numbers and reasons, refer to the corresponding error code. Retrack 40 tracking numbers are allowed to submit per time for the interface. POST /Retrack Request data example: [ { Tracking sta… Tracking inf… Tracking inf… Request parameter description: Event infor… Required Name Or Not Type Description number Yes String Tracking number, conforming to the format requirements of a tracking number. carrier No Integer Carrier code. If it is not passed, and if there are multiple data for one same tracking number (different carriers), they will all be processed. Important notes API Reference(… Register Change Car… ChangeInfo Go to dashboard "code": 0, "number": "RR123456789CN", "carrier": "3011" } ] Response data example: { "code": 0, "data": { "accepted": [ StopTrack { "number": "RR123456789CN", "carrier": "3011" Retrack GetTrackList } ] } } GetTrackInfo Response result description: CarrierIdent… DeleteTrack Name code data Webhook Setting https://api.17track.net/en/doc Description Error status code, 0 means no error, and for other errors refer to error status code. Corresponding response data to the request. 9/19 17/01/2022, 12:26 API docs | 17TRACK Tracking API Develop Documen… Get the API acc… API endpoint Data request Data encapsula… Response status { "number": "RR123456789CN", "carrier": 3011, HTTP status… "register_time_from": "2019-01-01 12:24:00", "register_time_to": "2019-02-01", Error status … "tracking_time_from": "2019-01-01", "tracking_time_to": "2019-12-01", "push_time_from": "2019-01-01", Parameter for… "push_time_to": "2019-12-01", "push_state": 0, Basic informati… Carrier code Country code Package sta… Tracking sta… Tracking inf… Tracking inf… Event infor… Important notes API Reference(… Name Description Go to dashboard Tracking numbers that are accepted for request. accepted -rejected Tracking number that are rejected for request. For the specific rejected tracking numbers and reasons, refer to the corresponding error code. GetTrackList Get tracking number list POST /gettracklist Request data example: "stop_time_from": "2019-01-01", "stop_time_to": "2019-12-01", "package_state": 10, "tracking_state": 0, "page_no": 1 } Request parameter description: Name number Required Or Not Type No String carrier register_time_from register_time_to tr tracking_time_to push_time_from push_time_to push_state No No No No cking_time_from No No No Integer No No No No Integer DateTime DateTime No DateTime DateTime DateTime Push result 0: Not pushed; 1: Success; 2: Failure. DateTime DateTime Integer Bool No Integer Register Change Car… ChangeInfo StopTrack Retrack GetTrackList stop_time_from stop_time_to package_state tracking_state GetTrackInfo page_no CarrierIdent… Response data example: DeleteTrack Description Tracking number, conforming to the format requirements of a tracking number. Carrier code. Register time from (UTC). Register time to (UTC). DateTime Latest tracked time to (UTC). Latest pushed time from (UTC). Latest pushed time to (UTC). Tracking Stopped time from (UTC). Tracking Stopped time to (UTC). Package status. Tracking status:1: Automatic tracking; 0: Tracking stopped. Page number, defailt is 1. Webhook Setting https://api.17track.net/en/doc 10/19 17/01/2022, 12:26 API docs | 17TRACK Tracking API { "data": { Develop Documen… "accepted": [ { "number": "RV929123748CN", Get the API acc… "w1": 3011, "b": 301, API endpoint "w2": 10011, "c": 1001, "e": 20, Data request "rt": "2019-08-26 09:48:16", "tt": "2020-01-16 02:52:11", Data encapsula… "pt": "2019-11-08 06:16:25", Response status "st": "2020-02-28 02:36:59", HTTP status… Error status … Parameter for… Basic informati… Carrier code Country code Package sta… Tracking sta… Tracking inf… Tracking inf… Event infor… Important notes API Reference(… Go to dashboard "code": 0, Register Change Car… ChangeInfo StopTrack Retrack GetTrackList GetTrackInfo CarrierIdent… DeleteTrack Webhook Setting https://api.17track.net/en/doc "ps": 200, "sr": 1, "ir": true, "ts": false, "mc": 0, "tag": null } ] } } Response result description: Name Description code Error status code, 0 means no error, and for other errors refer to error status code. data Corresponding response data to the request. Accepted and processed normally with result set returned. If the returned set is empty, it means there accepted is no data that meets the conditions. -Tracking number. number --w1 First carrier code. --w2 Second carrier code. --b Country code of the origin country. --c Country code of the destination country. --e Package status. --rt Register time. --tt Latest tracked time. --pt Latest pushed time. --ps Pushed http status code. --st Tracking Stopped time. --sr Tracking Stopped reason 1: Expiration rules; 2: API request; 3: Manual operation; 4: Invalid carrier. --ir Retrack enabled or not 1: Yes; 0:No. --ts Tracking status 1:Automatic tracking; 0:Tracking stopped. --mc Carrier modification times. --tag Custom tracking number registration tag. -errors Tracking condition settings errors. GetTrackInfo 40 tracking numbers are allowed to submit per time for the interface. 11/19 17/01/2022, 12:26 Tracking API Develop Documen… POST /gettrackinfo Request data example: API docs | 17TRACK Go to dashboard [ { Get the API acc… "number": "RR123456789CN", "carrier": "3011" } API endpoint Data request Request parameter description: Data encapsula… Response status Required Name Or Not Type Description number Yes String Tracking number, conforming to the format requirements of a tracking number. carrier No Integer Carrier code. If it is not passed, and if there are multiple data for one same tracking number (different carriers), then return all the data. HTTP status… Error status … Response data example: Parameter for… Basic informati… Carrier code Country code Package sta… Tracking sta… Tracking inf… Tracking inf… Event infor… Important notes API Reference(… ] Register Change Car… ChangeInfo StopTrack Retrack GetTrackList GetTrackInfo CarrierIdent… DeleteTrack Webhook Setting https://api.17track.net/en/doc 12/19 17/01/2022, 12:26 API docs | 17TRACK Tracking API { "data": { Develop Documen… "number": "RM101474005CN", "tag": "", "track": { "b": 301, "c": 1803, "e": 10, Data request "f": -1, "w1": 3011, Data encapsula… "w2": 18031, "z1": [ { Response status HTTP status… Error status … "a": "2015-05-13 14:47", "b": null, "c": "", "d": "", ], "z2": [ { "a": "2015-05-31 00:00", Basic informati… Carrier code Country code "b": null, "c": "", "d": "", "z": "Distribué ANDORRE LA VIEILLE (09)." } ], "z9": [], Package sta… "ygt1": 370, "ygt2": 0, "ygt9": 0, Tracking sta… Tracking inf… Tracking inf… "is1": 1, "is2": 0, "ln1": "zh-CHS", "ln2": null, "ln9": null, "hs": 627236210, "z0": { Event infor… "a": "2015-05-29 09:00", "b": null, "c": "BLAGOVESCH 1", Important notes "d": "", "ylt9": "2079-01-01 00:00:00", "yt": "", "zex": { "trN": "", ChangeInfo "trC": 0, "psex": 0, "dt": 1586726160000, StopTrack GetTrackList "dtS": 1586726160000, "dtP": 0, "dtD": 0, "dtL": 1588846740000 } } } GetTrackInfo CarrierIdent… DeleteTrack Webhook "ylt2": "2079-01-01 00:00:00", Change Car… Retrack }, "ylt1": "2015-06-01 20:44:52", Register Setting https://api.17track.net/en/doc 移交海关" "z": " API Reference(… 电子信息已收到" "z": " } Parameter for… { API endpoint "accepted": [ Get the API acc… Go to dashboard "code": 0, ] } } Response result description: Name code Description Error status code, 0 means no error, and for other errors refer to error status code. 13/19 17/01/2022, 12:26 API docs | 17TRACK Tracking API Develop Documen… Get the API acc… API endpoint Data request Data encapsula… Response status HTTP status… Error status … Parameter for… Basic informati… Country code Package sta… Tracking sta… Tracking inf… Tracking inf… Event infor… Description Go to dashboard Corresponding response data to the request. Sets that are accepted and processed normally with carrier code returned correspondingly. Tracking number. Custom tracking number registration tag. Tracking information. Tracking number that are rejected for getting tracking infomation. For the specific rejected tracking numbers and reasons, refer to the corresponding error code. CarrierIdentify A maximu of 40 trakcing numbers can be sent to this API each time. Use this when you want to register some numbers but don't know what carriers they belong to. Possible matches of carrier will be returned. POST /carrierIdentify Request data example: [ { Carrier code "number": "RR123456789CN" } ] Request parameter description: Required Or Name Not number Yes { "code": 0, "data": { "accepted": [ { API Reference(… Change Car… ChangeInfo GetTrackInfo "hint": [ { "may": "1151", "score": 0.0 }, { "may": "xxx", "score": 0.0 }, ... ] }, { "score": 1.0, "number": "EL123456789CN", "carrier": 3011 } CarrierIdent… DeleteTrack Webhook "carrier": 0, Retrack GetTrackList "number": "LM0010039036", StopTrack "score": 0.0, Register Setting https://api.17track.net/en/doc Type Description String Tracking number, conforming to the format requirements of a tracking number. Response data example: Important notes Name data accepted -number --tag --track -rejected ], "rejected": [] } } Response result description: 14/19 17/01/2022, 12:26 API docs | 17TRACK Tracking API Develop Documen… Get the API acc… API endpoint Data request Data encapsula… Response status HTTP status… Error status … Parameter for… Basic informati… Carrier code [ Country code Package sta… { "number": "RR123456789CN", "carrier":3011 } ] Tracking sta… Request parameter description: Tracking inf… Tracking inf… Event infor… Required Or Name Not number Yes Important notes API Reference(… carrier Yes { Register "code":0, Change Car… { "data": "accepted": [ ChangeInfo { StopTrack } "carrier":100271 ], "rejected": GetTrackList ] GetTrackInfo CarrierIdent… DeleteTrack Webhook "number":"621366941543", Retrack Setting https://api.17track.net/en/doc Type Description String Tracking number, conforming to the format requirements of a tracking number. String Carrier code. Response data example: Name Description Go to dashboard code Error status code. 0 means no error. For other errors, please refer to the error status code. data Data content of the response object encapsulation. -accepted For the successfully processed part of the response. --number Tracking number. --carrier Carrier code. --score Float. Matching accuracy where 1.0 means exact match. --hint Array. The possible matches for the carriers. At most 10 will be returned here. ----may Candidate carrier code. ----score Matching accuracy. Currently not available. Will always return 0.0.) -rejected For the abnormal processed part of the response. DeleteTrack Delete the successfully registered tracking numbers. POST /deleteTrack Request data example: [ } } Response result description: Name code data -accepted Description Error status code, 0 means no error, and for other errors refer to error status code. Data content of the response object encapsulation. For the normal processed part of the response in the request. 15/19 17/01/2022, 12:26 API docs | 17TRACK Tracking API Develop Documen… Get the API acc… API endpoint Data request Data encapsula… Response status HTTP status… Error status … Parameter for… Basic informati… Carrier code Country code Tracking sta… Tracking inf… Tracking inf… Event infor… Important notes API Reference(… Register Change Car… ChangeInfo StopTrack Retrack GetTrackList GetTrackInfo CarrierIdent… DeleteTrack Webhook Setting https://api.17track.net/en/doc Description Tracking number. Carrier code. For the abnormal processed part of the response in the request. Tracking number. Carrier code. Go to dashboard Webhook Setting Set the callback interface URL by logging into the management console -> Settings -> Webhook. If it is not set, no notification will be sent. Notification policy: If the Webhook URL of the notification call returns http status code 200, it means that the notification call has been processed normally and will not retry, otherwise the notification call will be considered as a failure. If the notification call fails, it will retry in the next 10, 30, and 60 minutes successively. If the notification call still fails, the current change notification for the corresponding tracking number will be abandoned, while the subsequent notifications will not be affected. Data and Sign When the tracking event is updated or the number is no longer tracked according to the policy, the system will generate a POST request to be sent to the callback url you set on the Settings page. The push data format is uniformly adopted in the following format: { "sign": "a829f039332706b9b888eba84b77bd01f425ed327d2c4a92b50bba5beb0a0260", "event": "TRACKING_STOPPED", Package sta… Name --number --carrier -rejected --number --carrier "data": { "number": "RM101474005CN", "carrier":3011, "tag":"" } } Data format Name Description sign Data sign event Notification types supported currently: TRACKING_STOPPED:Stop tracking notification; TRACKING_UPDATED:Tracking information update notification. When the tracking event is updated, the notification of the latest tracking information will be pushed. data Pushed data will vary depending on the event. Sign verification In order to ensure that the information source is pushed by 17TRACK, it is recommended to verify the sign of the received data. During the verification, splice the value of type, value of data, and the API access key with the slash: event/data/secretkey, and then calculate SHA256; if the calculated result is consistent with the sign, it means that the information source is legal. Sign example The push data format is uniformly adopted in UTF-8 encoded JSON format. And parse the raw data (No formatting, spaces, or line breaks, etc. are needed). For example, the received data is: {"sign":"a829f039332706b9b888eba84b77bd01f425ed327d2c4a92b50bba5beb0a0260","event":"TRACKING_STOPPE , then the parsed result would be: event: TRACKING_STOPPED data: {"number":"RM101474005CN","carrier":3011,"tag":""} If the secret key is 6A8D7CFC3F7A41149E0A4EE8ABD0DD8A, then the data to be signed would be TRACKING_STOPPED/{"number":"RM101474005CN","carrier":3011,"tag":""}/6A8D7CFC3F7A41149E0A4EE8ABD0DD 8A. Pass this data through SHA256 and use hexadecimal encoding. If the calculated result is consistent with sign, means the data is valid. Notification type D","data":{"number":"RM101474005CN","carrier":3011}} Tracking stopped 16/19 17/01/2022, 12:26 API docs | 17TRACK Tracking API { "event": "TRACKING_STOPPED", Develop Documen… API endpoint Data request Data encapsula… Response status HTTP status… Error status … "number": "RM101474005CN", "carrier": 3011, "tag":"" } } Name sign event data Description Data sign. TRACKING_STOPPED Numbers that are stopped for tracking. Tracking updated Parameter for… Basic informati… Carrier code Country code Package sta… Tracking sta… Tracking inf… Tracking inf… Event infor… Important notes API Reference(… "data": { Get the API acc… Go to dashboard "sign": "a829f039332706b9b888eba84b77bd01f425ed327d2c4a92b50bba5beb0a0260", Register Change Car… ChangeInfo StopTrack Retrack GetTrackList GetTrackInfo CarrierIdent… DeleteTrack Webhook Setting https://api.17track.net/en/doc 17/19 17/01/2022, 12:26 API docs | 17TRACK Tracking API Develop Documen… Get the API acc… API endpoint Data request "tag": "", "track": { "b": 301, "c": 2105, "e": 10, "f": -1, "w1": 190316, "w2": 0, "is2": 0, "ln1": "en", "ln2": null, HTTP status… "ln9": "en", Error status … "ygt2": 0, "ygt1": 366, "ygt9": 423, "ylt1": "2020-05-11 12:05:58", Parameter for… "ylt2": "2079-01-01 00:00:00", Basic informati… "yt": "", Carrier code Country code Package sta… Tracking sta… Tracking inf… Tracking inf… Event infor… "ylt9": "2020-05-11 12:05:58", "z0": { "a": "2020-05-07 10:19", "b": null, "c": "", "d": "BLOOMINGTON, CA 92316", "z": "Departed Shipping Partner Facility, USPS Awaiting Item -> Your item departed a shipping partner facility at 10:19 am on May 7, 2020 in BLOOMINGTON, CA 92316. This does not indicate receipt by the USPS or the actual mailing date." }, "z1": [ { "a": "2020-05-07 10:19", "b": null, "c": "", "d": "BLOOMINGTON, CA 92316", "z": "Departed Shipping Partner Facility, USPS Awaiting Item -> Your item departed a shipping partner facility at 10:19 am on May 7, 2020 in BLOOMINGTON, CA 92316. This does not indicate receipt by the USPS or the actual mailing date." }, { Important notes "a": "2020-05-05 16:49", "b": null, API Reference(… "number": "STOAA0000272952YQ", Response status "data": { "hs": 730243286, "event": "TRACKING_UPDATED", "is1": 1, Go to dashboard "sign": "34f40c8fc37f9a7100c65215b0df85c58cc4880cf2e832fe91c86de1bc00b181", Data encapsula… { "c": "", "d": "BLOOMINGTON, CA 92316", "z": "Arrived Shipping Partner Facility, USPS Awaiting Item" Register }, { Change Car… "a": "2020-04-12 21:16", "b": null, ChangeInfo StopTrack Retrack GetTrackList "c": "", "d": "FREMONT, CA 94538", "z": "Picked Up by Shipping Partner, USPS Awaiting Item" } ], "z2": [], "z9": [ { "a": "2020-04-13 17:07", "b": null, GetTrackInfo CarrierIdent… "c": "China, Shenzhen", "d": "", "z": "Item inbound in sorting center." }, { DeleteTrack "a": "2020-04-13 17:02", "b": null, "c": "China, Shenzhen", Webhook Setting https://api.17track.net/en/doc "d": "", "z": "Item accepted." } 18/19 17/01/2022, 12:26 API docs | 17TRACK Tracking API ], "zex": { "trN": "92612927005099010009150135", "trC": 21051, Develop Documen… API endpoint "dtD": 0, Response status HTTP status… Error status … "dtL": 1588846740000 } } } } Name sign event data Description Data sign. TRACKING_UPDATED Detailed tracking information. Parameter for… Basic informati… Carrier code Country code Package sta… Tracking sta… Tracking inf… Tracking inf… Event infor… Important notes API Reference(… "dtP": 0, Data request "dt": 1586726160000, "dtS": 1586726160000, Data encapsula… "psex": 0, Get the API acc… Go to dashboard Register Change Car… ChangeInfo StopTrack Retrack GetTrackList GetTrackInfo CarrierIdent… DeleteTrack Webhook Setting https://api.17track.net/en/doc 19/19