Easyship
Updated:
What is Easyship?
Easyship
is a cloud-based shipping platform
designed for global eCommerce.
The all-in-one system provides users with tools to manage domestic and international shipping
through more than 50+ couriers and shipping providers, including DHL
, UPS
, USPS
and FedEx
.
Store sync integrations enable automatic updates of courier names and tracking number in eCommerce stores,
and emailing of tracking information to customers. An eCommerce checkout plugin provides customers
with real-time shipping rate calculations, which include any taxes and customs duties to be paid.
Customs duties and taxes are calculated automatically for every country, with category-based calculations,
automatic generation of tax documents, and the ability to decide whether the customer or seller will pay any applicable charges.
Key benefits of using Easyship
-
Easyship
offers a plugin which calculates shipping rates in real-time during the checkout process, providing customers with tailored shipping quotes using data from more than 250 shipping solutions. -
Customs duties
andtaxes
, includingVAT
are automatically calculated for every country, with all tax documentation generated and users able to decide whether they or the customer will pay customs charges, taxes and duties. -
Store sync integrations enable automatic updates of courier names and tracking numbers in users’ eCommerce stores and order tracking emails can be sent out to customers automatically.
-
The dashboard gives users visibility into shipping costs, delivery time, taxes and provides real-time tracking updates and notifications from all couriers.
-
Shipping rules
allows users to define rules for automatic courier selection based onshipping destination
,product type
,item weight
and many more.
However, application configuration is an integral activity prior to the process of integration. If your chosen application
is Easyship
, credentials need to be provided for validating the agent. Here you will find the detailed
description on how to configure the agents in OP
agent and Cloud agnet
for Easyship
.
Pre-requisites for Easyship Configuration
1) Create a developer account in Easyship
with necessary credentials.
2) Click here to know the authentication mechanism
and APIs
of the application along with their structures.
3) Email ID
and Password
of Easyship
application to login successfully.
4) Access Token of the application to validate the credentials in the agent.
How to get Access Token?
1) Login to your Easyship
account with valid credentials. From the dashboard, navigate to Connect
-> Click on New Integration
.
You will land on the access token generation page. On clicking API Integration
, a dialog box will appear. Select Im developing a custom integration
as Integration Type
, provide a Integration Name
and click on Connect
. Your Access Token
will be generated both for
Production
and Sandbox
environment.
On-Premise Agent Configuration
Installation of On-Premise Agent
You need to install the agent on your local server. To Know about On-Premise Agent Configuration, Click here.
How to configure Easyship Application in OP Agent
1) Create a processflow with Easyship
as source or destination application, and deploy the processflow in On-Premise agent.
2) Open the agent and click the checkbox in Settings Panel.
3) Move into the App Configurational Panel of the agent and configure the details of the respective application.
Steps to configure the credentials in the OP agent
1) Open the OP Agent by providing valid credentials.
2) In the App Configurations panel of the agent, click on the +
button, beside the application Easyship
.
The credential panel opens for the application Easyship
.
3)Provide the Access Token
obtained from the application dashboard.
4) Click on “Validate” button to validate the connection. A message Successfully Validated
will appear
if all the credentials provided by you for Easyship
is valid. After validating the credentials, click “Save” button to save the credetials.
Following the above processes, you can configure the Easyship
application in the OP agent.
Troubleshooting
ISSUE 1
Some of the basic troubleshooting issue happens due to improper validations or even if it is accurately validated but the
processflows do not sync the data successfully. This basic issue resolves after removing the Temp and Cache
files from the
portal and from your system. Therefore, after clearing the Temp and Cache files, again deploy and execute
your processflow.
ISSUE 2
User validation may fail due to invaild Access Token
. Check the credentials once again and re-Validate the credentials.
Attributes and Actions
While defining a connection to an API in Easyship
, you require clear understanding about the data requirements and endpoint configurations.
You can refer to this document to find all the endpoint details of Easyship
. To define the endpoint in APPSeCONNECT, you need
to define Schemas and Actions. Actions are specifically targeted for an endpoint while schema is the data needed to execute the API. Here is the
list of some of the pre-packaged API
actions defined for you which you can easily plug and play while doing your integration.
Click here Easyship to know the authuorization and APIs details.
Endpoint | Action | Action Type | Schema | UI Help | API Path |
---|---|---|---|---|---|
/v2/shipments | shipments | GET | shipments | List all shipments | shipments |
/v2/shipments | shipments | POST | shipments | Create a Shipment | shipments |
/v2/couriers | couriers | GET | couriers | List All Couriers | couriers |
/v2/rates | rates | POST | rates | Request Rates | rates |
Action Filter Implementation
Data is fetched from source application using APIs, and as you are aware of, API provides filters
which will allow you to specify a subset of data from the whole bunch of data created in the server,
the same can be specified through Actions and Action filters. The Action generally defines the
endpoint of the application which is being fetched, while the filters define the search criteria
of the data. You can add these parameters in the action filter
to define the search criteria.
- General filters : It represents the overall filter criteria of the API. To define such filters, you do not need to specify anything special, just putting the field name and the value with the condition type is fine.
Let us consider any API of Easyship
such as shipments
.
{
"shipments": [
{
"easyship_shipment_id": "ESIN113070772",
"created_at": "2022-10-18T07:21:38.353Z",
"updated_at": "2022-10-18T07:21:38.608Z",
"label_paid_at": null,
"label_generated_at": null,
"order_created_at": null,
"origin_address": {
"line_1": "abcd",
"line_2": "",
"state": "",
"city": "kolkata",
"postal_code": "700090",
"country_alpha2": "IN",
"contact_name": "ARNAB DE",
"company_name": "insync",
"contact_phone": "8902443519",
"contact_email": "arnab.d@insync.co.in"
},
"destination_address": {
"line_1": "tets drive",
"line_2": null,
"state": null,
"city": "kolkata",
"postal_code": "700090",
"country_alpha2": "IN",
"contact_name": "johnson",
"company_name": null,
"contact_phone": "8908908909",
"contact_email": null
},
"order_data": {
"platform_name": "Shopify",
"platform_order_number": null,
"order_tag_list": [],
"seller_notes": null,
"buyer_notes": null
},
"metadata": {},
"set_as_residential": true,
"consignee_tax_id": "",
"eei_reference": null,
"incoterms": null,
"insurance": {
"is_insured": false,
"insured_amount": 0.0,
"insured_currency": "INR"
},
"parcels": [
{
"total_actual_weight": 44.0,
"box": {
"id": "c34a7560-4867-427d-a051-487768dc5e43",
"courier_umbrella_name": "UPS",
"courier_origin_country_alpha2": null,
"name": "UPS Letter",
"slug": "ups-letter",
"outer_length": 38.0,
"outer_width": 24.0,
"outer_height": 7.62,
"weight": 0.0
},
"items": [
{
"description": "good one",
"category": "Cameras",
"sku": "tr456",
"quantity": 2,
"dimensions": {
"length": 0.0,
"width": 0.0,
"height": 0.0
},
"actual_weight": 0.0,
"origin_currency": "INR",
"origin_customs_value": 4569.0,
"declared_currency": "INR",
"declared_customs_value": 4569.0
}
]
}
],
"total_customs_value": 9138.0,
"total_actual_weight": 44.0,
"shipment_state": "created",
"pickup_state": "not_requested",
"delivery_state": "not_created",
"label_state": "not_created",
"warehouse_state": "none",
"trackings": [],
"tracking_page_url": "https://www.trackmyshipment.co/shipment-tracking/ESIN113070772",
"shipping_documents": [],
"currency": "INR",
"selected_courier": {
"id": null
},
"rates": []
}
]
}
Mostly, while retrieving data from the application, you will be
using the following as the key-value
pairs.
Use easyship_shipment_id
as the key and provide any numerical value such as ESIN113070772
, ESIN113071892
in the value field represents the item to be fetched.
You can also fetch data
as per the time instance using created_at
as the key and ~{CreatedDate}~
as the value.