Skip to content

katana_public_api_client.api.sales_order.create_sales_order

katana_public_api_client.api.sales_order.create_sales_order

Classes

Functions

asyncio(*, client, body) async

Create a sales order

Creates a new sales order object.

Parameters:

  • body (CreateSalesOrderRequest) –

    Request payload for creating a new sales order with customer information, order lines, and delivery details Example: {'order_no': 'SO-2024-002', 'customer_id': 1501, 'sales_order_rows': [{'quantity': 3, 'variant_id': 2101, 'tax_rate_id': 301, 'location_id': 1, 'price_per_unit': 599.99, 'total_discount': 50.0, 'attributes': [{'key': 'engrave_text', 'value': 'Professional Kitchen'}, {'key': 'rush_order', 'value': 'true'}]}], 'tracking_number': None, 'tracking_number_url': None, 'addresses': [{'id': 1, 'sales_order_id': 2001, 'entity_type': 'billing', 'first_name': 'David', 'last_name': 'Wilson', 'company': "Wilson's Catering", 'line_1': '456 Commerce Ave', 'city': 'Seattle', 'state': 'WA', 'zip': '98101', 'country': 'US'}, {'id': 2, 'sales_order_id': 2001, 'entity_type': 'shipping', 'first_name': 'David', 'last_name': 'Wilson', 'company': "Wilson's Catering", 'line_1': '789 Industrial Blvd', 'city': 'Seattle', 'state': 'WA', 'zip': '98102', 'country': 'US'}], 'order_created_date': '2024-01-16T09:00:00Z', 'delivery_date': '2024-01-23T15:00:00Z', 'currency': 'USD', 'location_id': 1, 'status': 'PENDING', 'additional_info': 'Customer prefers morning delivery', 'customer_ref': 'WC- ORDER-2024-003', 'ecommerce_order_type': 'wholesale', 'ecommerce_store_name': 'B2B Portal', 'ecommerce_order_id': 'B2B-7891-2024'}.

Raises:

  • UnexpectedStatus

    If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.

  • TimeoutException

    If the request takes longer than Client.timeout.

Returns:

Source code in katana_public_api_client/api/sales_order/create_sales_order.py
async def asyncio(
    *,
    client: AuthenticatedClient | Client,
    body: CreateSalesOrderRequest,
) -> ErrorResponse | SalesOrder | None:
    """Create a sales order

     Creates a new sales order object.

    Args:
        body (CreateSalesOrderRequest): Request payload for creating a new sales order with
            customer information, order lines, and delivery details
             Example: {'order_no': 'SO-2024-002', 'customer_id': 1501, 'sales_order_rows':
            [{'quantity': 3, 'variant_id': 2101, 'tax_rate_id': 301, 'location_id': 1,
            'price_per_unit': 599.99, 'total_discount': 50.0, 'attributes': [{'key': 'engrave_text',
            'value': 'Professional Kitchen'}, {'key': 'rush_order', 'value': 'true'}]}],
            'tracking_number': None, 'tracking_number_url': None, 'addresses': [{'id': 1,
            'sales_order_id': 2001, 'entity_type': 'billing', 'first_name': 'David', 'last_name':
            'Wilson', 'company': "Wilson's Catering", 'line_1': '456 Commerce Ave', 'city': 'Seattle',
            'state': 'WA', 'zip': '98101', 'country': 'US'}, {'id': 2, 'sales_order_id': 2001,
            'entity_type': 'shipping', 'first_name': 'David', 'last_name': 'Wilson', 'company':
            "Wilson's Catering", 'line_1': '789 Industrial Blvd', 'city': 'Seattle', 'state': 'WA',
            'zip': '98102', 'country': 'US'}], 'order_created_date': '2024-01-16T09:00:00Z',
            'delivery_date': '2024-01-23T15:00:00Z', 'currency': 'USD', 'location_id': 1, 'status':
            'PENDING', 'additional_info': 'Customer prefers morning delivery', 'customer_ref': 'WC-
            ORDER-2024-003', 'ecommerce_order_type': 'wholesale', 'ecommerce_store_name': 'B2B
            Portal', 'ecommerce_order_id': 'B2B-7891-2024'}.


    Raises:
        errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
        httpx.TimeoutException: If the request takes longer than Client.timeout.


    Returns:
        Union[ErrorResponse, SalesOrder]
    """

    return (
        await asyncio_detailed(
            client=client,
            body=body,
        )
    ).parsed

