Skip to content

katana_public_api_client.api.purchase_order.create_purchase_order

katana_public_api_client.api.purchase_order.create_purchase_order

Classes

Functions

asyncio(*, client, body) async

Create a purchase order

Creates a new purchase order object.

Parameters:

  • body (CreatePurchaseOrderRequest) –

    Request payload for creating a new purchase order to procure materials or products from suppliers Example: {'order_no': 'PO-2024-0156', 'entity_type': 'regular', 'supplier_id': 4001, 'currency': 'USD', 'status': 'NOT_RECEIVED', 'order_created_date': '2024-01-15T09:30:00Z', 'location_id': 1, 'additional_info': "Rush order - needed for Valentine's Day production run", 'purchase_order_rows': [{'quantity': 250, 'price_per_unit': 2.85, 'variant_id': 501, 'tax_rate_id': 1, 'purchase_uom': 'kg', 'purchase_uom_conversion_rate': 1.0, 'arrival_date': '2024-08-20T14:45:00Z'}, {'quantity': 100, 'price_per_unit': 12.5, 'variant_id': 502, 'tax_rate_id': 1, 'purchase_uom': 'pieces', 'purchase_uom_conversion_rate': 1.0, 'arrival_date': '2024-08-20T14:45:00Z'}]}.

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/purchase_order/create_purchase_order.py
async def asyncio(
    *,
    client: AuthenticatedClient | Client,
    body: CreatePurchaseOrderRequest,
) -> (
    DetailedErrorResponse
    | ErrorResponse
    | Union["OutsourcedPurchaseOrder", "RegularPurchaseOrder"]
    | None
):
    """Create a purchase order

     Creates a new purchase order object.

    Args:
        body (CreatePurchaseOrderRequest): Request payload for creating a new purchase order to
            procure materials or products from suppliers Example: {'order_no': 'PO-2024-0156',
            'entity_type': 'regular', 'supplier_id': 4001, 'currency': 'USD', 'status':
            'NOT_RECEIVED', 'order_created_date': '2024-01-15T09:30:00Z', 'location_id': 1,
            'additional_info': "Rush order - needed for Valentine's Day production run",
            'purchase_order_rows': [{'quantity': 250, 'price_per_unit': 2.85, 'variant_id': 501,
            'tax_rate_id': 1, 'purchase_uom': 'kg', 'purchase_uom_conversion_rate': 1.0,
            'arrival_date': '2024-08-20T14:45:00Z'}, {'quantity': 100, 'price_per_unit': 12.5,
            'variant_id': 502, 'tax_rate_id': 1, 'purchase_uom': 'pieces',
            'purchase_uom_conversion_rate': 1.0, 'arrival_date': '2024-08-20T14:45:00Z'}]}.

    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[DetailedErrorResponse, ErrorResponse, Union['OutsourcedPurchaseOrder', 'RegularPurchaseOrder']]
    """

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

asyncio_detailed(*, client, body) async

Create a purchase order

Creates a new purchase order object.

Parameters:

  • body (CreatePurchaseOrderRequest) –

    Request payload for creating a new purchase order to procure materials or products from suppliers Example: {'order_no': 'PO-2024-0156', 'entity_type': 'regular', 'supplier_id': 4001, 'currency': 'USD', 'status': 'NOT_RECEIVED', 'order_created_date': '2024-01-15T09:30:00Z', 'location_id': 1, 'additional_info': "Rush order - needed for Valentine's Day production run", 'purchase_order_rows': [{'quantity': 250, 'price_per_unit': 2.85, 'variant_id': 501, 'tax_rate_id': 1, 'purchase_uom': 'kg', 'purchase_uom_conversion_rate': 1.0, 'arrival_date': '2024-08-20T14:45:00Z'}, {'quantity': 100, 'price_per_unit': 12.5, 'variant_id': 502, 'tax_rate_id': 1, 'purchase_uom': 'pieces', 'purchase_uom_conversion_rate': 1.0, 'arrival_date': '2024-08-20T14:45:00Z'}]}.

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/purchase_order/create_purchase_order.py
async def asyncio_detailed(
    *,
    client: AuthenticatedClient | Client,
    body: CreatePurchaseOrderRequest,
) -> Response[
    DetailedErrorResponse
    | ErrorResponse
    | Union["OutsourcedPurchaseOrder", "RegularPurchaseOrder"]
]:
    """Create a purchase order

     Creates a new purchase order object.

    Args:
        body (CreatePurchaseOrderRequest): Request payload for creating a new purchase order to
            procure materials or products from suppliers Example: {'order_no': 'PO-2024-0156',
            'entity_type': 'regular', 'supplier_id': 4001, 'currency': 'USD', 'status':
            'NOT_RECEIVED', 'order_created_date': '2024-01-15T09:30:00Z', 'location_id': 1,
            'additional_info': "Rush order - needed for Valentine's Day production run",
            'purchase_order_rows': [{'quantity': 250, 'price_per_unit': 2.85, 'variant_id': 501,
            'tax_rate_id': 1, 'purchase_uom': 'kg', 'purchase_uom_conversion_rate': 1.0,
            'arrival_date': '2024-08-20T14:45:00Z'}, {'quantity': 100, 'price_per_unit': 12.5,
            'variant_id': 502, 'tax_rate_id': 1, 'purchase_uom': 'pieces',
            'purchase_uom_conversion_rate': 1.0, 'arrival_date': '2024-08-20T14:45:00Z'}]}.

    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[DetailedErrorResponse, ErrorResponse, Union['OutsourcedPurchaseOrder', 'RegularPurchaseOrder']]]
    """

    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 purchase order

