Jumppoint
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Help
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # Jumppoint International Open API Spec # Overview All API endpoints listed in this documentation are relative to Production: https://open-api.intl.jumppoint.io/ Sandbox: https://staging.open-api.intl.jumppoint.io/ # Authentication We use Bearer Authentication to authenticate requests. You will need to include Authorization: Bearer <API Access Token> in the header for all requests. To obatin the API Access Token, use the following API. POST /login #### Body Parameters | Field | Type | Required | Description | | -------- | ------ | -------- | ----------------------- | | username | String | Yes | API user login name | | password | String | Yes | API user login password | Request a new OAuth Bearer Access Token, please ensure the following flow is implemented on your end: 1. Generate new access token. 2. Store the access token and expiration info in storage 3. Attach the access token with every API request in the HTTP request 4. Acquire a new access token after the token expired. ##### Sample Request: ```json= { "username": "string", "password": "string" } ``` #### Success response: | Field | Type | Description | | ----------- | ------- | ----------------------------------------------------------------------------------------------- | | accessToken | String | OAuth Bearer access token to be included in the Authorization HTTP header for all API requests. | | expiresIn | Integer | The number of seconds at which the access token will expire. | ##### Sample Response: ```json= { "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9", "expiresIn": 86400 } ``` ##### Error response: ```json= { "status": false, "message": "Incorrect login email or password. Please try again." } ``` # Create Booking POST /booking ##### Request Parameters | Name | Type | Required | Description | Example | | -------------------- | ------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | | referenceNo | string | Yes | Your own customsize reference number of the booking | Ref12345 | | webhookURL | string | No | A custom webhook url instead of the default merchant webhook url | https://www.webhookurl/trigger-webhook/00001 | | transportMode | string | Yes | What kind of transpotation to use in this shipment<br><br>Valid transpotation are:<br>Air<br>Sea<br>Land | Air | | pickUp | boolean | Yes | True = need Pickup service<br>False = no need Pickup service | TRUE | | pickUpBagNo | string | No | The bag/groupping number of the bag. Optional. | N34512 | | pickUpDate | string | Required if pickUp is True | Pickup date in ISO 8601 format, required only when pickup is true<br><br>MUST either be a current date or a future date within 2 weeks.<br>(Sunday and Public Holidays are not available) | 2023-03-30 | | pickUpSlot | string | Required if pickUp is True | Preferred timeslot on pickup date, required only when pickup is true<br><br>Valid time slots are:<br>AM<br>PM | AM | | sender | object | Yes | Origin and sender information | [See below](#Sender) | | iossNo | string | Required if receiver in European Countries | IOSS number applied for VAT registration in EU Member States.<br>it must input in pair with iossCountry<br><br>\*If you do not have IOSS number, please contact us for the register service | IM345654345876 | | iossCountry | string | Required if receiver in European Countries | Country of the IOSS number, must input in pair with iossNo | Germany | | receiver | object | Yes | Destination and receiver information | [See below](#Receiver) | | packageValue | number | Yes | Declared value of the package, must input in pair with packageValueCurrency | 200 | | packageValueCurrency | string | Yes | Currency of the declared value is in, in ISO 4217 format. Must input in pair with packageValue<br><br>MUST match the currecy of destination countryCode | USD | | paymentMethod | string | Yes | Valid payment method are:<br>COD : Cash on Delivery<br>PP : Prepaid | COD | | codValue | number | Required if paymentMethod is COD | Cash on delivery value, required only when payment method is "COD". Precision up to 2 d.p. Must input in pair with codValueCurrency | 300 | | codValueCurrency | string | Required if paymentMethod is COD | Currency of the cash on delivery value is in, in ISO 4217 format. Required only when payment method is "COD". Must input in pair with codValue | THB | | package | object | Yes | Package information | [See below](#Package) | | shipmentTerm | string | Required if destination country is China | Represents "international commercial terms" (Incoterms).<br><br>Availd terms are:<br>DDP<br>DDU<br>EXW<br>FOB<br>CIF<br>CPT | DDU | | productType | string | Yes | Package contains sensitvie products e.g. battery or not<br><br>Valid type are:<br>General<br>Sensitive | General | | packageAmount | string | No | Number of Product within the package. Must be integer. | 2 | | cargoValue | number | No | The total sales amount of all products under the same package (total value). Precision up to 2 d.p. | | | freightShippingFee | number | No | Shipping fee charged by the platform. Precision up to 2 d.p. | | | insuranceValue | number | No | Insurance value of the packages. Precision up to 2 d.p. Must input together with insuranceCurrency & insuranceType | | | insuranceCurrency | string | No | Currency of the insurance value is in, in ISO 4217 format. Precision up to 2 d.p. Must input together with insuranceValue & insuranceType. | | | insuranceType | string | No | Type of insurance. Must input together with insuranceValue & insuranceCurrency | | | products | array | Yes | Item details for custom clearance process | [See below](#Products) | ##### Sender | Name | Type | Required | Description | Example | | ----------- | ------ | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | | name | string | Yes | Name of sender | Sandy Lee | | company | string | Yes | Company of sender | DFE Logistic Limited | | address | string | Yes | Address of sender - Please be as detail as possible | 18F, Gemstar Tower, 23 Man Lok Street, Hung Hom, Hong Kong | | district | string | No | District of the sender location | Kowloon City | | city | string | No | City of the sender address is located at<br><br>Validation: city has to be in corresponding province and country<br>Please refer to the city-states-country mapping in: [https://dr5hn.github.io/countries-states-cities-database/<br>](https://dr5hn.github.io/countries-states-cities-database/)(if there is no City in the province, please leave the field empty) | Kowloon City | | province | string | Yes | Province of the sender address is located at<br><br>Validation: province has to be in corresponding country<br>Please refer to the city-states-country mapping in: [https://dr5hn.github.io/countries-states-cities-database/](https://dr5hn.github.io/countries-states-cities-database/) | Kowloon City | | countryCode | string | Yes | Country of the sender address is located at, in ISO-2 format<br><br>Validation: exact match with one of the country code in below database<br>Please refer to the city-states-country mapping in: [https://dr5hn.github.io/countries-states-cities-database/](https://dr5hn.github.io/countries-states-cities-database/) | HK | | postcode | string | Yes | Postal code of the sender address is located at | 00000 | | phone | string | Yes | Phone number of sender<br><br>Please provide the sender calling code & phone no.<br>(must match origin phone no. format as follows: +852-37069876) | +852-64352654 | | email | string | No | Email of sender | 123@jumppoint.io | | taxNo | string | No | Tax number of sender, must input in pair with taxNoType | X02068045 | | taxNoType | string | Required if taxNo has input | Type of tax number of sender, must input in pair with taxNo<br><br>Vaild taxNo type are:<br>Social Security Number (SSN)<br>Tax Identification Number (TIN)<br>VAT Number<br>ID Number<br>LVG Number | Social Security Number (SSN) | | idNo | string | No | Identity number of sender, must input in pair with idNoType | X02068045 | | idNoType | string | Required if idNo has input | Type of identity number of sender, must input in pair with idNo<br><br>Valid idNo type are:<br>Tax card<br>Driver ID<br>Passport<br>CP passport | Passport | ##### Receiver | Name | Type | Required | Description | Example | | ----------- | ------ | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | | name | string | Yes | Name of receiver | Sandy Lee | | company | string | Yes | Company of receiver | DFE Logistic Limited | | address | string | Yes | Address of receiver - Please be as detail as possible | 18F, Gemstar Tower, 23 Man Lok Street, Hung Hom, Hong Kong | | district | string | No | District of the receiver location | Kowloon City | | city | string | No | City of the receiver address is located at<br><br>Validation: city has to be in corresponding province and country<br>Please refer to the city-states-country mapping in: [https://dr5hn.github.io/countries-states-cities-database/<br>](https://dr5hn.github.io/countries-states-cities-database/)(if there is no City in the province, please leave the field empty) | Kowloon City | | province | string | Yes | Province of the receiver address is located at<br><br>Validation: province has to be in corresponding country<br>Please refer to the city-states-country mapping in: [https://dr5hn.github.io/countries-states-cities-database/](https://dr5hn.github.io/countries-states-cities-database/) | Kowloon City | | countryCode | string | Yes | Country of the receiver address is located at, in ISO-2 format<br><br>Validation: exact match with one of the country code in below database<br>Please refer to the city-states-country mapping in: [https://dr5hn.github.io/countries-states-cities-database/](https://dr5hn.github.io/countries-states-cities-database/) | HK | | postcode | string | Yes | Postal code of the receiver address is located at | 00000 | | phone | string | Yes | Phone number of receiver<br><br>Please provide the receiver calling code & phone no.<br>(must match origin phone no. format as follows: +852-37069876) | +852-64352654 | | email | string | No | Email of receiver | 123@jumppoint.io | | taxNo | string | No | Tax number of receiver, must input in pair with taxNoType | X02068045 | | taxNoType | string | Required if taxNo has input | Type of tax number of receiver, must input in pair with taxNo<br><br>Vaild taxNo type are:<br>Social Security Number (SSN)<br>Tax Identification Number (TIN)<br>VAT Number<br>ID Number | Social Security Number (SSN) | | idNo | string | No | Identity number of receiver, must input in pair with idNoType | X02068045 | | idNoType | string | Required if idNo has input | Type of identity number of receiver, must input in pair with idNo<br><br>Valid idNo type are:<br>Tax card<br>Driver ID<br>Passport<br>CP passport | Passport | ##### Package | Name | Type | Required | Description | Example | | ------------ | ------ | -------- | ---------------------------------------------------------- | ------- | | height | number | No | Height of the package in cm. Must be integer. | 30 | | length | number | No | length of the package in cm. Must be integer. | 20 | | width | number | No | Width of the package in cm. Must be integer. | 20 | | volumeWeight | number | No | Volume weight of the package in kg. Precision up to 3 d.p. | 18.56 | | grossWeight | number | Yes | Gross weigth of the package in kg. Precision up to 3 d.p. | 20.78 | ##### Products | Name | Type | Required | Description | Example | | ------------- | ------ | -------- | ------------------------------------------------------------ | -------------------------------------------------- | | descriptionEn | string | Yes | Description of product in English. | Trasformer - Toys | | descriptionOr | string | Yes | Description of product in origin language. | Trasformer - Toys | | descriptionDe | string | No | Description of product in destination language. | Trasformer - Toys | | category | string | No | Category of the product | Toy | | unitPrice | number | Yes | Unit price of product. Precision up to 2 d.p. | 40 | | priceCurrency | string | Yes | Currency of the unit price is in, in ISO 4217 format. | GBP | | quantity | number | Yes | numberNumber of this product. Must be integer. | 20 | | sku | string | No | SKU of the product | ABCC12323 | | ean | string | No | EAN of the product |5123918749122 | hsCode | string | No | HS code of product | H5234 | | brand | string | No | Brand of product | ABC | | saleUrl | string | No | Sale platform Url | [https://www.google.com/](https://www.google.com/) | | batteryType | string | No | Type of batteries contain in the product | PI968 - lithium metal batteries | | batteryAmount | number | No | Number of batteries contain in the product. Must be integer. | 4 | ##### Example Request Body ```json= { "referenceNo": "REF00001008", "webhookURL": "https://www.webhookurl/trigger-webhook/00001", "transportMode": "Air", "pickUp": true, "pickUpBagNo": "BAG12345", "pickUpDate": "2023-04-14", "pickUpSlot": "PM", "sender": { "name": "Tommy Lee", "company": "Jumppoint Logistic Limited", "address": "香港葵涌大連排道金星工業大廈地下", "district": "葵涌", "city": "Kwai Tsing", "province": "Kwai Tsing", "countryCode": "HK", "postcode": "00000", "phone": "+852-55677865", "email": "tommylee@jumppoint.io", "taxNo": "GGWP3452", "taxNoType": "Social Security Number (SSN)", "idNo": "DDWP33441", "idNoType": "Passport" }, "receiver": { "name": "Jerry Lee", "company": "Aiginter Technologies Limited", "address": "322/16 Biz Galleria, Nuanchan, Bueng Kum, Bangkok, Thailand", "district": "Bueng Kum", "city": "Bangkok", "province": "Bangkok", "countryCode": "TH", "postcode": "10230", "phone": "+66-892405092", "email": "jerrylee@jumppoint.io", "taxNo": "GGWP46677", "taxNoType": "Social Security Number (SSN)", "idNo": "DDWP7734432", "idNoType": "Passport" }, "packageValue": 2557, "packageValueCurrency": "THB", "paymentMethod": "COD", "codValue": 25, "codValueCurrency": "THB", "package": { "height": 23, "lenght": 15, "width": 14, "volumeWeight": 22, "grossWeight": 25.2 }, "shipmentTerm": "DDP", "productType": "General", "packageAmount": 1, "cargoValue": 1, "products": [ { "descriptionEn": "T-Shirt", "descriptionOr": "strinT-Shirtg", "descriptionDe": "เสื้อแจ็กเกต", "unitPrice": 254, "priceCurrency": "THB", "quantity": 20, "hsCode": "Hr53", "brand": "Lego", "saleUrl": "http://www.google.com", "batteryType": "PI966 - Lithium ion batteries packed with equipment", "batteryAmount": 1 } ] } ``` ##### Example Response ###### Sucessfully Created (Status Code: 200) ```json= { "status": true, "data": {} } ``` ##### Example Error Messages ###### Duplicated Reference No (Status Code: 400) ```json= { "status": false, "message": "Errors: referenceNo: Reference No is already taken" } ``` ###### Incorrect Currency (Status Code: 400) ```json= { "status": false, "message": "Errors: packageValueCurrency: Declared Value Currency needs to match with destination currency" } ``` # Get Shipments Info GET /shipments?orderNo={orderNo} or GET /shipments?ref={refNo} ##### Request Parameters | Name | Type | Description | Example | | ------- | ------ | ----------------------------------------------------- | -------------- | | orderNo | string | Order Number of the shipment you wish to retrieve | JPTH1931219700 | | ref | string | Reference Number of the shipment you wish to retrieve | Return123123 | ##### Response Parameters | Name | Type | Description | Example | | ------------------ | --------- | ------------------------------------------------------- | ------------------------------------------------------------------------------ | | referenceNo | string | Merchant's reference number of the shipment record | Ref12345 | | orderNo | string | Order number of the shipment record | JPUS6759785254 |returnServiceDropOffCode | string | Drop off code for return service | 1451231231 | shipmentLabel | string | The url linked to the shipment label file | [https://jumppoint-international/label](https://jumppoint-international/label) | | status | string | Current status of the shipment | Order Created | | flagged | boolean | True if flagged by admin | TRUE | | origin | object | Origin information of the shipment | [See below](#origin) | | destination | object | Destination information of the shipment | [See below](#destination) | | createdAt | string | The datetime of the shipement record in ISO 8601 format | 2023-03-28T08:50:28.889Z | | pickUpDate | string | The pick-up date in ISO 8601 format | 2023-03-30T00:00:00.000Z | | deliveryDate | string | The delivery date in ISO 8601 format | 2023-04-11T00:00:00.000Z | | transportationMode | string | What kind of transpotation to use in this shipment | Air | | statusLogs | <br>array | Trackings of shipment sorted by time descendingly | [See below](#statusLogs) | | products | <br>array | Information of each product in the package | [See below](#products) | | productDetails | object | Dimensions of each product in the package | [See below](#productDetails) | ##### origin | Name | Type | Description | Example | | ---------------- | ------ | ------------------------------------------------------------ | ---------------------------------------------------------- | | origin | string | The address of the shipment sender | 18F, Gemstar Tower, 23 Man Lok Street, Hung Hom, Hong Kong | | sender | string | The name of the shipment sender | Kelly Chan | | senderCountryIso | string | The country code of the shipment sender in ISO 3166-1 format | HK | ##### destination | Name | Type | Description | Example | | ------------------ | ------ | -------------------------------------------------------------- | --------------------------------------------- | | destination | string | The address of the shipment receiver | Apollo Beach Boulevard, Apollo Beach, FL, USA | | receiver | string | The name of the shipment receiver | Jerry Lee | | receiverCountryIso | string | The country code of the shipment receiver in ISO 3166-1 format | US | ##### statusLogs | Name | Type | Description | Example | | ----------- | ------ | --------------------------------------------------------------------------- | ------------------------ | | id | string | ID of status | 6422aa542807185d8c53015d | | name | string | Name of status | Order Created | | triggeredAt | string | The datetime of when the shipment update to this status in ISO 8601 format. | 2023-03-28T08:50:28.926Z | ##### products | Name | Type | Description | Example | | ------------- | ------ | ---------------------------------------------- | -------------------------------- | | descEn | string | Product Description in English | Trasformer - Toys | | descOL | string | Product Description in Origin Language | Trasformer - Toys | | descDest | string | Product Description in Destination Language | Trasformer - Toys | | qty | string | Quantity of this product | 7 | | batteryType | string | Type of battery contained in this product | PI965 - Lithium ion Batteries123 | | batteryAmount | string | Number of of battery contained in this product | 18 | | price | string | Selling price of this product | 99 | | currency | string | Currency of the selling price is in | USD | ##### productDetails | Name | Type | Description | Example | | -------------------- | ------ | --------------------------------------- | ------- | | productType | string | Type of product | General | | customerGrossWeight | string | Gross weight (kg) declared by customer | 80 | | customerVolumeWeight | string | Volume weight (kg) declared by customer | 50 | | chargeableWeight | string | Weight (kg) subjected to charge | 80 | | actualGrossWeight | string | Gross weight (kg) in actual | null | | actualVolumeWeight | string | Volume weight (kg) in actual | null | ##### Full shipment status | Status | Description | | ----------------------------------- | ----------- | | Order Created | 訂單創建成功 | | Order Confirmed | 訂單確認 | | Successful Pickup | 成功收件 | | Arrival at Origin Warehouse | 到達倉庫 | | Successful Export Customs Clearance | 出口清關成功 | | Departure from Origin Airport | 離開起運地機場 | | Departure from Origin Hub | 離開起運地 | | Arrival at Destination Airport | 到達目的地機場 | | Arrival at Destination Hub | 到達目的地 | | Successful Import Customs Clearance | 入口清關成功 | | Pickup by Last Mile Delivery | 派送團隊已收件 | | Arrival at Last Mile Sorting Hub | 到達分揀倉庫 | | Out For Last Mile Delivery | 外出派送 | | First Unsuccessful Delivery | 首次外出派送失敗 | | Second Unsuccessful Delivery | 再次外出派送失敗 | | Unsuccessful Delivery | 派送失敗 | | Rejected | 拒收 | | Successful Delivery | 已交付 | | Return Order Created | 返貨訂單創建成功 | | Successful Return | 退貨成功 | | Exception | 派送異常 | ##### Sample Response: ```json= { "status": true, "data": { "referenceNo": "VM0003", "orderNo": "JPUS6759785254", "shipmentLabel": "https://jumppoint-international-public-resource-dev.s3.ap-northeast-1.amazonaws.com/AMZOHK0001/shipmentLabels/shipment-labels-JPUS6759785254.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIARLW6QBGRMSD3AKFH%2F20230412%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-Date=20230412T080535Z&X-Amz-Expires=60&X-Amz-Signature=9bd406c139a1cc15d86a36ee119a7698c2d8bf569115bf2d3dee6c7e397ce602&X-Amz-SignedHeaders=host", "status": "Order Created", "flagged": true, "origin": { "origin": "18F, Gemstar Tower, 23 Man Lok Street, Hung Hom, Hong Kong", "sender": "Kelly Chan", "senderCountry": "HK" }, "destination": { "destination": "Apollo Beach Boulevard, Apollo Beach, FL, USA", "receiver": "Jerry Lee", "receiverCountry": "US" }, "createdAt": "2023-03-28T08:50:28.889Z", "pickUpDate": "2023-03-28T00:00:00.000Z", "deliveryDate": null, "transportationMode": "Air", "statusLogs": [ { "id": "6422aa542807185d8c53015d", "name": "Order Created", "triggeredAt": "2023-03-28T08:50:28.926Z" } ], "products": [ { "descEn": "descriptionEn", "descOL": "descriptionOr", "descDest": "descriptionDe", "qty": "7", "batteryType": "PI965 - Lithium ion Batteries123", "batteryAmount": "18", "price": "99", "currency": "USD" } ], "productDetails": { "productType": "General", "customerGrossWeight": "80", "customerVolumeWeight": "50", "chargeableWeight": "80", "actualGrossWeight": null, "actualVolumeWeight": null } } } ``` ##### Example Error Messages ###### Invalid trackingNumber (Status Code: 400) ```json= { "status": false, "message": "Shipment Order not found" } ``` # Batch Shipment Order Query POST /shipments/batch ##### Request parameter | Name | Type | Required | Description | Example | | ---- | ---- | -------- | ----------- | --- | | orderNos | string | Yes |Order Numbers of the shipments you wish to retrieve | JPTH1931219700 | ##### Sample request ```json= { "orderNos":["JPTH7894446466","JPTH1868202815"] } ``` ##### Sample response ```json= { "status": true, "data": [ { "referenceNo": "REFF201326156", "orderNo": "JPTH7894446466", "status": "Exception", "origin": { "origin": "18F, Gemstar Tower, 23 Man Lok Street, Hung Hom", "sender": "Sandy Lee", "senderCountry": "HK" }, "destination": { "destination": "38836 Biz Galleria, Nuanchan, Bueng Kum", "receiver": "Tommy Chan", "receiverCountry": "TH" }, "createdAt": "2023-03-27T11:16:40.334Z", "pickUpDate": "2023-03-30T00:00:00.000Z", "deliveryDate": null, "transportationMode": "Air", "products": [ { "descEn": "Trasformer - Toys", "descOL": "Trasformer - Toys", "descDest": "ของเล่น", "qty": "30", "batteryType": "PI968 - lithium metal batteries", "batteryAmount": "4", "price": "40", "currency": "HKD" } ], "productDetails": { "productType": "Sensitive", "customerGrossWeight": "20", "customerVolumeWeight": null, "chargeableWeight": null, "actualGrossWeight": null, "actualVolumeWeight": null } }, { "referenceNo": "REFF201326157", "orderNo": "JPTH1868202815", "status": "Successful Pickup", "origin": { "origin": "18F, Gemstar Tower, 23 Man Lok Street, Hung Hom", "sender": "Sandy Lee", "senderCountry": "HK" }, "destination": { "destination": "38836 Biz Galleria, Nuanchan, Bueng Kum", "receiver": "Tommy Chan", "receiverCountry": "TH" }, "createdAt": "2023-03-27T11:26:51.652Z", "pickUpDate": null, "deliveryDate": null, "transportationMode": "Air", "products": [ { "descEn": "Trasformer - Toys", "descOL": "Trasformer - Toys", "descDest": "ของเล่น", "qty": "30", "batteryType": "PI968 - lithium metal batteries", "batteryAmount": "4", "price": "40", "currency": "HKD" } ], "productDetails": { "productType": "Sensitive", "customerGrossWeight": "20", "customerVolumeWeight": null, "chargeableWeight": null, "actualGrossWeight": null, "actualVolumeWeight": null } } ] } ``` # Batch Shipment Latest Status Query POST /shipments/batch/status-logs/latest ##### Request parameter | Name | Type | Required | Description | Example | | ---- | ---- | -------- | ----------- | --- | | orderNos | string | Yes |Order Numbers of the shipments you wish to retrieve | JPTH1931219700 | ##### Sample request ```json= { "orderNos":["JPTH7894446466","JPTH1868202815"] } ``` ##### Sample response ```json= { "status": true, "data": [ { "orderNo": "JPTH7894446466", "status": "Exception", "triggeredAt": "Exception" }, { "orderNo": "JPTH1868202815", "status": "Successful Pickup", "triggeredAt": "Successful Pickup" } ] } ``` # Batch Shipment Status Log Query POST /shipments/batch/status-logs ##### Request parameter | Name | Type | Required | Description | Example | | ---- | ---- | -------- | ----------- | --- | | orderNos | string | Yes |Order Numbers of the shipments you wish to retrieve | JPTH1931219700 | ##### Sample request ```json= { "orderNos":["JPTH7894446466","JPTH1868202815"] } ``` ##### Sample response ```json= { "status": true, "data": [ { "orderNo": "JPTH7894446466", "status": "Exception", "triggeredAt": "2023-12-22T08:32:47.000Z", "statusLogs": [ { "status": "Exception", "triggeredAt": "2023-12-22T08:32:47.000Z" }, { "status": "Order Created", "triggeredAt": "2023-12-01T11:18:26.000Z" }, { "status": "Successful Origin Outbound", "triggeredAt": "2023-03-28T23:02:00.000Z" }, { "status": "Order Confirmed", "triggeredAt": "2023-03-28T08:36:00.000Z" }, { "status": "Order Confirmed", "triggeredAt": "2023-03-28T07:36:00.000Z" }, { "status": "Order Confirmed", "triggeredAt": "2023-03-27T11:16:52.000Z" }, { "status": "Order Created", "triggeredAt": "2023-03-27T04:16:40.351Z" }, { "status": "Order Created", "triggeredAt": "2023-03-27T03:16:40.351Z" } ] }, { "orderNo": "JPTH1868202815", "status": "Successful Pickup", "triggeredAt": "2023-03-30T21:30:00.000Z", "statusLogs": [ { "status": "Successful Pickup", "triggeredAt": "2023-03-30T21:30:00.000Z" }, { "status": "Order Confirmed", "triggeredAt": "2023-03-27T11:27:00.000Z" }, { "status": "Order Created", "triggeredAt": "2023-03-27T03:26:51.668Z" } ] } ] } ``` # Get Shipment Label GET /shipments/shipment-label?orderNo={orderNo} ##### Request Payload | Name | Type | Required | Description | Example | | -------------- | ------ | -------- | ---------------------------------------------------- | -------------- | | orderNo | string | Required | Order Number of the shipment you wish to retrieve | JPTH1931219700 | ##### Sample Response ```json= { "status": true, "data": { "url": "https://jumppoint-international-public-resource-dev.s3.ap-northeast-1.amazonaws.com/AMZOHK0001/shipmentLabels/shipment-labels-JPHK3466419727.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIARLW6QBGRMSD3AKFH%2F20230328%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-Date=20230328T091830Z&X-Amz-Expires=60&X-Amz-Signature=877632dde4f67f6a80d92d53af7b11fcdaa31a68d062c607a3901dde362297f1&X-Amz-SignedHeaders=host" } } ``` ##### Example Error Messages ###### Invalid trackingNumber (Status Code: 400) ```json= { "status": false, "message": "Shipment Order not found" } ``` # Webhooks You may register a webhook to receive order status updates from Jumppoint. ## Register and manage your webhook ### Create a webhook POST /webhooks Please save the `secret` value as it'll only appear once. ##### Request Parameters | Name | Type | Required | Description | Example | | -------------- | ------ | -------- | ---------------------------------------------------- | -------------- | | url | string | Required | The API endpoint which you intend to receive the webhook | https://example.com/webhook-receiver | ##### Sample Response ```json= { "status": true, "data": { "id": "643ee08ec3cb926799da73f4", "url": "https://example.com/webhook-receiver", "secret": "98a120ec04cb5410b2e9314e0fa0538e8f90", "createdAt": "2023-04-18T18:25:18.130Z" } } ``` ##### Example Error Messages ###### Invalid url (Status Code: 400) ```json= { "status": false, "message": "Errors: url: Invalid input: must start with \"https://\"" } ``` ### List all webhooks GET /webhooks ### Get a webhook by ID GET /webhooks/{id} ### Update a webhook by ID PUT /webhooks/{id} The new URL will take effect immediately. ##### Request Parameters | Name | Type | Required | Description | Example | | -------------- | ------ | -------- | ---------------------------------------------------- | -------------- | | url | string | Required | The API endpoint to replace with | https://example.com/new-webhook-receiver | ##### Example Error Messages ###### Invalid url (Status Code: 400) ```json= { "status": false, "message": "Errors: url: Invalid input: must start with \"https://\"" } ``` ### Delete a webhook by ID DELETE /webhooks/{id} The deletion will take effect immediately. ## Handle webhook requests You'll need to have a RESTful web server to recieve webhook requests. The endpoint URL receiving the webhook must use the POST method. ### Security Jumppoint sends all webhook requests with the `X-Jumppoint-Signature` header. Its value is calculated by the HMAC of the raw body using the SHA-256 hash function and the secret shared to you on creation of the webhook record. To validate the request is actually sent from Jumppoint, calculate the HMAC and compare the value with the signature. ##### Example code ```js const sig = req.get('X-Jumppoint-Signature'); const hmac = crypto.createHmac('sha256', '98a120ec04cb5410b2e9314e0fa0538e8f90'); // the secret hmac.update(JSON.stringify(req.body)); const digest = hmac.digest('hex'); if (sig === digest) { res.send("success"); } ``` Learn more about [HMAC signature verification](https://hookdeck.com/webhooks/guides/how-to-implement-sha256-webhook-signature-verification#using-hmac-signature-verification-to-authenticate-and-validate-webhooks ) ### Request Payload ##### JSON attributes | Name | Type | Required | Description | Example | | -------------- | ------ | -------- | ---------------------------------------------------- | -------------- | | customerOrderId | string | Required | ID of customer order | 646e3914954fba48a681676e | | customerOrderNo | string | Required | Order No of customer order | JPUS6759785254 | | status | string | Required | [Shipment Status](#Full-shipment-status) | Order Created | | triggeredAt | string | Required | The datetime of when the shipment update to this status in ISO 8601 format. | 2023-05-25T00:20:03.820Z | ##### Sample Request body: ```json= { "customerOrderId": "646e3914954fba48a681676e", "customerOrderNo": "JPUS6759785254", "status": "Order Created", "triggeredAt": "2023-05-25T00:20:03.820Z" } ``` ### Response Please return a HTTP 200 response at your receiver. Jumppoint will consider the webhook request is successful upon receiving a HTTP 200 response. Otherwise, it'll retry sending the request again some more times some times later.

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully