Verify Order¶
Verify an order before checkout.
Prerequisites¶
Credentials as described in Authentication
A customer tenant identifier
C#¶
To verify an order before Checkout Order, first instantiate PurchaseRequestOrder and set ResellerCustomerId to your tenant id and add other needed properties.
Request¶
Request Syntax:
Method |
Request URI |
Description |
---|---|---|
POST |
https://api.crayon.com/api/v1/purchaserequest/verify |
Primary (preferred url) |
POST |
https://api.crayon.com/api/v1/assets/verify |
Legacy (backward compatibility) |
Both addresses are valid.
Request Body:
Name |
Type |
Description |
---|---|---|
order |
The order to verify |
Request Headers:
The following HTTP request headers are supported
Header |
Type |
Description |
|
---|---|---|---|
Authorization |
string |
Required. The authorization token in the form Bearer <token>. |
|
Accept |
string |
Specifies the request and response type, “application/json”. |
|
Content-Type |
string |
Specifies the media type of the resource, “application/json”. |
Request Example:
POST $"https://api.crayon.com/api/v1/purchaserequest/verify/"
Accept: application/json
Content-Type: application/json
Authorization: Bearer < Token >
Request Body:
{
"resellerCustomerId": 123,
"orderLines": [
{
"billingCycle": 1,
"productId": "CFQ7TTC0LF8R",
"productVariantId": 2622144,
"quantity": 1,
"skuId": "0010",
"termDuration": "P1M",
"type": 3
}
]
}
Response¶
If successful, this method returns the order as an PurchaseRequestOrder resource in the response body.
Response Body:
{
"externalOrderId": "string",
"countryCode": "string",
"resellerCustomerId": 0,
"adminAccount": "string",
"notificationEmail": "string",
"invoiceProfileId": 0,
"errors": [
{
"orderGroupId": "string",
"code": 0,
"description": "string"
}
],
"orderLines": [
{
"productId": "string",
"subscriptionId": 0,
"armRegionName": "string",
"skuId": "string",
"productVariantId": 0,
"quantity": 0,
"billingCycle": 0,
"provisioningContext": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"type": 1,
"requiresInventoryCheck": true,
"catalogItemId": "string",
"termDuration": "string",
"scope": 1,
"resellerPriceType": 0,
"resellerPriceTypeValue": 0,
"isTrial": true,
"tags": {
"assetId": 0,
"costCenter": "string",
"department": "string",
"project": "string",
"custom": "string",
"owner": "string"
},
"customTermEndDate": "2022-08-27 23:59:59.000",
"errors": [
{
"reasonCode": "string",
"description": "string",
"properties": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
}
],
}
]
}
Response success and error codes:
Each response comes with an HTTP status code that indicates success or failure and additional debugging information. Use a network trace tool to read this code, error type, and additional parameters.
Error Codes |
Description |
---|---|
200 Ok |
The request has succeeded. |
400 Bad Request |
The request could not be understood by the server due to malformed syntax, missing required properties, properties that couldn’t be parsed according to their type (and length). It is a non-retryable error condition. The client should not repeat the request without modifications. |
401 Unauthorized |
The request requires user authentication. If the request already included Authorization credentials, then the 401 (Unauthorized) status code means that authorization has been refused for those credentials. It is a non-retryable error condition. |
404 Not Found |
The server has not found anything matching the request. |