Create Order
In this article
Overview
You can use this Snap to create an order (created by customer) or a draft order (created by merchant on behalf of the customer).
Prerequisites
None.
Support for Ultra Pipelines
Works in Ultra Pipelines.
Limitations
Shopify Behavior
When you create an order for a product, you cannot apply discount on a line item. If the associated discount application is of type code, the Snap returns the discount code that was entered at checkout. Else, the Snap returns the title of the discount that was applied. See Discount APIs for more information.
This Snap ignores invalid values, such as shipping and billing phone number and does not validate correctly.
Taxes are applied on line items and on orders, but Shopify documentation mentions it should be applied for either of the one.
Known Issues
None.
Snap Input and Output
Input/Output | Type of View | Number of Views | Examples of Upstream and Downstream Snaps | Description |
|---|---|---|---|---|
Input | Document
|
|
| Attributes of the order, such as first name, last name, billing address, product, variant, and discount (if any) on the product. |
Output | Document
|
|
| The created order that meet the specified criteria. |
Snap Settings
Field Name | Field Dependency | Description |
|---|---|---|
Label* | N/A | Specify the name for the Snap. You can modify the default name to be specific and meaningful, especially if you have more than one of the same Snap in your Pipeline. Default Value: Create Order |
Version* | N/A | |
Draft Orders | N/A | Specify a draft order ID to create a draft order. Default Value: N/A (Expression enabled by default) |
Number Of Retries | N/A | Specify an integer value to set the maximum number of reconnection attempts that the Snap must perform, in case of connection failure or timeout. Default Value: 1 |
Retry Interval (Seconds) | N/A | Specify the duration in seconds for which the Snap must wait between two reconnection attempts, until the number of retries is reached. Default Value: 1 |
Snap Execution | N/A | Select one of the three modes in which the Snap executes. Available options are:
|
Troubleshooting
Error | Reason | Resolution |
|---|---|---|
"402 Payment Required" | The requested shop is currently frozen. | You need to log in as admin user and pay the outstanding balance to unfreeze the shop. |
| The requested resource is not found. | The resource could be available again in the future. |
| The requested resource is only capable of generating content, but not acceptable according to the Accept headers sent in the request. | N/A |
| This is an intermittent error that you can encounter when there is a conflict in your orders, products, or customer data. For example, when you use unsupported characters. | Check for the conflicts in your metadata and rerun the Pipeline. |
| The request body was well-formed but contains semantic errors. You can encounter a
| The response body provides details in the errors or error parameters. Fix the error parameters as given in the error description. |
| You might be sending null or empty or unsupported data. | Check the data and fix the null or empty data. |
| The requested shop is currently locked. Shops are locked if they repeatedly exceed their API request limit, or if there is an issue with the account, such as a detected compromise or fraud risk. | Wait for Shopify to unlock your account after the specified amount of time, after which you should be able to continue working on your Pipeline, or contact support if your shop is locked. |
| Shopify APIs use different API rate-limiting methods. If the APIs exceeds the rate limit, the Snap fails. | See the API Call Limit documentation for a breakdown of Shopify's rate-limiting mechanism. |
| An internal error in Shopify application causes this error. | Post the error details to the API and Technology forum so that Shopify staff can investigate the issue. |
| The requested endpoint is not available on that particular shop, for example, requesting access to a Plus-specific API on a non-Plus shop. This response may also indicate that this endpoint is reserved for future use. | N/A |
| The request could not complete in time. Shopify waits up to 10 seconds for a response. | Break down the request in multiple smaller requests. |
Example
Creating An Order
This example Pipeline demonstrates how to create an order in the store using the Create Order Snap.
Initially, we configure the JSON Generator Snap to pass order details. Upon validation we see the following order details in the output preview of the Snap.
Order Details | Order Details Output |
|---|---|