asyncio_detailed(*, client, body) async

Create a sales order

Creates a new sales order object.

Parameters:

  • body (CreateSalesOrderRequest) –

    Request payload for creating a new sales order with customer information, order lines, and delivery details Example: {'order_no': 'SO-2024-002', 'customer_id': 1501, 'sales_order_rows': [{'quantity': 3, 'variant_id': 2101, 'tax_rate_id': 301, 'location_id': 1, 'price_per_unit': 599.99, 'total_discount': 50.0, 'attributes': [{'key': 'engrave_text', 'value': 'Professional Kitchen'}, {'key': 'rush_order', 'value': 'true'}]}], 'tracking_number': None, 'tracking_number_url': None, 'addresses': [{'id': 1, 'sales_order_id': 2001, 'entity_type': 'billing', 'first_name': 'David', 'last_name': 'Wilson', 'company': "Wilson's Catering", 'line_1': '456 Commerce Ave', 'city': 'Seattle', 'state': 'WA', 'zip': '98101', 'country': 'US'}, {'id': 2, 'sales_order_id': 2001, 'entity_type': 'shipping', 'first_name': 'David', 'last_name': 'Wilson', 'company': "Wilson's Catering", 'line_1': '789 Industrial Blvd', 'city': 'Seattle', 'state': 'WA', 'zip': '98102', 'country': 'US'}], 'order_created_date': '2024-01-16T09:00:00Z', 'delivery_date': '2024-01-23T15:00:00Z', 'currency': 'USD', 'location_id': 1, 'status': 'PENDING', 'additional_info': 'Customer prefers morning delivery', 'customer_ref': 'WC- ORDER-2024-003', 'ecommerce_order_type': 'wholesale', 'ecommerce_store_name': 'B2B Portal', 'ecommerce_order_id': 'B2B-7891-2024'}.

Raises:

  • UnexpectedStatus

    If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.

  • TimeoutException

    If the request takes longer than Client.timeout.

Returns:

Source code in katana_public_api_client/api/sales_order/create_sales_order.py
async def asyncio_detailed(
    *,
    client: AuthenticatedClient | Client,
    body: CreateSalesOrderRequest,
) -> Response[ErrorResponse | SalesOrder]:
    """Create a sales order

     Creates a new sales order object.

    Args:
        body (CreateSalesOrderRequest): Request payload for creating a new sales order with
            customer information, order lines, and delivery details
             Example: {'order_no': 'SO-2024-002', 'customer_id': 1501, 'sales_order_rows':
            [{'quantity': 3, 'variant_id': 2101, 'tax_rate_id': 301, 'location_id': 1,
            'price_per_unit': 599.99, 'total_discount': 50.0, 'attributes': [{'key': 'engrave_text',
            'value': 'Professional Kitchen'}, {'key': 'rush_order', 'value': 'true'}]}],
            'tracking_number': None, 'tracking_number_url': None, 'addresses': [{'id': 1,
            'sales_order_id': 2001, 'entity_type': 'billing', 'first_name': 'David', 'last_name':
            'Wilson', 'company': "Wilson's Catering", 'line_1': '456 Commerce Ave', 'city': 'Seattle',
            'state': 'WA', 'zip': '98101', 'country': 'US'}, {'id': 2, 'sales_order_id': 2001,
            'entity_type': 'shipping', 'first_name': 'David', 'last_name': 'Wilson', 'company':
            "Wilson's Catering", 'line_1': '789 Industrial Blvd', 'city': 'Seattle', 'state': 'WA',
            'zip': '98102', 'country': 'US'}], 'order_created_date': '2024-01-16T09:00:00Z',
            'delivery_date': '2024-01-23T15:00:00Z', 'currency': 'USD', 'location_id': 1, 'status':
            'PENDING', 'additional_info': 'Customer prefers morning delivery', 'customer_ref': 'WC-
            ORDER-2024-003', 'ecommerce_order_type': 'wholesale', 'ecommerce_store_name': 'B2B
            Portal', 'ecommerce_order_id': 'B2B-7891-2024'}.


    Raises:
        errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
        httpx.TimeoutException: If the request takes longer than Client.timeout.


    Returns:
        Response[Union[ErrorResponse, SalesOrder]]
    """

    kwargs = _get_kwargs(
        body=body,
    )

    response = await client.get_async_httpx_client().request(**kwargs)

    return _build_response(client=client, response=response)

