Migrate from v1 to v2024

This guide highlights changes required for migrating APIs from v1 (legacy version) to v2024-09 (latest version)

Getting ready for version 2024-09

Fetch new access_token and setup authorization scopes for the new version.

Fetch Your New Access Token

Follow the steps to setup an integration that allows you to access Public API(2024-09) via the generated access_token

  1. Click Connect on the sidebar from easyship dashboard.

    Connect

  2. Click API Integration on the bottom of the page.

  3. When the popup is shown, select "I'm developing a custom integration." from the Integration Type dropdown options.

    Custom Integration

  4. Select API version "2024-09 and newer".

  5. Click "Connect" button.

  6. The generated Access Token with the Standard Scopes are generated.

🚧

Easyship Public APIs for 2024-09 and newer versions will only work with the access token created in this way.

Access Token Generated

The scopes attached to the access_token can be updated on this screen.
More details on Scopes

Migration Details

Domain - https://public-api.easyship.com/

Version - 2024-09

📦 Pickup APIs

The newer version of the the Pickup APIs involve changes in request body, response structure. The details for the same can be found below

ActionV12024-09
ReadGET /pickup/v1/pickup_slots/:courier_idGET /2024-09/courier_services/:courier_service_id/pickup_slots
CreatePOST /pickup/v1/pickupsPOST /2024-09/pickups

Pickup Slots - List available pickup slots

Use this API to retrieve a list of pickup slots in local time for the coming seven days.

Old Endpoint: GET /pickup/v1/pickup_slots/:courier_id

New Endpoint: GET /2024-09/courier_services/:courier_service_id/pickup_slots

Request Comparison

V1 Request Body

GET https://api.easyship.com/pickup/v1/pickup_slots/:courier_id/pickup_slots?origin_address_id=origin_address_id

2024-09 Request Body

GET https://public-api-staging.easyship.com/2024-09/courier_services/courier_service_id/pickup_slots?origin_address_id=origin_address_id

Mapping from older version to new version

Field/AttributeV12024-09
Courier IDcourier_id (string)courier_service_id(string)
Origin Address IDorigin_address_id(string)origin_address_id(string)

Response Structure (2024-09)

Checkout the updated response structure - List Available Pickup Slots


Schedule/Create Pickup

Create or schedule a Pickup with the desired courier

Only available if your courier provides pickup options.

Old Endpoint: POST /pickup/v1/pickups

New Endpoint: POST /2024-09/pickups

Request Comparison

V1 Request Body

{
    "courier_id": "01563646-58c1-4607-8fe0-cae3e33c0001",
    "preferred_date": "2022-02-23",
    "preferred_min_time": "2022-02-23T10:00",
    "preferred_max_time": "2022-02-23T13:00",
    "easyship_shipment_ids": [
        "ESSG10006001"
    ],
    "pickup": {
        "easyship_shipment_ids": [
            "ESSG10006001"
        ],
        "preferred_min_time": "2022-02-23T10:00",
        "courier_id": "01563646-58c1-4607-8fe0-cae3e33c0001",
        "preferred_max_time": "2022-02-23T13:00",
        "preferred_date": "2022-02-23"
    }
}

2024-09 Request Body

{
  "courier_service_id": "01563646-58c1-4607-8fe0-cae3e33c0001",
  "selected_date": "2022-02-23",
  "selected_from_time": "12:00",
  "selected_to_time": "16:00",
  "easyship_shipment_ids": [
    "ESSG10006001"
  ]
}

Mapping from older version to new version

Field/AttributeV12024-09Notes
Courier IDcourier_id (string)courier_service_id (string)Use courier_service_id in place of courier_id
Easyship Shipment IDeasyship_shipment_ids (array)easyship_shipment_ids (array)Unchanged
Selected Dateselected_date (string)selected_date (string)Unchanged
Preferred Datepreferred_date (string)selected_date (string)Use selected_date in place of preferred_date
Preferred Min Timepreferred_min_time (string)Deprecated ❌Use selected_from_time in place of preferred_min_time
Preferred Max Timepreferred_max_time (string)Deprecated ❌Use selected_to_time in place of preferred_max_time
Selected From Timeselected_from_time (string)selected_from_time (string)Unchanged
Selected To Timeselected_to_time (string)selected_to_time (string)Unchanged
Time Slot IDtime_slot_id (string)Use either of time_slot_id OR (selected_from_time & selected_to_time)

Mapping Details

time_slot_id can be fetched from List Available Pickup Slots . Either time_slot_id or selected_from_time& selected_to_time can be used to specify pickup timings

Response Structure (2024-09)

Checkout the updated response structure - Create a Pickup


Directly Handover - Mark as directly handed over

API Endpoint POST /pickup/v1/direct_handover

❗️

This endpoint will not be available as part of 2024-09 version.