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 |
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
{
"Success": true,
"Code": "success",
"HelpUrl": "http://api.islcatfish.com/Docs",
"Message": " successfully created. RecordOrder with Id {OrderId}. The order has been successfully placed.",
"CatfishOrderId": "76995"
}
Response data
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 |
0 Comments