shipstation_sdk.models

ShipStation API v2 models.

Attributes

Classes

MonetaryValue

Model for a monetary amount and its currency.

Weight

Model for a weight.

Tag

Model for a shipment tag.

ItemOption

Model for a shipment item option.

Address

Model for a shipping address.

ShipmentItem

Model for a shipment item (an order line).

AdvancedShipmentOptions

Model for advanced shipment options.

Shipment

Model for a shipment (the v2 equivalent of a v1 order).

PaginationLink

Model for a single pagination link.

PaginationLinks

Model for the pagination links of a list response.

ShipmentsList

Response model for the shipments list API.

Carrier

Model for a connected carrier account.

CarriersList

Response model for the carriers list API.

TagsList

Response model for the tags list API.

Functions

_date_from_timestamp(→ object)

Accept full ISO timestamps for date fields, truncating to the calendar date.

Module Contents

shipstation_sdk.models._date_from_timestamp(value: object) object[source]

Accept full ISO timestamps for date fields, truncating to the calendar date.

ShipStation’s schema declares plain dates, but documented response examples carry full timestamps (e.g. 2024-07-25T05:00:00.000Z), which pydantic would reject for a date field.

shipstation_sdk.models.ShipStationDate[source]
class shipstation_sdk.models.MonetaryValue(/, **data: Any)[source]

Bases: pydantic.BaseModel

Model for a monetary amount and its currency.

currency: str[source]
amount: float[source]
class shipstation_sdk.models.Weight(/, **data: Any)[source]

Bases: pydantic.BaseModel

Model for a weight.

value: float[source]
unit: str = None[source]
class shipstation_sdk.models.Tag(/, **data: Any)[source]

Bases: pydantic.BaseModel

Model for a shipment tag.

name: str[source]
class shipstation_sdk.models.ItemOption(/, **data: Any)[source]

Bases: pydantic.BaseModel

Model for a shipment item option.

name: str | None = None[source]
value: str | None = None[source]
class shipstation_sdk.models.Address(/, **data: Any)[source]

Bases: pydantic.BaseModel

Model for a shipping address.

name: str | None = None[source]
phone: str | None = None[source]
email: str | None = None[source]
company_name: str | None = None[source]
address_line1: str | None = None[source]
address_line2: str | None = None[source]
address_line3: str | None = None[source]
city_locality: str | None = None[source]
state_province: str | None = None[source]
postal_code: str | None = None[source]
country_code: str | None = None[source]
address_residential_indicator: str | None = None[source]
instructions: str | None = None[source]
class shipstation_sdk.models.ShipmentItem(/, **data: Any)[source]

Bases: pydantic.BaseModel

Model for a shipment item (an order line).

name: str | None = None[source]
sku: str | None = None[source]
bundle_sku: str | None = None[source]
upc: str | None = None[source]
asin: str | None = None[source]
quantity: int = 0[source]
unit_price: float | None = None[source]
tax_amount: float | None = None[source]
shipping_amount: float | None = None[source]
weight: Weight | None = None[source]
sales_order_id: str | None = None[source]
sales_order_item_id: str | None = None[source]
external_order_id: str | None = None[source]
external_order_item_id: str | None = None[source]
item_id: str | None = None[source]
product_id: str | None = None[source]
fullfilment_sku: str | None = None[source]
allocation_status: str | None = None[source]
inventory_location: str | None = None[source]
image_url: str | None = None[source]
order_source_code: str | None = None[source]
options: list[ItemOption] = [][source]
class shipstation_sdk.models.AdvancedShipmentOptions(/, **data: Any)[source]

Bases: pydantic.BaseModel

Model for advanced shipment options.

custom_field1: str | None = None[source]
custom_field2: str | None = None[source]
custom_field3: str | None = None[source]
bill_to_party: str | None = None[source]
bill_to_account: str | None = None[source]
bill_to_postal_code: str | None = None[source]
bill_to_country_code: str | None = None[source]
class shipstation_sdk.models.Shipment(/, **data: Any)[source]

Bases: pydantic.BaseModel

Model for a shipment (the v2 equivalent of a v1 order).

shipment_id: str[source]
external_shipment_id: str | None = None[source]
shipment_number: str | None = None[source]
external_order_id: str | None = None[source]
shipment_status: str | None = None[source]
created_at: datetime.datetime | None = None[source]
modified_at: datetime.datetime | None = None[source]
ship_date: ShipStationDate | None = None[source]
ship_by_date: datetime.datetime | None = None[source]
hold_until_date: datetime.datetime | None = None[source]
deliver_by_date: datetime.datetime | None = None[source]
store_id: str | None = None[source]
order_source_code: str | None = None[source]
carrier_id: str | None = None[source]
service_code: str | None = None[source]
requested_shipment_service: str | None = None[source]
comparison_rate_type: str | None = None[source]
zone: int | None = None[source]
warehouse_id: str | None = None[source]
amount_paid: MonetaryValue | None = None[source]
shipping_paid: MonetaryValue | None = None[source]
tax_paid: MonetaryValue | None = None[source]
retail_rate: MonetaryValue | None = None[source]
ship_to: Address | None = None[source]
ship_from: Address | None = None[source]
return_to: Address | None = None[source]
items: list[ShipmentItem] = [][source]
tags: list[Tag] = [][source]
packages: list[dict[str, Any]] = [][source]
total_weight: Weight | None = None[source]
notes_from_buyer: str | None = None[source]
notes_to_buyer: str | None = None[source]
notes_for_gift: str | None = None[source]
internal_notes: str | None = None[source]
is_gift: bool | None = None[source]
is_return: bool | None = None[source]
assigned_user: str | None = None[source]
display_scheme: str | None = None[source]
confirmation: str | None = None[source]
insurance_provider: str | None = None[source]
advanced_options: AdvancedShipmentOptions | None = None[source]
customs: dict[str, Any] | None = None[source]
tax_identifiers: list[dict[str, Any]] | None = None[source]

Bases: pydantic.BaseModel

Model for a single pagination link.

href: str | None = None[source]

Bases: pydantic.BaseModel

Model for the pagination links of a list response.

first: PaginationLink | None = None[source]
last: PaginationLink | None = None[source]
prev: PaginationLink | None = None[source]
next: PaginationLink | None = None[source]
class shipstation_sdk.models.ShipmentsList(/, **data: Any)[source]

Bases: pydantic.BaseModel

Response model for the shipments list API.

shipments: list[Shipment][source]
total: int[source]
page: int[source]
pages: int[source]
class shipstation_sdk.models.Carrier(/, **data: Any)[source]

Bases: pydantic.BaseModel

Model for a connected carrier account.

carrier_id: str[source]
carrier_code: str[source]
friendly_name: str | None = None[source]
nickname: str | None = None[source]
account_number: str | None = None[source]
class shipstation_sdk.models.CarriersList(/, **data: Any)[source]

Bases: pydantic.BaseModel

Response model for the carriers list API.

The endpoint documents a 207 partial-success response; errors carries the details of any carrier accounts that could not be returned.

carriers: list[Carrier][source]
errors: list[dict[str, Any]] = [][source]
class shipstation_sdk.models.TagsList(/, **data: Any)[source]

Bases: pydantic.BaseModel

Response model for the tags list API.

tags: list[Tag][source]