sync(*, client, body)

Create a sales order

Creates a new sales order object.

Parameters:

  • body (CreateSalesOrderRequest) –

    Request payload for creating a new sales order with customer information, order lines, and delivery details Example: {'order_no': 'SO-2024-002', 'customer_id': 1501, 'sales_order_rows': [{'quantity': 3, 'variant_id': 2101, 'tax_rate_id': 301, 'location_id': 1, 'price_per_unit': 599.99, 'total_discount': 50.0, 'attributes': [{'key': 'engrave_text', 'value': 'Professional Kitchen'}, {'key': 'rush_order', 'value': 'true'}]}], 'tracking_number': None, 'tracking_number_url': None, 'addresses': [{'id': 1, 'sales_order_id': 2001, 'entity_type': 'billing', 'first_name': 'David', 'last_name': 'Wilson', 'company': "Wilson's Catering", 'line_1': '456 Commerce Ave', 'city': 'Seattle', 'state': 'WA', 'zip': '98101', 'country': 'US'}, {'id': 2, 'sales_order_id': 2001, 'entity_type': 'shipping', 'first_name': 'David', 'last_name': 'Wilson', 'company': "Wilson's Catering", 'line_1': '789 Industrial Blvd', 'city': 'Seattle', 'state': 'WA', 'zip': '98102', 'country': 'US'}], 'order_created_date': '2024-01-16T09:00:00Z', 'delivery_date': '2024-01-23T15:00:00Z', 'currency': 'USD', 'location_id': 1, 'status': 'PENDING', 'additional_info': 'Customer prefers morning delivery', 'customer_ref': 'WC- ORDER-2024-003', 'ecommerce_order_type': 'wholesale', 'ecommerce_store_name': 'B2B Portal', 'ecommerce_order_id': 'B2B-7891-2024'}.

Raises:

  • UnexpectedStatus

    If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.

  • TimeoutException

    If the request takes longer than Client.timeout.

Returns:

Source code in katana_public_api_client/api/sales_order/create_sales_order.py
def sync(
    *,
    client: AuthenticatedClient | Client,
    body: CreateSalesOrderRequest,
) -> ErrorResponse | SalesOrder | None:
    """Create a sales order

     Creates a new sales order object.

    Args:
        body (CreateSalesOrderRequest): Request payload for creating a new sales order with
            customer information, order lines, and delivery details
             Example: {'order_no': 'SO-2024-002', 'customer_id': 1501, 'sales_order_rows':
            [{'quantity': 3, 'variant_id': 2101, 'tax_rate_id': 301, 'location_id': 1,
            'price_per_unit': 599.99, 'total_discount': 50.0, 'attributes': [{'key': 'engrave_text',
            'value': 'Professional Kitchen'}, {'key': 'rush_order', 'value': 'true'}]}],
            'tracking_number': None, 'tracking_number_url': None, 'addresses': [{'id': 1,
            'sales_order_id': 2001, 'entity_type': 'billing', 'first_name': 'David', 'last_name':
            'Wilson', 'company': "Wilson's Catering", 'line_1': '456 Commerce Ave', 'city': 'Seattle',
            'state': 'WA', 'zip': '98101', 'country': 'US'}, {'id': 2, 'sales_order_id': 2001,
            'entity_type': 'shipping', 'first_name': 'David', 'last_name': 'Wilson', 'company':
            "Wilson's Catering", 'line_1': '789 Industrial Blvd', 'city': 'Seattle', 'state': 'WA',
            'zip': '98102', 'country': 'US'}], 'order_created_date': '2024-01-16T09:00:00Z',
            'delivery_date': '2024-01-23T15:00:00Z', 'currency': 'USD', 'location_id': 1, 'status':
            'PENDING', 'additional_info': 'Customer prefers morning delivery', 'customer_ref': 'WC-
            ORDER-2024-003', 'ecommerce_order_type': 'wholesale', 'ecommerce_store_name': 'B2B
            Portal', 'ecommerce_order_id': 'B2B-7891-2024'}.


    Raises:
        errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
        httpx.TimeoutException: If the request takes longer than Client.timeout.


    Returns:
        Union[ErrorResponse, SalesOrder]
    """

    return sync_detailed(
        client=client,
        body=body,
    ).parsed

