Overview
RecordOrder API Endpoint allow you to place order in Infigo from a third party system.
Please ensure you have read through our setting up our API articles.
URL : /services/api/order/RecordOrder
Method : POST
Auth required: YES
Sample: https://www.yourdomain.com/services/api/order/RecordOrder
Request data:
{ "ExternalOrderId": "1", "CatfishCustomerId": "1", "CatfishDeliveryMethod": "First Class", "IsPaymentPaid": "true", "PurchaseOrderNumber": "123456", "CallbackUrl": "www.test.r?asd=a&asd2=b", "DeliveryAddress": { "FirstName": "FirstName", "LastName": "LastName", "AddressLine1": "AddressLine1", "AddressLine2": "AddressLine2", "Town": "Town", "ZipPostalCode": "ZipPostalCode", "Country": "United Kingdom", "Email": "email@test.com", "StateProvince": "London" }, "BillingAddress": { "FirstName": "FirstName", "LastName": "LastName", "AddressLine1": "AddressLine1", "AddressLine2": "AddressLine2", "Town": "Town", "ZipPostalCode": "ZipPostalCode", "Country": "United Kingdom", "Email": "email@test.com", "StateProvince": "Devon" }, "CheckoutAttributes": [ { "Key": "OrderAttribute", "Value": "Test Checkout Attribute FROM API" } ], "OrderLineItems": [ { "NopProductId": "1", "PdfExternalUrl": "http://www.pdf995.com/samples/pdf.pdf", "PdfHash": "8BD6509ABA6EAFE623392995B08C7047", "Quantity": "500",
"DeliveryType": [], "ProductVariantAttributes": [] }, { "NopProductId": "2", "Quantity": "500", "ProductVariantAttributes": [ { "Key": "First Attribute", "Value": "Black" } ] } ], "ExtraData": { "extraDataName": "extraDataValue" } }
Request data
| Property Name | Data type | Description |
| ExternalOrderId | string | External Order Id from a third party system (need to be unique per order) |
| CatfishCustomerId | string | Customer Guid or CustomerId or CustomerEmail |
| CatfishDeliveryMethod | string | Infigo Delivery Method |
| IsPaymentPaid | bool | Mark order as paid |
| PurchaseOrderNumber | string | Purchase Order Number |
| CallbackUrl | string | Callback Url |
| DeliveryAddress | Address | Delivery address |
| BillingAddress | Address | Billing address |
| CheckoutAttributes | Attribute[] | Checkout attributes |
| OrderLineItems | OrderlineItem[] | Order line Item |
| ExtraData | object | PropertyName = ExtraDataName PropertyValue = ExtraDataValue |
| CustomTags | CustomTags | Order Custom tags |
Custom tags
| Property Name | Data Type | Description |
| CustomTag1 | string | Custom Tag 1 |
| CustomTag2 | string | Custom Tag 2 |
| CustomTag3 | string | Custom Tag 3 |
| CustomTag4 | string | Custom Tag 4 |
Address
| Property Name | Data Type | Description |
| FirstName | string | First name |
| LastName | string | Last name |
| CompanyName | string | Company Name |
| AddressLine1 | string | Address Line 1 |
| AddressLine2 | string | Address Line 2 |
| Town | string | Town |
| ZipPostalCode | string | Zip Postal Code |
| StateProvince | string | State Province |
| Country | string | Country |
| Telephone | string | Telephone |
| FaxNumber | string | Fax Number |
| Email | string | Address Email |
OrderlineItem
| Property Name | Data Type | Description |
| NopProductId | int | Nop Product Id |
| Quantity | int | Orderline quantity |
| ProductVariantAttributes | Attribute[] | Product Attributes Product group attributes if product is a part of a group. Or Product Variant Attributes |
| PdfExternalUrl | string | Pdf external URL (Only for Multipart Products) |
| PdfHash | string | Pdf file hash (MD5) (Only for Multipart Products) |
| CustomTags | CustomTags | Orderline custom tags |
| CustomData1 | string | Order Custom Data 1 |
| DeliveryType | DeliveryType[] | Delivery types (optional) |
Attribute
| Property Name | Data Type | Description |
| Key | string | Attribute Name |
| Value | string | Attribute Value |
DeliveryType
| Value | Data Type | Description |
| "Print" | string | Print delivery type |
| "Digital" | string | Digital delivery type |
Success Response
Code : 200 OK
{| Property Name | Data type | Description |
| Success | bool | Success Flag |
| Code | string | Place Order status |
| CatfishOrderId | string | Infigo order id for the new created order |
| HelpUrl | string | API Documentation link |
| Message | string | User friendly message |
Error Response
Code : 400 Bad Request
Condition: If record order payload is not validated
Content:
{ "Success": false, "Code": "bad_request", "ContextInfo": { "ErrorList": [ { "ErrorMessage": "The provided customer id is not valid", "Location": "noMatch_catfishCustomerId", "Name": "CatfishCustomerId", "IsBadRequest": true } ] }, "HelpUrl": "http://api.islcatfish.com/Docs", "Message": "BAD_REQUEST" }
Response data
| Property Name | Data type | Description |
| Success | bool | Success Flag |
| Code | string | Place Order status |
| ContextInfo | ContextInfo | Details about errors |
| HelpUrl | string | API Documentation link |
| Message | string | Http Status Code User Friendly |
Context Info
| Property Name | Data type | Description |
| ErrorList | Error | Contains all errors that block order to be created |
Error
| Property Name | Data type | Description |
| ErrorMessage | string | User friendly error message |
| Location | string | System error message code |
| Name | string | Property name |
| IsBadRequest | bool | Flag that indicated if this cause a bad request |
DevOps -