sanmar_sdk.promostandards.shipment_notification =============================================== .. py:module:: sanmar_sdk.promostandards.shipment_notification .. autoapi-nested-parse:: SanMar's PromoStandards Order Shipment Notification service, version 1.0.0. Reports what shipped, from where, and under which tracking numbers, by purchase order, by SanMar sales order, or for everything shipped since a point in the last seven days. SanMar recommends its daily status file on the SFTP server instead, and asks that this service be called no more than three times a day. Attributes ---------- .. autoapisummary:: sanmar_sdk.promostandards.shipment_notification.MAX_AGE Classes ------- .. autoapisummary:: sanmar_sdk.promostandards.shipment_notification.ShipmentAddress sanmar_sdk.promostandards.shipment_notification.ShippedItem sanmar_sdk.promostandards.shipment_notification.ShipmentPackage sanmar_sdk.promostandards.shipment_notification.ShipmentLocation sanmar_sdk.promostandards.shipment_notification.SalesOrderShipment sanmar_sdk.promostandards.shipment_notification.ShipmentNotification sanmar_sdk.promostandards.shipment_notification.ShipmentNotificationService Module Contents --------------- .. py:data:: MAX_AGE .. py:class:: ShipmentAddress(/, **data: Any) Bases: :py:obj:`sanmar_sdk.base.Record` Where a shipment left from or went to. .. py:attribute:: address1 :type: str | None :value: None .. py:attribute:: address2 :type: str | None :value: None .. py:attribute:: address3 :type: str | None :value: None .. py:attribute:: address4 :type: str | None :value: None .. py:attribute:: city :type: str | None :value: None .. py:attribute:: region :type: str | None :value: None The state. .. py:attribute:: postal_code :type: str | None :value: None .. py:attribute:: country :type: str | None :value: None .. py:class:: ShippedItem(/, **data: Any) Bases: :py:obj:`sanmar_sdk.base.Record` What went into a package. .. py:attribute:: product_id :type: str | None :value: None The style. .. py:attribute:: part_id :type: str | None :value: None SanMar's unique key for the style, color and size. .. py:attribute:: quantity :type: decimal.Decimal | None :value: None .. py:attribute:: po_line_number :type: str | None :value: None .. py:attribute:: distributor_product_id :type: str | None :value: None .. py:attribute:: distributor_part_id :type: str | None :value: None .. py:class:: ShipmentPackage(/, **data: Any) Bases: :py:obj:`sanmar_sdk.base.Record` One box, and its tracking number. .. py:attribute:: tracking_number :type: str :value: None .. py:attribute:: shipment_date :type: datetime.datetime :value: None .. py:attribute:: id :type: int | None :value: None .. py:attribute:: carrier :type: str | None :value: None .. py:attribute:: shipment_method :type: str | None :value: None The carrier's service, such as ``Ground``. .. py:attribute:: dimension_uom :type: str | None :value: None .. py:attribute:: length :type: decimal.Decimal | None :value: None .. py:attribute:: width :type: decimal.Decimal | None :value: None .. py:attribute:: height :type: decimal.Decimal | None :value: None .. py:attribute:: weight_uom :type: str | None :value: None .. py:attribute:: weight :type: decimal.Decimal | None :value: None .. py:attribute:: shipping_account :type: str | None :value: None .. py:attribute:: shipment_terms :type: str | None :value: None .. py:attribute:: items :type: list[ShippedItem] :value: None .. py:class:: ShipmentLocation(/, **data: Any) Bases: :py:obj:`sanmar_sdk.base.Record` Everything that shipped from one warehouse to one address. .. py:attribute:: complete :type: bool .. py:attribute:: ship_from :type: ShipmentAddress :value: None .. py:attribute:: ship_to :type: ShipmentAddress :value: None .. py:attribute:: id :type: int | None :value: None .. py:attribute:: destination_type :type: str | None :value: None ``Commercial`` or ``Residential``. .. py:attribute:: packages :type: list[ShipmentPackage] :value: None .. py:class:: SalesOrderShipment(/, **data: Any) Bases: :py:obj:`sanmar_sdk.base.Record` What shipped against one of SanMar's sales orders. .. py:attribute:: sales_order_number :type: str :value: None .. py:attribute:: complete :type: bool .. py:attribute:: locations :type: list[ShipmentLocation] :value: None .. py:class:: ShipmentNotification(/, **data: Any) Bases: :py:obj:`sanmar_sdk.base.Record` What shipped against one purchase order. .. py:attribute:: po_number :type: str :value: None .. py:attribute:: complete :type: bool Whether the whole purchase order has shipped. .. py:attribute:: sales_orders :type: list[SalesOrderShipment] :value: None .. py:property:: tracking_numbers :type: list[str] Every package's tracking number, in the order SanMar listed them. .. py:class:: ShipmentNotificationService(soap: SoapClient, credentials: Credentials) Bases: :py:obj:`sanmar_sdk.promostandards._common.PromoStandardsService` SanMar's PromoStandards Order Shipment Notification service. .. py:attribute:: endpoint .. py:attribute:: version :value: '1.0.0' The PromoStandards version SanMar implements, sent as ``wsVersion``. .. py:method:: by_purchase_order(po_number: str) -> list[ShipmentNotification] Report what has shipped against a purchase order. .. py:method:: by_sales_order(sales_order_number: str) -> list[ShipmentNotification] Report what has shipped against one of SanMar's sales orders. .. py:method:: since(since: datetime.datetime) -> list[ShipmentNotification] Report everything shipped after a point in time, at most seven days ago. :raises ValueError: If ``since`` has no time zone, or is more than seven days ago.