ShipStation
ShipStation is a web-based shipping software that helps eCommerce retailers manage and streamline order fulfillment across multiple sales channels and carriers.
Data integration: Skyvia supports importing data to and from ShipStation, exporting ShipStation data to CSV files, replicating ShipStation data to relational databases, and synchronizing ShipStation data with other cloud apps and relational databases.
Backup: Skyvia Backup supports ShipStation backup.
Query: Skyvia Query supports ShipStation.
Establishing Connection
To create a connection to ShipStation, specify an API Key and API Secret.
Getting Credentials
To locate API key and API Secret, do the following:
- Go to your ShipStation account.
- Click the gear icon in the upper left corner.
- Click Account -> API Settings.
-
Select the API version. Click Generate API Key.
- Copy the generated API Key and API Secret, if applicable.
Creating Connection
To connect to ShipStation, select the API version and enter the obtained API Key. If you’re using API v1, you’ll need both an API Key and an API Secret.
API Keys for API v1 and API v2 are not interchangeable.
Connector Specifics
Object Peculiarities
Orders
If you map the Items field to constant or expression in your integration, adjust mapping according to the following format.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[
{
"OrderItemId": 102165090,
"LineItemKey": "48510350416394",
"Sku": "B0006ZZGZI",
"Name": "Texas Instruments TI-83 Plus Programmable Graphing Calculator",
"ImageUrl": "http://ecx.images-amazon.com/images/I/21S41356K0L.jpg",
"Weight_Value": 8,
"Weight_Units": "ounces",
"Quantity": 1,
"UnitPrice": 45,
"TaxAmount": 0,
"ShippingAmount": 4.95,
"Adjustment": false,
"CreatedDate": "2013-08-01T07:24:09Z",
"UpdatedDate": "2013-08-01T07:24:09Z"
}
]
Filtering Specifics
ShipStation supports filtering for the following objects and fields:
API v1
Objects | Operator | Fields |
---|---|---|
Customers | = |
State, CountryCode |
OrderItems | = |
OrderStatus |
>, >=, <, <= |
OrderDate, OrderPaymentDate, OrderCreatedDate, OrderUpdatedDate | |
Orders | = |
OrderStatus, CustomerUsername |
>, >=, <, <= |
OrderDate, PaymentDate, CreatedDate, UpdatedDate | |
Packages | = |
CarrierCode |
Services | = |
CarrierCode |
ShipmentItems | >=, <= |
ShipDate |
>, >=, <, <= |
ShipmentCreatedDate | |
Shipments | = |
OrderId, CarrierCode, TrackingNumber |
>=, <= |
ShipDate | |
>, >=, <, <= |
CreatedDate | |
StoreRefreshStatus | = |
StoreId |
API v2
Objects | Operator | Fields |
---|---|---|
Batches | = |
Status |
Labels | = |
Status, ShipmentId, TrackingNumber, BatchId, CarrierId, ServiceCode |
>, >=, <, <= |
CreatedDate | |
Manifests | = |
CarrierId, WarehouseId |
>, >=, <, <= |
ShipDate, CreatedDate | |
SheduledPickups | = |
CarrierId, WarehouseId |
>, >=, <, <= |
CreatedDate | |
Shipments | = |
ShipmentStatus, ShipmentNumber, ShipTo_Name, ExternalShipmentId |
>, >=, <, <= |
CreatedDate, UpdatedDate | |
SkuInventoryLevels | = |
InventoryWarehouseId, InventoryLocationId |
Use these filters to improve performance and save API calls. You can use filters with other fields or operators, but it may increase API call usage.
Sorting Specifics
ShipStation supports ascending/descending sorting for the following objects and fields:
API v2
Object | FieldS |
---|---|
Batches | CreatedDate, ProcessedAt |
Labels | CreatedDate |
Shipments | CreatedDate, UpdatedDate |
Nested Objects
The following fields store complex structured data in JSON format:
API v1
Object | Field |
---|---|
Orders | Items |
API v2
Object | Field |
---|---|
Carriers | Options, Packages, Services |
Labels | AlternativeIdentifiers, Packages |
Shipments | Items, Packages, ShipTo_Geolocation, TaxIdentifiers |
Webhooks | Headers |
You can use our Nested Objects mapping feature in the Import integrations to insert or update the nested values in such fields. Select the Separate Tables for the Unwind Nested Objects option when using the new replication runtime to replicate the nested data into separate tables.
Incremental Replication and Synchronization
API v1
Skyvia supports Incremental Replication for the following ShipStation objects: Customers, Fulfillments, OrderItems, Orders, Products, Shipments, Stores, Warehouses. Skyvia can track only new records for the Fulfillments, Shipments, and Warehouses objects.
Skyvia supports Synchronization for the Orders and Warehouses objects. Skyvia can track only new records for the Warehouses object.
API v2
Skyvia supports Incremental Replication for the following ShipStation objects: Batches, InventoryLocations, InventoryWarehouses, InvalidShipmentRates, Labels, Manifests, ScheduledPickups, ShipmentRates, Shipments, Warehouses. Skyvia can track only new records for the InvalidShipmentRates, Labels, Manifests, ScheduledPickups, ShipmentRates, and Warehouses objects.
Skyvia supports Synchronization for the InventoryLocations and InventoryWarehouses objects.
DML Operations Support
Skyvia supports DML operations for such ShipStation objects:
API v1
OPERATION | OBJECT |
---|---|
UPDATE, DELETE | Orders |
UPDATE | Warehouses |
DELETE | Webhooks |
API v2
OPERATION | OBJECT |
---|---|
UPDATE, DELETE | InventoryLocations, InventoryWarehouses, PackageTypes, Webhooks |
DELETE | Batches, ScheduledPickups |
Stored Procedures (API v2)
UpdateSkuStockLevels
To update stock levels, use the following command:
call UpdateSkuStockLevels(:transaction_type, :inventory_location_id, :sku, :quantity, :cost_amount, :cost_currency, :condition, :lot, :usable_start_date, :usable_end_date, :effective_at, :reason, :notes, :new_inventory_location_id, :new_cost_amount, :new_cost_currency, :new_condition)
Parameter | Description |
---|---|
transaction_type | Required parameter. Type of update to perform. Allowed values: increment, decrement, adjust, modify. |
inventory_location_id | Required parameter. ID of inventory location. |
sku | Required parameter. SKU identifier. |
quantity | Required parameter. Quantity to increment, decrement, or set. |
cost_amount | Cost amount. |
cost_currency | Currency of cost amount. |
condition | Inventory condition. Allowed values: sellable, damaged, expired, qa_hold. |
lot | Lot or batch identifier. |
usable_start_date | Timestamp when stock becomes usable. |
usable_end_date | Timestamp when stock expires. |
effective_at | Timestamp when the transaction becomes effective. |
reason | Reason for stock adjustment. |
notes | Notes for stock adjustment. |
new_inventory_location_id | Target location ID to which stock will be moved. |
new_cost_amount | New cost amount. |
new_cost_currency | New cost currency. |
new_condition | New condition for the existing stock. Allowed values: sellable, damaged, expired, qa_hold. |
GetShipmentByExternalId
To get shipment by external ID, use the following command:
call GetShipmentByExternalId(:external_shipment_id)
Parameter | Description |
---|---|
external_shipment_id | Custom external ID. |
CancelShipment
To mark shipment as cancelled, use the following command:
call CancelShipment(:shipment_id)
Parameter | Description |
---|---|
shipment_id | ID of the shipment. |
AddTagToShipment
To add a tag to the shipment, use the following command:
call AddTagToShipment(:shipment_id, :tag_name)
Parameter | Description |
---|---|
shipment_id | ID of the shipment. |
tag_name | The tag to be added. |
RemoveTagFromShipment
To remove an existing tag from the shipment, use the following command:
call RemoveTagFromShipment(:shipment_id, :tag_name)
Parameter | Description |
---|---|
shipment_id | Shipment ID. |
tag_name | The tag to be removed. |
StopTrackingPackage
To stop tracking the package, use the following command:
call StopTrackingPackage(:carrier_code, :tracking_number)
Parameter | Description |
---|---|
carrier_code | Carrier code. |
tracking_number | Package tracking number. |
VoidLabel
To void the label, use the following command:
call VoidLabel(:label_id)
Parameter | Description |
---|---|
label_id | Label ID. |
Supported Actions
Skyvia supports all the common actions for ShipStation.