Creates a new purchase order object.

Parameters:

  • body (CreatePurchaseOrderRequest) –

    Request payload for creating a new purchase order to procure materials or products from suppliers Example: {'order_no': 'PO-2024-0156', 'entity_type': 'regular', 'supplier_id': 4001, 'currency': 'USD', 'status': 'NOT_RECEIVED', 'order_created_date': '2024-01-15T09:30:00Z', 'location_id': 1, 'additional_info': "Rush order - needed for Valentine's Day production run", 'purchase_order_rows': [{'quantity': 250, 'price_per_unit': 2.85, 'variant_id': 501, 'tax_rate_id': 1, 'purchase_uom': 'kg', 'purchase_uom_conversion_rate': 1.0, 'arrival_date': '2024-08-20T14:45:00Z'}, {'quantity': 100, 'price_per_unit': 12.5, 'variant_id': 502, 'tax_rate_id': 1, 'purchase_uom': 'pieces', 'purchase_uom_conversion_rate': 1.0, 'arrival_date': '2024-08-20T14:45:00Z'}]}.

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/purchase_order/create_purchase_order.py
def sync(
    *,
    client: AuthenticatedClient | Client,
    body: CreatePurchaseOrderRequest,
) -> (
    DetailedErrorResponse
    | ErrorResponse
    | Union["OutsourcedPurchaseOrder", "RegularPurchaseOrder"]
    | None
):
    """Create a purchase order

     Creates a new purchase order object.

    Args:
        body (CreatePurchaseOrderRequest): Request payload for creating a new purchase order to
            procure materials or products from suppliers Example: {'order_no': 'PO-2024-0156',
            'entity_type': 'regular', 'supplier_id': 4001, 'currency': 'USD', 'status':
            'NOT_RECEIVED', 'order_created_date': '2024-01-15T09:30:00Z', 'location_id': 1,
            'additional_info': "Rush order - needed for Valentine's Day production run",
            'purchase_order_rows': [{'quantity': 250, 'price_per_unit': 2.85, 'variant_id': 501,
            'tax_rate_id': 1, 'purchase_uom': 'kg', 'purchase_uom_conversion_rate': 1.0,
            'arrival_date': '2024-08-20T14:45:00Z'}, {'quantity': 100, 'price_per_unit': 12.5,
            'variant_id': 502, 'tax_rate_id': 1, 'purchase_uom': 'pieces',
            'purchase_uom_conversion_rate': 1.0, 'arrival_date': '2024-08-20T14:45:00Z'}]}.

    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[DetailedErrorResponse, ErrorResponse, Union['OutsourcedPurchaseOrder', 'RegularPurchaseOrder']]
    """

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

sync_detailed(*, client, body)

Create a purchase order

Creates a new purchase order object.

Parameters:

  • body (CreatePurchaseOrderRequest) –

    Request payload for creating a new purchase order to procure materials or products from suppliers Example: {'order_no': 'PO-2024-0156', 'entity_type': 'regular', 'supplier_id': 4001, 'currency': 'USD', 'status': 'NOT_RECEIVED', 'order_created_date': '2024-01-15T09:30:00Z', 'location_id': 1, 'additional_info': "Rush order - needed for Valentine's Day production run", 'purchase_order_rows': [{'quantity': 250, 'price_per_unit': 2.85, 'variant_id': 501, 'tax_rate_id': 1, 'purchase_uom': 'kg', 'purchase_uom_conversion_rate': 1.0, 'arrival_date': '2024-08-20T14:45:00Z'}, {'quantity': 100, 'price_per_unit': 12.5, 'variant_id': 502, 'tax_rate_id': 1, 'purchase_uom': 'pieces', 'purchase_uom_conversion_rate': 1.0, 'arrival_date': '2024-08-20T14:45:00Z'}]}.

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/purchase_order/create_purchase_order.py
def sync_detailed(
    *,
    client: AuthenticatedClient | Client,
    body: CreatePurchaseOrderRequest,
) -> Response[
    DetailedErrorResponse
    | ErrorResponse
    | Union["OutsourcedPurchaseOrder", "RegularPurchaseOrder"]
]:
    """Create a purchase order

     Creates a new purchase order object.

    Args:
        body (CreatePurchaseOrderRequest): Request payload for creating a new purchase order to
            procure materials or products from suppliers Example: {'order_no': 'PO-2024-0156',
            'entity_type': 'regular', 'supplier_id': 4001, 'currency': 'USD', 'status':
            'NOT_RECEIVED', 'order_created_date': '2024-01-15T09:30:00Z', 'location_id': 1,
            'additional_info': "Rush order - needed for Valentine's Day production run",
            'purchase_order_rows': [{'quantity': 250, 'price_per_unit': 2.85, 'variant_id': 501,
            'tax_rate_id': 1, 'purchase_uom': 'kg', 'purchase_uom_conversion_rate': 1.0,
            'arrival_date': '2024-08-20T14:45:00Z'}, {'quantity': 100, 'price_per_unit': 12.5,
            'variant_id': 502, 'tax_rate_id': 1, 'purchase_uom': 'pieces',
            'purchase_uom_conversion_rate': 1.0, 'arrival_date': '2024-08-20T14:45:00Z'}]}.

    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[DetailedErrorResponse, ErrorResponse, Union['OutsourcedPurchaseOrder', 'RegularPurchaseOrder']]]
    """

    kwargs = _get_kwargs(
        body=body,
    )

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

    return _build_response(client=client, response=response)