Http API: PlaceOrder, ValidateOrder, GetOrderTypes and GetDeliveryOptions
This article describes the PlaceOrder and ValidateOrder API calls.
The StatusCoode value is one of: Ok, Error , Warning , Information , Progress , Unauthenticated. An empty string is considered to be an Ok status.
Returned data format is “application/json”.
PlaceOrder
URI | /PlaceOrder |
URL Structure | https://host/api/Order/PlaceOrder |
HTTP Method | POST/PlaceOrder |
Default format | JSON |
Description | Signifikant will call the PlaceOrder function once user presses place order. Call will contain order and order line information. |
JSON structure sample
RequestUri
https://host/API/Order/PlaceOrder?priceDisplayMode=GROSS&cultureCode=en-GB&UserName=xyx&UserId=xyz
Request
{
"Id": "0",
"UserId": "2",
"SalesOrigin": null,
"Number": null,
"CompanyInternalOrderNumber": null,
"Title": "",
"Description": null,
"OrderLines": [
{
"LineId": "9179f1e9-1c49-4929-b8eb-30bc4cd64374",
"Part": {
"Identifier": false,
"Id": null,
"PartNumber": "1234567891",
"PersistentIdentity": null,
"Name": {
"ResolveMode": 1,
"Value": "BACK PLATE",
"Key": null,
"Id": null,
"PersistentIdentity": null,
"Translations": null,
"HtmlEncode": false
},
"Description": null,
"SupplierPartNumber": "",
"Brand": null,
"IsKit": false,
"QuantityUnit": null,
"Properties": []
},
"Replacement": null,
"ReplacedPart": null,
"Quantity": 1.0,
"QuantityDelivered": null,
"QuantityUnit": {
"ResolveMode": 1,
"Value": null,
"Key": null,
"Id": null,
"PersistentIdentity": null,
"Translations": null,
"HtmlEncode": false
},
"Note": null,
"UnitPrice": 1853.4846,
"TotalPrice": 1853.4846,
"PriceInformations": [
{
"Hidden": false,
"Code": "BRUTTOPRICE",
"Description": null,
"ValueFormat": null,
"Value": 2539.02,
"StatusCode": "",
"Message": null,
"HtmlMessage": null,
"Properties": []
},
{
"Hidden": false,
"Code": "ABSOLUTEDISCOUNT",
"Description": null,
"ValueFormat": "Discount {0:C}",
"Value": 685.5354,
"StatusCode": "",
"Message": null,
"HtmlMessage": null,
"Properties": []
},
{
"Hidden": false,
"Code": "DISCOUNT",
"Description": {
"ResolveMode": 1,
"Value": null,
"Key": "Discount",
"Id": null,
"PersistentIdentity": null,
"Translations": null,
"HtmlEncode": false
},
"ValueFormat": "{0:0.##}%",
"Value": 27.0,
"StatusCode": "",
"Message": null,
"HtmlMessage": null,
"Properties": []
}
],
"TotalPriceInformations": [
{
"Hidden": false,
"Code": "SECIAL",
"Description": {
"ResolveMode": 1,
"Value": "Special price",
"Key": null,
"Id": null,
"PersistentIdentity": null,
"Translations": null,
"HtmlEncode": false
},
"ValueFormat": null,
"Value": null,
"StatusCode": "",
"Message": null,
"HtmlMessage": null,
"Properties": []
}
],
"Reference": null,
"Context": {
"Catalogue": "start",
"PartModule": null,
"CatalogueName": null,
"PartModuleName": null
},
"Availabiliy": {
"PartNumber": "1234567891",
"Code": "Available",
"ReplacementCode": "ReplaceOutOfStock",
"ValidationRules": null,
"WarehouseStocks": [
{
"Available": null,
"Code": null,
"Name": null,
"Stock": 507.0,
"StockDescription": null,
"StockLevel": 0,
"NextAvailabilityDate": null,
"Default": false,
"StatusCode": "",
"Message": null,
"HtmlMessage": null,
"Properties": []
}
],
"StatusCode": "",
"Message": null,
"HtmlMessage": null,
"Properties": []
},
"StatusCode": "",
"Message": null,
"HtmlMessage": {
"ResolveMode": 1,
"Value": null,
"Key": null,
"Id": null,
"PersistentIdentity": null,
"Translations": null,
"HtmlEncode": false
},
"Properties": []
}
],
"OrderShipmentDetail": [],
"CreatedOn": "2020-03-20T17:08:23.787",
"PlacedDate": null,
"OrderStatus": "AutoSaved",
"OrderType": null,
"SubTotalPrice": 1853.4846,
"TotalPrice": 1903.4846,
"TotalQuantity": 1.0,
"Currency": null,
"ShippingAddress": {
"Id": "0",
"Name": null,
"IsTemporary": false,
"Addressee": null,
"IsDefault": false,
"StreetAddress1": "MAKÖRGATAN 3",
"StreetAddress2": null,
"StreetAddress3": null,
"State": null,
"ZipCode": "136 44",
"City": "HANDEN",
"Country": "SE",
"AddressType": null,
"ReferenceId": "30093975",
"RefernceType": null,
"ReferencePersistentIdentity": "5637158926",
"Properties": []
},
"BillingAddress": {
"Id": "0",
"Name": null,
"IsTemporary": false,
"Addressee": null,
"IsDefault": false,
"StreetAddress1": "MAKÖRGATAN 3",
"StreetAddress2": null,
"StreetAddress3": null,
"State": null,
"ZipCode": "136 44",
"City": "HANDEN",
"Country": "SE",
"AddressType": null,
"ReferenceId": "30093975",
"RefernceType": null,
"ReferencePersistentIdentity": "5637158926",
"Properties": []
},
"DeliveryOption": "STD",
"ReferencePerson": "Demo Demo",
"ReferencePhoneNumber": null,
"ConfirmationEmail": "info@signifikant.se",
"Note": null,
"PriceInformations": [
{
"Hidden": false,
"Code": "SHIP",
"Description": {
"ResolveMode": 1,
"Value": "Shippment",
"Key": null,
"Id": null,
"PersistentIdentity": null,
"Translations": null,
"HtmlEncode": false
},
"ValueFormat": null,
"Value": 50.0,
"StatusCode": "",
"Message": null,
"HtmlMessage": null,
"Properties": []
}
],
"CustomerNumber": "SE41-1033",
"BillingAddressModifiedByCurrentUser": false,
"ShippingAddressModifiedByCurrentUser": false,
"StatusCode": "Ok",
"Message": null,
"HtmlMessage": {
"ResolveMode": 1,
"Value": null,
"Key": null,
"Id": null,
"PersistentIdentity": null,
"Translations": null,
"HtmlEncode": false
},
"Properties": [
{
"Key": "orderLineReference",
"Value": "",
"Type": null
},
{
"Key": "selectedShippingDate",
"Value": "",
"Type": null
}
]
}
Response
Response object contains a redirect URL and some additional information.
{
"RedirectUrl": "http://www.domain.com",
"NotificationType": 0,
"Order": {
"Id": "0",
"UserId": "2",
"SalesOrigin": null,
"Number": null,
"CompanyInternalOrderNumber": null,
"Title": "",
"Description": null,
"OrderLines": [
{
"LineId": "9179f1e9-1c49-4929-b8eb-30bc4cd64374",
"Part": {
"Identifier": false,
"Id": null,
"PartNumber": "1234567891",
"PersistentIdentity": null,
"Name": {
"ResolveMode": 1,
"Value": "BACK PLATE",
"Key": null,
"Id": null,
"PersistentIdentity": null,
"Translations": null,
"HtmlEncode": false
},
"Description": null,
"SupplierPartNumber": "",
"Brand": null,
"IsKit": false,
"QuantityUnit": null,
"Properties": []
},
"Replacement": null,
"ReplacedPart": null,
"Quantity": 1.0,
"QuantityDelivered": null,
"QuantityUnit": null,
"Note": null,
"UnitPrice": 1853.4846,
"TotalPrice": 1853.4846,
"PriceInformations": [
{
"Hidden": false,
"Code": "BRUTTOPRICE",
"Description": null,
"ValueFormat": null,
"Value": 2539.02,
"StatusCode": "",
"Message": null,
"HtmlMessage": null,
"Properties": []
},
{
"Hidden": false,
"Code": "ABSOLUTEDISCOUNT",
"Description": null,
"ValueFormat": "Discount {0:C}",
"Value": 685.5354,
"StatusCode": "",
"Message": null,
"HtmlMessage": null,
"Properties": []
},
{
"Hidden": false,
"Code": "DISCOUNT",
"Description": {
"ResolveMode": 1,
"Value": null,
"Key": "Discount",
"Id": null,
"PersistentIdentity": null,
"Translations": null,
"HtmlEncode": false
},
"ValueFormat": "{0:0.##}%",
"Value": 27.0,
"StatusCode": "",
"Message": null,
"HtmlMessage": null,
"Properties": []
}
],
"TotalPriceInformations": [
{
"Hidden": false,
"Code": "SECIAL",
"Description": {
"ResolveMode": 1,
"Value": "Special price",
"Key": null,
"Id": null,
"PersistentIdentity": null,
"Translations": null,
"HtmlEncode": false
},
"ValueFormat": null,
"Value": null,
"StatusCode": "",
"Message": null,
"HtmlMessage": null,
"Properties": []
}
],
"Reference": null,
"Context": {
"Catalogue": "start",
"PartModule": null,
"CatalogueName": null,
"PartModuleName": null
},
"Availabiliy": {
"PartNumber": "1234567891",
"Code": "Available",
"ReplacementCode": "ReplaceOutOfStock",
"ValidationRules": null,
"WarehouseStocks": [
{
"Available": null,
"Code": "",
"Name": null,
"Stock": 507.0,
"StockDescription": null,
"StockLevel": 0,
"NextAvailabilityDate": null,
"Default": false,
"StatusCode": "",
"Message": null,
"HtmlMessage": null,
"Properties": []
}
],
"StatusCode": "",
"Message": null,
"HtmlMessage": null,
"Properties": []
},
"StatusCode": "",
"Message": null,
"HtmlMessage": {
"ResolveMode": 1,
"Value": null,
"Key": null,
"Id": null,
"PersistentIdentity": null,
"Translations": null,
"HtmlEncode": false
},
"Properties": []
}
],
"OrderShipmentDetail": [],
"CreatedOn": "2020-03-20T17:08:23.787",
"PlacedDate": null,
"OrderStatus": "AutoSaved",
"OrderType": null,
"SubTotalPrice": 1853.4846,
"TotalPrice": 1903.4846,
"TotalQuantity": 1.0,
"Currency": null,
"ShippingAddress": {
"Id": "0",
"Name": null,
"IsTemporary": false,
"Addressee": null,
"IsDefault": false,
"StreetAddress1": "MAKÖRGATAN 3",
"StreetAddress2": null,
"StreetAddress3": null,
"State": null,
"ZipCode": "136 44",
"City": "HANDEN",
"Country": "SE",
"AddressType": null,
"ReferenceId": "30093975",
"RefernceType": null,
"ReferencePersistentIdentity": "5637158926",
"Properties": []
},
"BillingAddress": {
"Id": "0",
"Name": null,
"IsTemporary": false,
"Addressee": null,
"IsDefault": false,
"StreetAddress1": "MAKÖRGATAN 3",
"StreetAddress2": null,
"StreetAddress3": null,
"State": null,
"ZipCode": "136 44",
"City": "HANDEN",
"Country": "SE",
"AddressType": null,
"ReferenceId": "30093975",
"RefernceType": null,
"ReferencePersistentIdentity": "5637158926",
"Properties": []
},
"DeliveryOption": "STD",
"ReferencePerson": "Demo Demo",
"ReferencePhoneNumber": null,
"ConfirmationEmail": "info@signifikant.se",
"Note": null,
"PriceInformations": [
{
"Hidden": false,
"Code": "SHIP",
"Description": {
"ResolveMode": 1,
"Value": null,
"Key": "Shippment",
"Id": null,
"PersistentIdentity": null,
"Translations": null,
"HtmlEncode": false
},
"ValueFormat": null,
"Value": 50.0,
"StatusCode": "",
"Message": null,
"HtmlMessage": null,
"Properties": []
}
],
"CustomerNumber": "SE41-1033",
"BillingAddressModifiedByCurrentUser": false,
"ShippingAddressModifiedByCurrentUser": false,
"StatusCode": "Ok",
"Message": null,
"HtmlMessage": null,
"Properties": [
{
"Key": "orderLineReference",
"Value": "",
"Type": null
},
{
"Key": "selectedShippingDate",
"Value": "",
"Type": null
}
]
},
"StatusCode": "",
"Message": null,
"HtmlMessage": null,
"Properties": []
}
ValidateOrder
URI | /ValidateOrder |
URL Structure | https://host/api/Order/ValidateOrder |
HTTP Method | POST/ValidateOrder |
Default format | JSON |
Description | Signifikant will call the ValidateOrder function when user arrives in order page or changes content of order page. Depending on configuration ValidateOrder may be called when parts are added or removed from order cart and when user signs in. Call will contain order and order line information. |
JSON structure sample
RequestUri
Request/Response
Identical to PlaceOrder.
GetOrderTypes
URI | /GetOrderTypes |
URL Structure | https://host/api/Order/GetOrderTypes |
HTTP Method | GET/GetOrderTypes |
Default format | JSON |
Description | Signifikant will call the GetOrderTypes function when user signs in. |
JSON structure sample
RequestUri
Response
GetDeliveryOptions
URI | /GetDeliveryOptions |
URL Structure | https://host/api/Order/GetDeliveryOptions |
HTTP Method | POST/GetDeliveryOptions |
Default format | JSON |
Description | Signifikant will call the GetDeliveryOptions function at the same time as validating the order. |
JSON structure sample
RequestUri
Request
Response
Configuration
Configuration is done in profile.config.
Note that sales statistics will need orders to be saved in server database. This is configured by using save-external-order-to-server-database="true"
.