Infigo Iframe Integration Documentation Help

Place Order in Infigo

To create an order in your eCommerce platform, you will have basket items, some of which may contain an Infigo Job. To process these orders, you must call the Record Order endpoint in Infigo, which will create the order within the Infigo system. For more details, refer to the Record Order API documentation.

You can find a practical implementation in the GitHub repository.

Order Placement Options

Depending on your integration with Infigo, you have several options for placing orders:

  • At the Placing Order Step

  • When the Order is Paid in Your System (Preferred approach)

    • This method provides better control over the order and the customer experience, allowing you to avoid triggering the order to production in Infigo immediately upon creation. Instead, you can finalize the order only when it is fully paid.

Important Constraints

Be aware of the following constraints when placing orders:

  • Product Matching: The product in your external system must correspond to the product in Infigo. If a required attribute in Infigo lacks preselected values, the order creation may fail, resulting in an error message.

  • Address Management: Ensure that shipping addresses are valid. Attempting to ship to a country or state that doesn't exist in Infigo will result in an error. You may need to update Infigo to support that specific country or state.

Example JSON Payload

Here is an example JSON payload for placing an order:

{ "CallbackUrl": "", "BillingAddress": { "AddressLine2": "", "AddressLine1": "Belgrave House", "Email": "api@infigosoftware.com", "Town": "Crawley", "ZipPostalCode": "RH10 1HU", "FirstName": "Test", "LastName": "API", "StateProvince": "West Sussex", "Country": "GB" }, "PurchaseOrderNumber": "", "OrderLineItems": [{ "NopProductId": "{{ProductId}}", "ExternalProductId": "12345", "Quantity": 1, "JobId": "{{JobId}}" }], "ExternalOrderId": "12345", "CatfishDeliveryMethod": "DEFAULT", "DeliveryAddress": { "AddressLine2": "", "AddressLine1": "Belgrave House", "Email": "api@infigosoftware.com", "Town": "Crawley", "ZipPostalCode": "RH10 1HU", "FirstName": "Test", "LastName": "API", "StateProvince": "West Sussex", "Country": "GB" }, "IsPaymentPaid": "TRUE", "CatfishCustomerId": "{{CustomerId}}" }

Once the order is placed in Infigo, the response will return the CatfishOrderId. We recommend storing this ID in your system to link these orders. Additionally, you can pass ExtraData to Infigo, which can be seen in our demo app. This feature allows you to include any information you want or need to store from your system into Infigo.

Last modified: 29 October 2024