sanmar_sdk.promostandards.order_status¶
SanMar’s PromoStandards Order Status service, version 2.0.0.
Reports where orders stand, line by line, with any holds. SanMar asks that it be called no
more than three times a day, starting two hours after an order is placed, and that an order
not be checked again once it is Status.COMPLETE or Status.CANCELED. SanMar
does not implement getIssue or the transactionId query.
Attributes¶
A |
Classes¶
Where an order or line stands. |
|
Which issues to include in an order status. |
|
A contact's name and address. |
|
Someone at SanMar to ask about an order, such as its account executive. |
|
Where one line of a sales order stands. |
|
A hold on an order, such as |
|
Where one of SanMar's sales orders stands. |
|
Where one purchase order stands, sales order by sales order. |
|
SanMar's PromoStandards Order Status service. |
Module Contents¶
- class sanmar_sdk.promostandards.order_status.Status[source]¶
Bases:
enum.StrEnumWhere an order or line stands.
- type sanmar_sdk.promostandards.order_status.StatusValue = Annotated[Status | str, Field(union_mode='left_to_right'), BeforeValidator(_status)][source]¶
A
Status, or the text SanMar sent if it is none of them.
- class sanmar_sdk.promostandards.order_status.IssueDetail[source]¶
Bases:
enum.StrEnumWhich issues to include in an order status.
- class sanmar_sdk.promostandards.order_status.ContactDetails(/, **data: Any)[source]¶
Bases:
sanmar_sdk.base.RecordA contact’s name and address.
- class sanmar_sdk.promostandards.order_status.Contact(/, **data: Any)[source]¶
Bases:
sanmar_sdk.base.RecordSomeone at SanMar to ask about an order, such as its account executive.
- details: ContactDetails = None[source]¶
- class sanmar_sdk.promostandards.order_status.StatusLine(/, **data: Any)[source]¶
Bases:
sanmar_sdk.base.RecordWhere one line of a sales order stands.
- status: StatusValue[source]¶
- quantity_ordered: decimal.Decimal = None[source]¶
- quantity_shipped: decimal.Decimal = None[source]¶
- class sanmar_sdk.promostandards.order_status.Issue(/, **data: Any)[source]¶
Bases:
sanmar_sdk.base.RecordA hold on an order, such as
generalHoldorbackOrderHold.- response_required_by: datetime.datetime | None = None[source]¶
- class sanmar_sdk.promostandards.order_status.SalesOrderStatus(/, **data: Any)[source]¶
Bases:
sanmar_sdk.base.RecordWhere one of SanMar’s sales orders stands.
- status: StatusValue[source]¶
- valid_timestamp: datetime.datetime = None[source]¶
When SanMar last confirmed this status.
- issue_category: str | None = None[source]¶
generalHoldwhen the order is on hold,backOrderHoldwhen it is backordered.
- expected_ship_date: datetime.date | None = None[source]¶
- expected_delivery_date: datetime.date | None = None[source]¶
- lines: list[StatusLine] = None[source]¶
The lines, when they were asked for.
- class sanmar_sdk.promostandards.order_status.OrderStatus(/, **data: Any)[source]¶
Bases:
sanmar_sdk.base.RecordWhere one purchase order stands, sales order by sales order.
- sales_orders: list[SalesOrderStatus] = None[source]¶
- class sanmar_sdk.promostandards.order_status.OrderStatusService(soap: SoapClient, credentials: Credentials)[source]¶
Bases:
sanmar_sdk.promostandards._common.PromoStandardsServiceSanMar’s PromoStandards Order Status service.
- by_purchase_order(po_number: str, *, issues: IssueDetail = IssueDetail.OPEN, lines: bool = True) list[OrderStatus][source]¶
Report where a purchase order stands.
issuespicks which holds to include, andlineswhether to include each line.
- by_sales_order(sales_order_number: str, *, issues: IssueDetail = IssueDetail.OPEN, lines: bool = True) list[OrderStatus][source]¶
Report where one of SanMar’s sales orders stands.
- updated_since(since: datetime.datetime, *, issues: IssueDetail = IssueDetail.OPEN, lines: bool = True) list[OrderStatus][source]¶
Report every order whose status changed after a point in time, at most 30 days ago.
SanMar suggests narrowing to seven days if the call times out.
- Raises:
ValueError – If
sincehas no time zone, or is more than 30 days ago.
- open_orders(*, issues: IssueDetail = IssueDetail.OPEN, lines: bool = True) list[OrderStatus][source]¶
Report every order that is not yet complete or canceled.
- open_issues(*, issues: IssueDetail = IssueDetail.OPEN, lines: bool = True) list[OrderStatus][source]¶
Report every open order with an open or pending issue.