sync_detailed(*, client, body)

Create a sales order

Creates a new sales order object.

Parameters:

  • body (CreateSalesOrderRequest) –

    Request payload for creating a new sales order with customer information, order lines, and delivery details Example: {'order_no': 'SO-2024-002', 'customer_id': 1501, 'sales_order_rows': [{'quantity': 3, 'variant_id': 2101, 'tax_rate_id': 301, 'location_id': 1, 'price_per_unit': 599.99, 'total_discount': 50.0, 'attributes': [{'key': 'engrave_text', 'value': 'Professional Kitchen'}, {'key': 'rush_order', 'value': 'true'}]}], 'tracking_number': None, 'tracking_number_url': None, 'addresses': [{'id': 1, 'sales_order_id': 2001, 'entity_type': 'billing', 'first_name': 'David', 'last_name': 'Wilson', 'company': "Wilson's Catering", 'line_1': '456 Commerce Ave', 'city': 'Seattle', 'state': 'WA', 'zip': '98101', 'country': 'US'}, {'id': 2, 'sales_order_id': 2001, 'entity_type': 'shipping', 'first_name': 'David', 'last_name': 'Wilson', 'company': "Wilson's Catering", 'line_1': '789 Industrial Blvd', 'city': 'Seattle', 'state': 'WA', 'zip': '98102', 'country': 'US'}], 'order_created_date': '2024-01-16T09:00:00Z', 'delivery_date': '2024-01-23T15:00:00Z', 'currency': 'USD', 'location_id': 1, 'status': 'PENDING', 'additional_info': 'Customer prefers morning delivery', 'customer_ref': 'WC- ORDER-2024-003', 'ecommerce_order_type': 'wholesale', 'ecommerce_store_name': 'B2B Portal', 'ecommerce_order_id': 'B2B-7891-2024'}.

Raises:

  • UnexpectedStatus

    If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.

  • TimeoutException

    If the request takes longer than Client.timeout.

Returns:

Source code in katana_public_api_client/api/sales_order/create_sales_order.py
def sync_detailed(
    *,
    client: AuthenticatedClient | Client,
    body: CreateSalesOrderRequest,
) -> Response[ErrorResponse | SalesOrder]:
    """Create a sales order

     Creates a new sales order object.

    Args:
        body (CreateSalesOrderRequest): Request payload for creating a new sales order with
            customer information, order lines, and delivery details
             Example: {'order_no': 'SO-2024-002', 'customer_id': 1501, 'sales_order_rows':
            [{'quantity': 3, 'variant_id': 2101, 'tax_rate_id': 301, 'location_id': 1,
            'price_per_unit': 599.99, 'total_discount': 50.0, 'attributes': [{'key': 'engrave_text',
            'value': 'Professional Kitchen'}, {'key': 'rush_order', 'value': 'true'}]}],
            'tracking_number': None, 'tracking_number_url': None, 'addresses': [{'id': 1,
            'sales_order_id': 2001, 'entity_type': 'billing', 'first_name': 'David', 'last_name':
            'Wilson', 'company': "Wilson's Catering", 'line_1': '456 Commerce Ave', 'city': 'Seattle',
            'state': 'WA', 'zip': '98101', 'country': 'US'}, {'id': 2, 'sales_order_id': 2001,
            'entity_type': 'shipping', 'first_name': 'David', 'last_name': 'Wilson', 'company':
            "Wilson's Catering", 'line_1': '789 Industrial Blvd', 'city': 'Seattle', 'state': 'WA',
            'zip': '98102', 'country': 'US'}], 'order_created_date': '2024-01-16T09:00:00Z',
            'delivery_date': '2024-01-23T15:00:00Z', 'currency': 'USD', 'location_id': 1, 'status':
            'PENDING', 'additional_info': 'Customer prefers morning delivery', 'customer_ref': 'WC-
            ORDER-2024-003', 'ecommerce_order_type': 'wholesale', 'ecommerce_store_name': 'B2B
            Portal', 'ecommerce_order_id': 'B2B-7891-2024'}.


    Raises:
        errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
        httpx.TimeoutException: If the request takes longer than Client.timeout.


    Returns:
        Response[Union[ErrorResponse, SalesOrder]]
    """

    kwargs = _get_kwargs(
        body=body,
    )

    response = client.get_httpx_client().request(
        **kwargs,
    )

    return _build_response(client=client, response=response)