Order
Query orders (paged)
The default page size is 1000. Paging is optimized for performance but may exhibit non-deterministic behavior—items can be duplicated or skipped across pages if the underlying data changes between requests.
When fetching page 2 or higher, a BatchId must be included in the query object. This BatchId is provided in the response from page 1. Once a BatchId is supplied, the original order query filters are automatically reused, so it is not necessary to include them again.
POST/API/Order/Query/{page}
Request Example
curl -X POST 'https://mgmtapi.geins.io/API/Order/Query/{page}' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic [USER-CREDENTIALS-BASE64-ENCODED]' \
-H 'X-ApiKey: {MGMT_API_KEY}'\
-d '{
"Updated": "string",
"UpdatedAfter": "string",
"UpdatedBefore": "string",
"CreatedBefore": "string",
"CreatedAfter": "string",
"CompletedBefore": "string",
"CompletedAfter": "string",
"StatusList": "string",
"MarketId": 0,
"PaymentName": "string",
"ParcelGroupId": 0,
"CustomerId": 0,
"CustomerGroupId": 0,
"Email": "string",
"ExternalId": "string",
"Include": "string",
"ExternalOrderStatus": 0,
"CombineProductContainerRows": true,
"PackingLocationId": 0,
"GroupOrderRows": true,
"IncludeRowIds": true,
"BatchId": "00000000-0000-0000-0000-000000000000"
}'
import axios from 'axios';
const config = {
method: 'POST',
url: 'https://mgmtapi.geins.io/API/Order/Query/{page}',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Basic [USER-CREDENTIALS-BASE64-ENCODED]',
'X-ApiKey': '{MGMT_API_KEY}'
},
data: {
"Updated": "string",
"UpdatedAfter": "string",
"UpdatedBefore": "string",
"CreatedBefore": "string",
"CreatedAfter": "string",
"CompletedBefore": "string",
"CompletedAfter": "string",
"StatusList": "string",
"MarketId": 0,
"PaymentName": "string",
"ParcelGroupId": 0,
"CustomerId": 0,
"CustomerGroupId": 0,
"Email": "string",
"ExternalId": "string",
"Include": "string",
"ExternalOrderStatus": 0,
"CombineProductContainerRows": true,
"PackingLocationId": 0,
"GroupOrderRows": true,
"IncludeRowIds": true,
"BatchId": "00000000-0000-0000-0000-000000000000"
}
};
axios.request(config)
.then(response => response.data)
.catch(error => console.error(error));
fetch('https://mgmtapi.geins.io/API/Order/Query/{page}', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Basic [USER-CREDENTIALS-BASE64-ENCODED]',
'X-ApiKey': '{MGMT_API_KEY}'
},
body: JSON.stringify({
"Updated": "string",
"UpdatedAfter": "string",
"UpdatedBefore": "string",
"CreatedBefore": "string",
"CreatedAfter": "string",
"CompletedBefore": "string",
"CompletedAfter": "string",
"StatusList": "string",
"MarketId": 0,
"PaymentName": "string",
"ParcelGroupId": 0,
"CustomerId": 0,
"CustomerGroupId": 0,
"Email": "string",
"ExternalId": "string",
"Include": "string",
"ExternalOrderStatus": 0,
"CombineProductContainerRows": true,
"PackingLocationId": 0,
"GroupOrderRows": true,
"IncludeRowIds": true,
"BatchId": "00000000-0000-0000-0000-000000000000"
})
})
.then(res => res.json())
.then((response) => response)
.catch(console.error);
import requests
url = "https://mgmtapi.geins.io/API/Order/Query/{page}"
headers = {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Basic [USER-CREDENTIALS-BASE64-ENCODED]',
'X-ApiKey': '{MGMT_API_KEY}'
}
payload = {
"Updated": "string",
"UpdatedAfter": "string",
"UpdatedBefore": "string",
"CreatedBefore": "string",
"CreatedAfter": "string",
"CompletedBefore": "string",
"CompletedAfter": "string",
"StatusList": "string",
"MarketId": 0,
"PaymentName": "string",
"ParcelGroupId": 0,
"CustomerId": 0,
"CustomerGroupId": 0,
"Email": "string",
"ExternalId": "string",
"Include": "string",
"ExternalOrderStatus": 0,
"CombineProductContainerRows": true,
"PackingLocationId": 0,
"GroupOrderRows": true,
"IncludeRowIds": true,
"BatchId": "00000000-0000-0000-0000-000000000000"
}
response = requests.POST(url, json=payload, headers=headers)
print(response.json())
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
url := "https://mgmtapi.geins.io/API/Order/Query/{page}"
payload := []byte(`{
"Updated": "string",
"UpdatedAfter": "string",
"UpdatedBefore": "string",
"CreatedBefore": "string",
"CreatedAfter": "string",
"CompletedBefore": "string",
"CompletedAfter": "string",
"StatusList": "string",
"MarketId": 0,
"PaymentName": "string",
"ParcelGroupId": 0,
"CustomerId": 0,
"CustomerGroupId": 0,
"Email": "string",
"ExternalId": "string",
"Include": "string",
"ExternalOrderStatus": 0,
"CombineProductContainerRows": true,
"PackingLocationId": 0,
"GroupOrderRows": true,
"IncludeRowIds": true,
"BatchId": "00000000-0000-0000-0000-000000000000"
}`)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payload))
req.Header.Add("Accept", "application/json")
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Authorization", "Basic [USER-CREDENTIALS-BASE64-ENCODED]")
req.Header.Add("X-ApiKey", "{MGMT_API_KEY}")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
using System.Text;
using System.Text.Json;
using System.Net.Http;
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Basic [USER-CREDENTIALS-BASE64-ENCODED]");
client.DefaultRequestHeaders.Add("X-ApiKey", "{MGMT_API_KEY}");
var body = new
{
Updated = "string",
UpdatedAfter = "string",
UpdatedBefore = "string",
CreatedBefore = "string",
CreatedAfter = "string",
CompletedBefore = "string",
CompletedAfter = "string",
StatusList = "string",
MarketId = 0,
PaymentName = "string",
ParcelGroupId = 0,
CustomerId = 0,
CustomerGroupId = 0,
Email = "string",
ExternalId = "string",
Include = "string",
ExternalOrderStatus = 0,
CombineProductContainerRows = true,
PackingLocationId = 0,
GroupOrderRows = true,
IncludeRowIds = true,
BatchId = "00000000-0000-0000-0000-000000000000"
};
var jsonContent = JsonSerializer.Serialize(body);
var content = new StringContent(jsonContent, Encoding.UTF8, "application/json");
var response = await client.POSTAsync("https://mgmtapi.geins.io/API/Order/Query/{page}", content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
Response
{
"PageResult": {
"BatchId": "00000000-0000-0000-0000-000000000000",
"Page": 0,
"RowCount": 0,
"PageCount": 0,
"PageSize": 0,
"HasMoreRows": true
},
"Resource": [
{
"Id": 0,
"ChannelId": "string",
"ExternalId": "string",
"PersonalId": "string",
"CustomerId": 0,
"CustomerEmail": "string",
"CustomerTypeId": 0,
"CustomerGroupId": 0,
"CustomerGroupName": "string",
"CustomerLoggedIn": true,
"CreatedAt": "string",
"UpdatedAt": "string",
"CompletedAt": "string",
"Status": "string",
"Currency": "string",
"CurrencyRate": 0,
"MarketId": 0,
"MarketName": "string",
"Language": "string",
"OrderTotal": 0,
"ExpectedSum": 0,
"VATTotal": 0,
"OrderValueIncVat": 0,
"OrderValueExVat": 0,
"ItemValueIncVat": 0,
"ItemValueExVat": 0,
"Discount": 0,
"DiscountExVat": 0,
"FromBalance": 0,
"ShippingFee": 0,
"ShippingFeeExVat": 0,
"PaymentFee": 0,
"PaymentFeeExVat": 0,
"Message": "string",
"OrderMessages": [
"string"
],
"PaymentDetails": [
{
"Id": 0,
"PaymentId": 0,
"Name": "string",
"DisplayName": "string",
"TransactionId": "string",
"SecondaryTransactionId": "string",
"ReservationNumber": "string",
"ReservationDate": "string",
"PaymentDate": "string",
"Total": 0,
"Payed": true,
"PaymentFee": 0,
"ShippingFee": 0,
"PaymentOption": "string"
}
],
"ShippingDetails": [
{
"Id": 0,
"ShippingId": 0,
"Name": "string",
"ParcelNumber": "string",
"ShippingDate": "string",
"TrackingUrl": "string",
"ExternalDeliveryOptionId": "string",
"ExternalServiceId": "string",
"ExternalCarrierId": "string",
"ExternalDeliveryId": "string",
"PickupPoint": "string",
"ExternalDeliveryData": "string"
}
],
"ShippingAddress": {
"Company": "string",
"CareOf": "string",
"State": "string",
"Country": "string",
"FirstName": "string",
"LastName": "string",
"Email": "string",
"AddressLine1": "string",
"AddressLine2": "string",
"AddressLine3": "string",
"Zip": "string",
"City": "string",
"Phone": "string",
"Mobile": "string",
"EntryCode": "string"
},
"BillingAddress": {
"Company": "string",
"CareOf": "string",
"State": "string",
"Country": "string",
"FirstName": "string",
"LastName": "string",
"Email": "string",
"AddressLine1": "string",
"AddressLine2": "string",
"AddressLine3": "string",
"Zip": "string",
"City": "string",
"Phone": "string",
"Mobile": "string",
"EntryCode": "string"
},
"Rows": [
{
"Id": 0,
"IdList": "string",
"ProductId": 0,
"Name": "string",
"ProductName": "string",
"ItemId": 0,
"ItemName": "string",
"ArticleNumber": "string",
"Total": 0,
"ExpectedTotalPriceIncVat": 0,
"DiscountRate": 0,
"Discount": 0,
"ExpectedTotalDiscountIncVat": 0,
"VATTotal": 0,
"VATRate": 0,
"Quantity": 0,
"PurchasePrice": 0,
"PaymentDetailId": 0,
"ShippingDetailId": 0,
"Market": "string",
"UnitPrice": 0,
"ProductContainerBuildId": 0,
"Message": "string",
"CartRowId": 0,
"ExternalId": "string",
"ProductContainerSelectionId": 0,
"ProductContainerName": "string",
"ExternalProductId": "string",
"ExternalProductItemId": "string",
"ParcelGroupId": 0,
"BrandName": "string",
"Gtin": "string",
"Weight": 0,
"Length": 0,
"Width": 0,
"Height": 0,
"Color": "string",
"Variant": "string",
"CampaignIds": [
"string"
],
"CampaignGroupData": "string",
"CampaignGroupId": 0,
"CampaignNames": [
"string"
],
"CategoryId": 0,
"RelatedProductsBuildId": "string",
"PackingLocationId": 0,
"ProductPriceCampaignId": 0,
"ProductPriceListId": 0,
"ProductPackageId": 0,
"ProductPackageName": "string",
"ProductPackageGroupId": "00000000-0000-0000-0000-000000000000",
"Status": "string",
"ExternalPriceSource": "string",
"ConfigurationId": "string"
}
],
"Refunds": [
{
"Id": 0,
"OrderRowId": 0,
"PaymentDetailId": 0,
"ReturnId": 0,
"ArticleNumber": "string",
"CreatedAt": "string",
"Total": 0,
"ReasonCode": 0,
"Reason": "string",
"ToBalance": true,
"Vat": 0,
"ItemId": 0,
"RefundType": "string"
}
],
"Ip": "string",
"UserAgent": "string",
"ServiceLocation": "string",
"CampaignCode": "string",
"CampaignCodeId": 0,
"Percent": 0,
"DesiredDeliveryDate": "string",
"Gender": true,
"CartId": 0,
"SessionId": "string",
"ExternalOrderStatus": 0,
"CampaignIds": [
"string"
],
"CampaignNames": [
"string"
],
"MetaData": {},
"PublicId": "00000000-0000-0000-0000-000000000000",
"GoodsLabel": "string",
"CustomerOrderNumber": "string"
}
],
"Message": "string",
"Details": [
"string"
]
}
{
"Resource": {},
"Message": "string",
"Details": [
"string"
]
}
{
"Resource": {},
"Message": "string",
"Details": [
"string"
]
}
Query orders
Queries orders. Observe that this method is not paged and will only return maximum 10000 orders. For larger result sets, use the paged version of this method.
Partial update of order
Only the properties supplied are updated; omitted properties are left unchanged. An externalId may only be held by one order. Supplying one that is already set on a different order returns 409 Conflict and leaves the order untouched.