Pircel public API
Pircel provides you with APIs that you can use for processes involving your store and your partner carriers. For a procedure such as "Create Voucher", we provide you with an API call for all delivery companies.
How to send a request?
const response = await fetch("https://test-api.pircel.com", {
method: "POST",
mode: "cors",
headers: new Headers({
"Content-Type": "application/json",
// replace '1234' with your API key
apikey: "1234"
}),
body: JSON.stringify({
query: `mutation createVoucher(: String, : String!, : Int!, : Date){
createVoucher(notes: , orderId: , packagesQuantity: , pickupDate: ){
voucherPrintDocuments
vouchers
}
}`,
variables: {
notes: "Fragile packages",
orderId: "14317",
packagesQuantity: 2,
pickupDate: "2023-10-03",
}
})
});
With JavaScript, it is possible to just use a template literal and simplify the API call body.
const response = await fetch('https://test-api.pircel.com', {
method: 'POST',
mode: 'cors',
headers: new Headers({
'Content-Type': 'application/json',
// replace '1234' with your API key
apikey: '1234',
}),
body: JSON.stringify({
query: `mutation {
createVoucher(
notes: "Fragile",
orderId: "A1",
packagesQuantity: 1,
pickupDate: "2023-03-06",
) {
vouchers
voucherPrintDocuments
}
}`
}),
});
You can find a working example on codesandbox.
We are using GraphQL API.
GraphQL is a query language and server-side runtime for application programming interfaces (APIs) that prioritizes giving clients exactly the data they request and no more. GraphQL is designed to make APIs fast, flexible, and developer-friendly.
API are separate in two categories query & mutation:
query: When we want to read an information that is already stored.
structure:
{
field(arg: "value") {
subField
}
}
mutation: When we want to change information (create, update, delete).
structure:
mutation {
field (arg: "value") {
subField
}
}
You can go to https://test-api.pircel.com and have access to try all the queries/mutations (API) we provide to you.
To try any of the API first you should add a shipment.
Follow the link and run the default mutation that we provide to you. 
The following error messages were suggested:
'addShipment.invalidPostcode' ⇒ Μη έγκυρος ταχυδρομικός κώδικας
'addShipment.orderIdAlreadyExists' ⇒ Η παραγγελία υπάρχει ήδη
'authenticate.invalidToken' ⇒ Μη έγκυρο authentication token, παρακαλώ συνδεθείτε ξανά
'cancelVoucher.eshopNotFound' ⇒ Δεν βρέθηκε ηλεκτρονικό κατάστημα
'cancelVoucher.orderNotFound' ⇒ Δεν βρέθηκε η παραγγελία
'createPickupList.invalidDeliveryCompany' ⇒ Μη έγκυρη μεταφορική εταιρεία
'createPickupList.noShipmentsForSelectedDeliveryCompanies' ⇒ Δεν βρέθηκαν οι αποστολές για τις επιλεγμένες μεταφορικές εταιρείες
'createPickupList.noShipmentsFound' ⇒ Δεν βρέθηκαν οι αποστολές
'createPickupList.unprintedVouchers' ⇒ Βρέθηκαν μη εκτυπωμένα παραστατικά
'createVoucher.invalidDeliveryCompany' ⇒ Μη έγκυρη μεταφορική εταιρεία
'createVoucher.invalidPickupDate' ⇒ Μη έγκυρη ημερομηνία παραλαβής
'createVoucher.newArgsCancelFirstExistingVouchers' ⇒ Αδυναμία δημιουργίας ή λήψης νέου παραστατικού. Το παραστατικό έχει ήδη δημιουργηθεί για αυτή την παραγγελία. Παρακαλούμε για να προβείτε σε νέα δημιουργία ακυρώστε πρώτα το προηγούμενο παραστατικό.
'createVoucher.orderNotFound' ⇒ Δεν βρέθηκε παραγγελία
'forbidden'⇒ Απαγορεύεται η πρόσβαση
'invalidpickuDateType', ⇒ Μη έγκυρη μορφή ημερομηνίας παραλαβής
'login.userNotFound' ⇒ Δεν βρέθηκε ο χρήστης
'pintVoucher.canceledVouchersFound' ⇒ Βρέθηκαν ακυρωμένα παραστατικά
'printVoucher.orderNotFound' ⇒ Δεν βρέθηκε η παραγγελία
'printVoucher.vouchersNotFound' ⇒ Δεν βρέθηκαν παραστατικά
'updateShipment.invalidPostcode' ⇒ Μη έγκυρος ταχυδρομικός κώδικας
'updateShipment.orderIdCannotChange' ⇒ Ο κωδικός της παραγγελίας δεν μπορεί να αλλάξει
'updateShipment.shipmentCannotChange' ⇒ Η παραγγελία δεν μπορεί να αλλάξει γιατι έχουν ήδη δημιουργηθεί παραστατικά
'speedex.apiInaccessible' ⇒ Το API της Speedex δεν είναι διαθέσιμο
'speedex.cannotCreateSession' ⇒ Το API της Speedex δεν είναι διαθέσιμο
'createVoucher.speedex.invalidPostcode' ⇒ Μη έγκυρος ταχυδρομικός κώδικας
'speedex.noResponse' ⇒ Το API της Speedex δεν είναι διαθέσιμο
'printPickupList.speedex.noPickupListNumber' ⇒ Δεν υπάρχει αριθμός λίστας παραλαβής
'printVoucher.speedex.noVoucher' ⇒ Δεν βρέθηκε παραστατικό
API Endpoints
# Test (Currently offline):
https://test-api.pircel.com
# Production:
https://api.pircel.com
Headers
# Your API token from the dashboard. Must be included in all API calls.
apikey: <YOUR_TOKEN_HERE>
Queries
deliveryCompanies
Description
Get delivery companies with optional filtering
Response
Returns [DeliveryCompany]
Arguments
| Name | Description |
|---|---|
companies - [DeliveryCompanyIDOrSlugInput]
|
Specific delivery companies to retrieve by ID or slug |
eshopId - String
|
Filter delivery companies by eshop ID |
forCheckout - Boolean
|
Only return companies visible at checkout |
tags - [String]
|
Filter by tags |
withApiIntegration - Boolean
|
Only return companies with API integration |
Example
Query
query DeliveryCompanies(
$companies: [DeliveryCompanyIDOrSlugInput],
$eshopId: String,
$forCheckout: Boolean,
$tags: [String],
$withApiIntegration: Boolean
) {
deliveryCompanies(
companies: $companies,
eshopId: $eshopId,
forCheckout: $forCheckout,
tags: $tags,
withApiIntegration: $withApiIntegration
) {
_id
acceptedPaymentMethods
capabilities {
cancellation {
...CancellationCapabilityFragment
}
multiPiece {
...MultiPieceCapabilityFragment
}
parcelIdentityMode
perPieceTracking
referenceScope
}
createdAt
credentialFields {
isRequired
isSecret
key
label
type
}
defaultConfig {
displayAtCheckout
minimumPrice
priceMultiplier
roundingIncrement
}
description
hasAction
hasApiIntegration
internalOnly
isEnabled
isVisibleAtCheckout
logo {
alt
path
}
minimumWeight
name
pickupTimeOptions {
closeOptions
fixedOptions
mode
readyOptions
}
services {
code
name
}
slug
supportedActions
tags
trackingUrlInformation {
baseUrl
exampleUrl
parameterName
supportsDeepLink
urlType
}
updatedAt
usesAccountShipperAddress
}
}
Variables
{
"companies": [DeliveryCompanyIDOrSlugInput],
"eshopId": "abc123",
"forCheckout": true,
"tags": ["xyz789"],
"withApiIntegration": false
}
Response
{
"data": {
"deliveryCompanies": [
{
"_id": 4,
"acceptedPaymentMethods": ["BANK_DEPOSIT"],
"capabilities": DeliveryCompanyCapabilities,
"createdAt": "2007-12-03T10:15:30Z",
"credentialFields": [CredentialField],
"defaultConfig": DeliveryCompanyDefaultConfig,
"description": "abc123",
"hasAction": true,
"hasApiIntegration": true,
"internalOnly": false,
"isEnabled": true,
"isVisibleAtCheckout": true,
"logo": Logo,
"minimumWeight": 987.65,
"name": "abc123",
"pickupTimeOptions": PickupTimeOptions,
"services": [DeliveryCompanyService],
"slug": "abc123",
"supportedActions": ["CANCEL_VOUCHER"],
"tags": ["xyz789"],
"trackingUrlInformation": TrackingUrlInformation,
"updatedAt": "2007-12-03T10:15:30Z",
"usesAccountShipperAddress": true
}
]
}
}
eshop
Description
Get eshop details
Example
Query
query Eshop($_id: ObjectID) {
eshop(_id: $_id) {
_id
address
addressBook {
_id
address {
...AddressFragment
}
contact {
...ContactFragment
}
isDefault
name
}
apikey
brandAssets {
logos {
...BrandLogosFragment
}
}
city
deliveryCompanies {
config {
...EshopDeliveryCompanyConfigFragment
}
deliveryCompany {
...DeliveryCompanyFragment
}
isEnabled
}
freeShipping {
checkoutDisplay
isEnabled
restOfWorld {
...FreeShippingRestOfWorldFragment
}
rules {
...FreeShippingRuleFragment
}
}
name
packageInsurance
pageCustomization {
colorScheme {
...ColorSchemeFragment
}
}
phone
postcode
securityValue
slug
storeConnections {
_id
consecutiveFailures
expiresAt
externalId
lastFailedAt
lastSyncedAt
platform
pluginVersion
scopes
status
storeDomain
}
}
}
Variables
{"_id": "5e5677d71bdc2ae76344968c"}
Response
{
"data": {
"eshop": {
"_id": "5e5677d71bdc2ae76344968c",
"address": "xyz789",
"addressBook": [AddressBookEntryType],
"apikey": "abc123",
"brandAssets": BrandAssets,
"city": "xyz789",
"deliveryCompanies": [EshopDeliveryCompany],
"freeShipping": FreeShippingConfig,
"name": "xyz789",
"packageInsurance": 987.65,
"pageCustomization": PageCustomization,
"phone": "abc123",
"postcode": "xyz789",
"securityValue": 123.45,
"slug": "abc123",
"storeConnections": [StoreConnection]
}
}
}
eshopBranding
Description
Get public branding information for an eshop, can be used for branded pages (tracking, returns portal, etc.).
Response
Returns an EshopBranding
Arguments
| Name | Description |
|---|---|
eshopId - ObjectID!
|
Eshop identifier |
Example
Query
query EshopBranding($eshopId: ObjectID!) {
eshopBranding(eshopId: $eshopId) {
_id
colorScheme {
accent
background
primary
secondary
}
customization {
_placeholder
}
logos {
horizontal {
...LogoFragment
}
icon {
...LogoFragment
}
primary {
...LogoFragment
}
}
name
}
}
Variables
{"eshopId": "5e5677d71bdc2ae76344968c"}
Response
{
"data": {
"eshopBranding": {
"_id": "5e5677d71bdc2ae76344968c",
"colorScheme": BrandColorScheme,
"customization": CustomizationExtensions,
"logos": BrandLogos,
"name": "abc123"
}
}
}
trackShipment
Description
Track an order based on eshop ID and shipment ID
Response
Returns a TrackingResult
Example
Query
query TrackShipment(
$eshopId: ObjectID!,
$shipmentId: ObjectID!
) {
trackShipment(
eshopId: $eshopId,
shipmentId: $shipmentId
) {
parcels {
_id
billableWeight
contents {
...ParcelContentsFragment
}
dimensions {
...ParcelDimensionsFragment
}
returnVoucher {
...ParcelVoucherFragment
}
volumetricWeight
voucher {
...ParcelVoucherFragment
}
weight
}
products {
_id
category
countryOfOrigin
description
dimensions {
...ProductDimensionsFragment
}
externalId
extraAttributes
harmonizedSystemCode
image
metadata
price
quantity
size
sku
title
weight
}
recipient {
address {
...AddressFragment
}
contact {
...ContactFragment
}
}
trackingDetails {
carrierTrackingUrl
deliveredAt
deliveryCompany {
...DeliveryCompanyFragment
}
eshopTrackingUrl
estimatedDelivery
events {
...TrackingEventFragment
}
isActive
lastStatus
lastSyncedAt
lastUpdated
nextPollAt
returnToSender
slaTier
voucherCode
}
}
}
Variables
{
"eshopId": "5e5677d71bdc2ae76344968c",
"shipmentId": "5e5677d71bdc2ae76344968c"
}
Response
{
"data": {
"trackShipment": {
"parcels": [Parcel],
"products": [Product],
"recipient": Recipient,
"trackingDetails": TrackingDetails
}
}
}
trackVoucher
Response
Returns [VoucherTracking]
Arguments
| Name | Description |
|---|---|
code - String
|
Voucher code |
Example
Query
query TrackVoucher($code: String) {
trackVoucher(code: $code) {
checkpointAction
checkpointDateTime
checkpointLocation
checkpointNotes
code
shipmentId
}
}
Variables
{"code": "abc123"}
Response
{
"data": {
"trackVoucher": [
{
"checkpointAction": "xyz789",
"checkpointDateTime": "2007-12-03T10:15:30Z",
"checkpointLocation": "abc123",
"checkpointNotes": "abc123",
"code": "xyz789",
"shipmentId": "5e5677d71bdc2ae76344968c"
}
]
}
}
validateTrackingRequest
Description
Validate a tracking request for a shipment
Response
Returns a ValidateTrackingResult
Example
Query
query ValidateTrackingRequest(
$email: String!,
$eshopId: ObjectID!,
$orderId: String!
) {
validateTrackingRequest(
email: $email,
eshopId: $eshopId,
orderId: $orderId
) {
isValid
shipmentId
}
}
Variables
{
"email": "xyz789",
"eshopId": "5e5677d71bdc2ae76344968c",
"orderId": "abc123"
}
Response
{
"data": {
"validateTrackingRequest": {
"isValid": false,
"shipmentId": "5e5677d71bdc2ae76344968c"
}
}
}
Mutations
addShipment
Description
Add a shipment.
Response
Returns a Shipment
Arguments
| Name | Description |
|---|---|
buyerNotes - String
|
Customer's notes. |
eshopId - ObjectID
|
Required if the user belongs to or owns multiple eshops. Admins must specify an eshop. Not required for eshop integrations. |
geniki - GenikiInput
|
Geniki delivery company specific fields |
includeVat - Boolean
|
Whether to include VAT in the calculated shipping prices. Defaults to true if not specified. |
isB2BInvoice - Boolean
|
Indicates if the shipment is for a B2B invoice (true) or B2C invoice (false). False by default. |
orderId - String
|
Order's id. Must be provided for the prod-test environment |
parcels - [ParcelInput!]!
|
List of parcels in this shipment (minimum 1 required). Each parcel includes dimensions, weight, and optional product distribution. |
paymentMethod - ShipmentPaymentMethodEnum
|
Customer's payment method. |
products - [ProductInput]!
|
List of products. |
productsQuantity - Int!
|
Products quantity. |
recipient - RecipientCreateInput!
|
Recipient details including address and contact information. |
recipientLogistics - RecipientLogisticsInput
|
Customer-provided logistics company details when using recipient-logistics. |
selectedRate - SelectedRateInput
|
The selected service and rate for the shipment |
senderNotes - String
|
Sender's notes. |
shipper - ShipperInput
|
Shipper details including address and contact information. |
source - ShipmentSourceEnum
|
Source of the shipment creation. |
status - ShipmentStatusEnum
|
Shipment's status. For non-admin users, the only valid option is NEW, MANUALLY_CREATED or CHECKOUT_COMPLETE. |
Example
Query
mutation AddShipment(
$buyerNotes: String,
$eshopId: ObjectID,
$geniki: GenikiInput,
$includeVat: Boolean,
$isB2BInvoice: Boolean,
$orderId: String,
$parcels: [ParcelInput!]!,
$paymentMethod: ShipmentPaymentMethodEnum,
$products: [ProductInput]!,
$productsQuantity: Int!,
$recipient: RecipientCreateInput!,
$recipientLogistics: RecipientLogisticsInput,
$selectedRate: SelectedRateInput,
$senderNotes: String,
$shipper: ShipperInput,
$source: ShipmentSourceEnum,
$status: ShipmentStatusEnum
) {
addShipment(
buyerNotes: $buyerNotes,
eshopId: $eshopId,
geniki: $geniki,
includeVat: $includeVat,
isB2BInvoice: $isB2BInvoice,
orderId: $orderId,
parcels: $parcels,
paymentMethod: $paymentMethod,
products: $products,
productsQuantity: $productsQuantity,
recipient: $recipient,
recipientLogistics: $recipientLogistics,
selectedRate: $selectedRate,
senderNotes: $senderNotes,
shipper: $shipper,
source: $source,
status: $status
) {
_id
auditLog {
_id
actor {
...UserFragment
}
actorType
changes {
...ShipmentAuditChangeFragment
}
createdAt
event
metadata
summary
}
availableRates {
deliveryCompany {
...DeliveryCompanyFragment
}
error
rating
services {
...ServiceFragment
}
}
buyerNotes
checkoutCompletedAt
costSummary {
deliveryCost
productsTotal
totalCost
totalCostVatInclusive
}
createdAt
effectiveDate
eshop {
_id
address
addressBook {
...AddressBookEntryTypeFragment
}
apikey
brandAssets {
...BrandAssetsFragment
}
city
deliveryCompanies {
...EshopDeliveryCompanyFragment
}
freeShipping {
...FreeShippingConfigFragment
}
name
packageInsurance
pageCustomization {
...PageCustomizationFragment
}
phone
postcode
securityValue
slug
storeConnections {
...StoreConnectionFragment
}
}
freeShipping {
applied
appliedRegionSource
appliedRuleId
appliedRuleName
checkoutDisplay
codFeeCharged
defaultCarrier {
...DeliveryCompanyFragment
}
discountAmount
originalCost
reason
threshold
}
geniki {
chargeCode
jobId
}
isB2BInvoice
notificationsSent {
sentAt
trigger
}
orderId
otherDocuments {
documentType
encodedDocument
externalId
}
parcels {
_id
billableWeight
contents {
...ParcelContentsFragment
}
dimensions {
...ParcelDimensionsFragment
}
returnVoucher {
...ParcelVoucherFragment
}
volumetricWeight
voucher {
...ParcelVoucherFragment
}
weight
}
paymentMethod
pickupAddress {
address
addressBookEntry
city
country
countryCode
name
postcode
}
pickupDate
products {
_id
category
countryOfOrigin
description
dimensions {
...ProductDimensionsFragment
}
externalId
extraAttributes
harmonizedSystemCode
image
metadata
price
quantity
size
sku
title
weight
}
productsQuantity
recipient {
address {
...AddressFragment
}
contact {
...ContactFragment
}
}
recipientLogistics {
companyName
email
phone
}
returnShipmentVoucher {
code
createdAt
deliveryCompanyReference
merchantReference
status
}
selectedRate {
costs {
...CostsFragment
}
deliveryCompany {
...DeliveryCompanyFragment
}
negotiatedCosts {
...CostsFragment
}
priceComponents {
...PricingComponentFragment
}
rating
serviceCode
serviceName
transitTime {
...TransitTimeFragment
}
}
senderNotes
shipmentPurpose
shipmentVoucher {
code
createdAt
deliveryCompanyReference
merchantReference
status
}
shipper {
address {
...AddressFragment
}
addressBookEntry
contact {
...ContactFragment
}
}
shippingRegionType
status
trackingDetails {
carrierTrackingUrl
deliveredAt
deliveryCompany {
...DeliveryCompanyFragment
}
eshopTrackingUrl
estimatedDelivery
events {
...TrackingEventFragment
}
isActive
lastStatus
lastSyncedAt
lastUpdated
nextPollAt
returnToSender
slaTier
voucherCode
}
unassociatedVouchers {
code
rawDeliveryCompanyResponse
reason
status
}
vatDetails {
valueAddedTaxIncluded
vatRate
}
}
}
Variables
{
"buyerNotes": "xyz789",
"eshopId": "5e5677d71bdc2ae76344968c",
"geniki": GenikiInput,
"includeVat": true,
"isB2BInvoice": true,
"orderId": "abc123",
"parcels": [ParcelInput],
"paymentMethod": "BANK_DEPOSIT",
"products": [ProductInput],
"productsQuantity": 123,
"recipient": RecipientCreateInput,
"recipientLogistics": RecipientLogisticsInput,
"selectedRate": SelectedRateInput,
"senderNotes": "abc123",
"shipper": ShipperInput,
"source": "CHECKOUT",
"status": "CANCELED"
}
Response
{
"data": {
"addShipment": {
"_id": "5e5677d71bdc2ae76344968c",
"auditLog": [ShipmentAuditEntry],
"availableRates": [DeliveryRate],
"buyerNotes": "abc123",
"checkoutCompletedAt": "2007-12-03T10:15:30Z",
"costSummary": CostSummary,
"createdAt": "2007-12-03T10:15:30Z",
"effectiveDate": "2007-12-03T10:15:30Z",
"eshop": Eshop,
"freeShipping": ShipmentFreeShipping,
"geniki": GenikiFields,
"isB2BInvoice": true,
"notificationsSent": [NotificationSent],
"orderId": "abc123",
"otherDocuments": [OtherDocument],
"parcels": [Parcel],
"paymentMethod": "BANK_DEPOSIT",
"pickupAddress": PickupAddress,
"pickupDate": "2007-12-03",
"products": [Product],
"productsQuantity": 123,
"recipient": Recipient,
"recipientLogistics": RecipientLogistics,
"returnShipmentVoucher": ShipmentVoucher,
"selectedRate": SelectedRate,
"senderNotes": "xyz789",
"shipmentPurpose": "GIFT",
"shipmentVoucher": ShipmentVoucher,
"shipper": Shipper,
"shippingRegionType": "DOMESTIC",
"status": "CANCELED",
"trackingDetails": TrackingDetails,
"unassociatedVouchers": [UnassociatedVoucher],
"vatDetails": VatDetails
}
}
}
cancelVoucher
Description
Cancel every active voucher on a shipment. Returns a CancelVoucherPayload with the updated shipment and the carrier-confirmed canceled codes.
Response
Returns a CancelVoucherPayload!
Arguments
| Name | Description |
|---|---|
eshopId - ObjectID
|
Required if the user belongs to or owns multiple eshops. Admins must specify an eshop. Not required for eshop integrations. |
orderId - String
|
The order id. Either orderId or shipmentId must be provided |
shipmentId - ObjectID
|
The shipment id. Either orderId or shipmentId must be provided |
Example
Query
mutation CancelVoucher(
$eshopId: ObjectID,
$orderId: String,
$shipmentId: ObjectID
) {
cancelVoucher(
eshopId: $eshopId,
orderId: $orderId,
shipmentId: $shipmentId
) {
canceledCodes
shipment {
_id
auditLog {
...ShipmentAuditEntryFragment
}
availableRates {
...DeliveryRateFragment
}
buyerNotes
checkoutCompletedAt
costSummary {
...CostSummaryFragment
}
createdAt
effectiveDate
eshop {
...EshopFragment
}
freeShipping {
...ShipmentFreeShippingFragment
}
geniki {
...GenikiFieldsFragment
}
isB2BInvoice
notificationsSent {
...NotificationSentFragment
}
orderId
otherDocuments {
...OtherDocumentFragment
}
parcels {
...ParcelFragment
}
paymentMethod
pickupAddress {
...PickupAddressFragment
}
pickupDate
products {
...ProductFragment
}
productsQuantity
recipient {
...RecipientFragment
}
recipientLogistics {
...RecipientLogisticsFragment
}
returnShipmentVoucher {
...ShipmentVoucherFragment
}
selectedRate {
...SelectedRateFragment
}
senderNotes
shipmentPurpose
shipmentVoucher {
...ShipmentVoucherFragment
}
shipper {
...ShipperFragment
}
shippingRegionType
status
trackingDetails {
...TrackingDetailsFragment
}
unassociatedVouchers {
...UnassociatedVoucherFragment
}
vatDetails {
...VatDetailsFragment
}
}
}
}
Variables
{
"eshopId": "5e5677d71bdc2ae76344968c",
"orderId": "xyz789",
"shipmentId": "5e5677d71bdc2ae76344968c"
}
Response
{
"data": {
"cancelVoucher": {
"canceledCodes": ["xyz789"],
"shipment": Shipment
}
}
}
createPickupList
Description
Create pickup lists for all delivery companies which had been chosen for this pickup date
Response
Returns a CreatePickupListReturn
Arguments
| Name | Description |
|---|---|
eshopId - ObjectID
|
Optional if user belongs to single eshop; required for admins or multiple eshops |
pickupDate - String!
|
Date "YYYY-MM-DD" that the delivery companies should pick up shipments |
pickupTimes - [PickupTimeInput!]!
|
List of per-company pickup time inputs |
shipmentIds - [ObjectID!]!
|
Array of shipment IDs to include in the pickup list. |
Example
Query
mutation CreatePickupList(
$eshopId: ObjectID,
$pickupDate: String!,
$pickupTimes: [PickupTimeInput!]!,
$shipmentIds: [ObjectID!]!
) {
createPickupList(
eshopId: $eshopId,
pickupDate: $pickupDate,
pickupTimes: $pickupTimes,
shipmentIds: $shipmentIds
) {
lists {
closeTime
code
deliveryCompany {
...DeliveryCompanyFragment
}
printDocument
readyTime
}
}
}
Variables
{
"eshopId": "5e5677d71bdc2ae76344968c",
"pickupDate": "xyz789",
"pickupTimes": [PickupTimeInput],
"shipmentIds": [
"5e5677d71bdc2ae76344968c"
]
}
Response
{
"data": {
"createPickupList": {"lists": [PickupListsList]}
}
}
createVoucher
Description
Create the carrier voucher(s) for a shipment. Returns a CreateVoucherPayload wrapping the updated shipment; read voucher state off payload.shipment.shipmentVoucher and payload.shipment.parcels[i].voucher.
Response
Returns a CreateVoucherPayload!
Arguments
| Name | Description |
|---|---|
eshopId - ObjectID
|
Required if the user belongs to or owns multiple eshops. Admins must specify an eshop. Not required for eshop integrations. |
generateCommercialInvoice - Boolean
|
Whether to generate a commercial invoice. Defaults to true for international shipments. |
notes - String
|
Notes/comments for the delivery company |
orderId - String
|
The id of the order. Either orderId or shipmentId must be provided |
pickupDate - String
|
Date "YYYY-MM-DD" that the delivery company should receive the package from the shop. Defaults to today. |
shipmentId - ObjectID
|
The id of the shipment. Either orderId or shipmentId must be provided |
shipmentPurpose - ShipmentPurposeEnum
|
The purpose of the shipment |
Example
Query
mutation CreateVoucher(
$eshopId: ObjectID,
$generateCommercialInvoice: Boolean,
$notes: String,
$orderId: String,
$pickupDate: String,
$shipmentId: ObjectID,
$shipmentPurpose: ShipmentPurposeEnum
) {
createVoucher(
eshopId: $eshopId,
generateCommercialInvoice: $generateCommercialInvoice,
notes: $notes,
orderId: $orderId,
pickupDate: $pickupDate,
shipmentId: $shipmentId,
shipmentPurpose: $shipmentPurpose
) {
createdCodes
shipment {
_id
auditLog {
...ShipmentAuditEntryFragment
}
availableRates {
...DeliveryRateFragment
}
buyerNotes
checkoutCompletedAt
costSummary {
...CostSummaryFragment
}
createdAt
effectiveDate
eshop {
...EshopFragment
}
freeShipping {
...ShipmentFreeShippingFragment
}
geniki {
...GenikiFieldsFragment
}
isB2BInvoice
notificationsSent {
...NotificationSentFragment
}
orderId
otherDocuments {
...OtherDocumentFragment
}
parcels {
...ParcelFragment
}
paymentMethod
pickupAddress {
...PickupAddressFragment
}
pickupDate
products {
...ProductFragment
}
productsQuantity
recipient {
...RecipientFragment
}
recipientLogistics {
...RecipientLogisticsFragment
}
returnShipmentVoucher {
...ShipmentVoucherFragment
}
selectedRate {
...SelectedRateFragment
}
senderNotes
shipmentPurpose
shipmentVoucher {
...ShipmentVoucherFragment
}
shipper {
...ShipperFragment
}
shippingRegionType
status
trackingDetails {
...TrackingDetailsFragment
}
unassociatedVouchers {
...UnassociatedVoucherFragment
}
vatDetails {
...VatDetailsFragment
}
}
}
}
Variables
{
"eshopId": "5e5677d71bdc2ae76344968c",
"generateCommercialInvoice": false,
"notes": "xyz789",
"orderId": "abc123",
"pickupDate": "abc123",
"shipmentId": "5e5677d71bdc2ae76344968c",
"shipmentPurpose": "GIFT"
}
Response
{
"data": {
"createVoucher": {
"createdCodes": ["xyz789"],
"shipment": Shipment
}
}
}
printVoucher
Description
Print labels for one shipment in a single merged PDF. Labels are placed according to the carrier's configured outputMedium and stickerLayout: slot-grid snapping for sticker-paper customers, FFDH-packed onto the configured paper sheet for free-canvas customers, or concatenated at native cropped dimensions for thermal-printer customers. Multi-parcel shipments are merged into one document so callers receive a single printable file regardless of parcel count.
Response
Returns a PrintVoucherPayload!
Arguments
| Name | Description |
|---|---|
eshopId - ObjectID
|
Required if the user belongs to or owns multiple eshops. Admins must specify an eshop. Not required for eshop integrations. |
orderId - String
|
The order id. Either orderId or shipmentId must be provided |
shipmentId - ObjectID
|
The shipment id. Either orderId or shipmentId must be provided |
Example
Query
mutation PrintVoucher(
$eshopId: ObjectID,
$orderId: String,
$shipmentId: ObjectID
) {
printVoucher(
eshopId: $eshopId,
orderId: $orderId,
shipmentId: $shipmentId
) {
document
}
}
Variables
{
"eshopId": "5e5677d71bdc2ae76344968c",
"orderId": "xyz789",
"shipmentId": "5e5677d71bdc2ae76344968c"
}
Response
{
"data": {
"printVoucher": {"document": "xyz789"}
}
}
Types
Address
Fields
| Field Name | Description |
|---|---|
addressLine1 - String
|
Address line 1 (original input). |
addressLine2 - String
|
Address line 2 (original input). |
addressLine3 - String
|
Address line 3 (original input). |
canonicalAddress - CanonicalAddress
|
Canonicalized address for internal use |
city - String
|
City (original input). |
country - String
|
Country (original input). |
countryCode - String
|
Country code in ISO 3166-1 alpha-2 format. |
county - String
|
County (original input). |
postcode - String
|
Postcode (original input). |
Example
{
"addressLine1": "abc123",
"addressLine2": "abc123",
"addressLine3": "xyz789",
"canonicalAddress": CanonicalAddress,
"city": "abc123",
"country": "abc123",
"countryCode": "xyz789",
"county": "abc123",
"postcode": "abc123"
}
AddressBookEntryType
AddressInput
Fields
| Input Field | Description |
|---|---|
addressLine1 - String
|
Address line 1. |
addressLine2 - String
|
Address line 2. |
addressLine3 - String
|
Address line 3. |
city - String
|
City. |
country - String
|
Country. |
countryCode - String
|
Country code in ISO 3166-1 alpha-2 format. |
county - String
|
County. |
postcode - String
|
Postcode. |
Example
{
"addressLine1": "abc123",
"addressLine2": "abc123",
"addressLine3": "xyz789",
"city": "abc123",
"country": "abc123",
"countryCode": "abc123",
"county": "xyz789",
"postcode": "xyz789"
}
AddressTypeEnum
Description
Type of address location from Google Places API
Values
| Enum Value | Description |
|---|---|
|
|
Business address (offices, stores, commercial buildings) |
|
|
Mixed-use address (both residential and business) |
|
|
Residential address (homes, apartments) |
Example
"BUSINESS"
AppliedRegionSourceEnum
Values
| Enum Value | Description |
|---|---|
|
|
Free shipping was applied via the rest-of-world fallback deal |
|
|
Free shipping was applied via a named regional rule |
Example
"REST_OF_WORLD"
AuditActorTypeEnum
Description
Which kind of caller performed an audited action.
Values
| Enum Value | Description |
|---|---|
|
|
An authenticated admin user |
|
|
A direct API-key integration (no user, no actor id) |
|
|
An authenticated eshop user |
|
|
The system itself (backfills, automated processes) |
Example
"ADMIN"
Boolean
Description
The Boolean scalar type represents true or false.
BrandAssets
Fields
| Field Name | Description |
|---|---|
logos - BrandLogos
|
Example
{"logos": BrandLogos}
BrandColorScheme
Description
Color scheme for UI theming
Example
{
"accent": "xyz789",
"background": "abc123",
"primary": "xyz789",
"secondary": "xyz789"
}
BrandLogos
CancelVoucherPayload
Description
Result of cancelVoucher. Wraps the updated shipment plus the list of voucher codes the carrier confirmed canceled by this call.
Fields
| Field Name | Description |
|---|---|
canceledCodes - [String!]!
|
Carrier-confirmed voucher codes canceled by this call. For carriers with API integration this is the carrier's exact confirmation list; for non-API carriers it's every active voucher code on the shipment immediately before cancellation. Useful for distinguishing 'just canceled' from 'previously canceled' when auditing. |
shipment - Shipment!
|
The shipment after cancellation. All voucher slots will have status: canceled and shipment.status will be voucher-canceled. trackingDetails is cleared. |
Example
{
"canceledCodes": ["abc123"],
"shipment": Shipment
}
CancellationCapability
Fields
| Field Name | Description |
|---|---|
mode - VoucherCancellationModeEnum!
|
Example
{"mode": "CASCADE"}
CanonicalAddress
Description
Canonicalized address for internal use (analytics, pricing, rate lookups, etc.)
Fields
| Field Name | Description |
|---|---|
addressLine1 - String
|
Canonicalized primary address line. |
addressType - AddressTypeEnum
|
Type of address location (residential, business, mixed) |
city - String
|
Canonicalized city. |
coordinates - Coordinates
|
Geographic coordinates. |
country - String
|
Canonicalized country. |
countryCode - String
|
Canonicalized country code in ISO 3166-1 alpha-2 format. |
county - String
|
Canonicalized county. |
isCanonical - Boolean
|
Flag indicating if this address was successfully canonicalized via Google Places API |
placeId - String
|
Google Places API unique place identifier for future lookups |
postcode - String
|
Canonicalized postcode. |
Example
{
"addressLine1": "abc123",
"addressType": "BUSINESS",
"city": "xyz789",
"coordinates": Coordinates,
"country": "abc123",
"countryCode": "abc123",
"county": "abc123",
"isCanonical": false,
"placeId": "xyz789",
"postcode": "abc123"
}
ColorScheme
ConnectionStatus
Values
| Enum Value | Description |
|---|---|
|
|
Store connection is active and working |
|
|
Store connection has an error |
|
|
Store connection has been revoked |
Example
"ACTIVE"
Contact
Example
{
"companyName": "abc123",
"email": "xyz789",
"firstname": "abc123",
"lastname": "abc123",
"phone": "abc123"
}
ContactInput
Fields
| Input Field | Description |
|---|---|
companyName - String
|
Company name. Either company name OR first and last name is required. |
email - String
|
Email address. |
firstname - String
|
First name. Either first and last name OR company name is required. |
lastname - String
|
Last name. Either first and last name OR company name is required. |
phone - String
|
Phone number. |
Example
{
"companyName": "xyz789",
"email": "xyz789",
"firstname": "xyz789",
"lastname": "xyz789",
"phone": "abc123"
}
Coordinates
CostSummary
Example
{
"deliveryCost": 123.45,
"productsTotal": 123.45,
"totalCost": 123.45,
"totalCostVatInclusive": 987.65
}
Costs
Description
Cost breakdown for a service
Fields
| Field Name | Description |
|---|---|
basePrice - Float
|
Base price before any surcharges, fees, or taxes |
codSurcharge - Float
|
Cash on delivery surcharge |
feesTotal - Float
|
Total of all fees |
finalPrice - Float
|
Final price after all fees, surcharges and taxes with multiplier and minimum price constraints applied |
priceMultiplier - Float
|
Multiplier applied to the price |
surchargesTotal - Float
|
Total of all surcharges |
taxesAndDutiesTotal - Float
|
Total of all taxes and duties |
totalPriceBeforeMultiplier - Float
|
Total price before multiplier and minimum price constraints applied |
vatAmount - Float
|
VAT amount included in the prices (when VAT is included) |
Example
{
"basePrice": 123.45,
"codSurcharge": 987.65,
"feesTotal": 123.45,
"finalPrice": 123.45,
"priceMultiplier": 987.65,
"surchargesTotal": 123.45,
"taxesAndDutiesTotal": 123.45,
"totalPriceBeforeMultiplier": 123.45,
"vatAmount": 123.45
}
CostsInput
Description
Input for cost breakdown
Fields
| Input Field | Description |
|---|---|
basePrice - Float
|
Base price before any surcharges, fees, or taxes |
codSurcharge - Float
|
Cash on delivery surcharge |
feesTotal - Float
|
Total of all fees |
finalPrice - Float
|
Final price after all fees, surcharges and taxes with multiplier and minimum price constraints applied |
priceMultiplier - Float
|
Multiplier applied to the price |
surchargesTotal - Float
|
Total of all surcharges |
taxesAndDutiesTotal - Float
|
Total of all taxes and duties |
totalPriceBeforeMultiplier - Float
|
Total price before multiplier and minimum price constraints applied |
vatAmount - Float
|
VAT amount included in the prices (when VAT is included) |
Example
{
"basePrice": 123.45,
"codSurcharge": 123.45,
"feesTotal": 123.45,
"finalPrice": 987.65,
"priceMultiplier": 123.45,
"surchargesTotal": 987.65,
"taxesAndDutiesTotal": 987.65,
"totalPriceBeforeMultiplier": 987.65,
"vatAmount": 987.65
}
CreatePickupListReturn
Fields
| Field Name | Description |
|---|---|
lists - [PickupListsList]
|
Example
{"lists": [PickupListsList]}
CreateVoucherPayload
Description
Result of createVoucher. Wraps the updated shipment plus the flat list of voucher codes the carrier issued. Future revisions may add structured warnings (e.g. for a failed customer email notification) without breaking clients.
Fields
| Field Name | Description |
|---|---|
createdCodes - [String!]!
|
Voucher codes the carrier issued in this invocation, in stable order (shipment-level first, then per-parcel) and de-duped (UPS emits the master tracking number as both the shipment-level voucher and the first parcel's code). Empty on the idempotent 'already-created' short-circuit, so createdCodes.length === 0 distinguishes a fresh creation from a no-op. |
shipment - Shipment!
|
The shipment with its voucher state freshly populated. Read shipmentVoucher, parcels[i].voucher, unassociatedVouchers, and otherDocuments for the carrier-issued data. |
Example
{
"createdCodes": ["xyz789"],
"shipment": Shipment
}
CredentialField
Fields
| Field Name | Description |
|---|---|
isRequired - Boolean!
|
|
isSecret - Boolean
|
|
key - String!
|
|
label - String!
|
|
type - CredentialFieldTypeEnum!
|
Example
{
"isRequired": true,
"isSecret": false,
"key": "abc123",
"label": "xyz789",
"type": "ACCOUNT"
}
CredentialFieldTypeEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"ACCOUNT"
CustomizationExtensions
Description
Extension point for future customization features
Fields
| Field Name | Description |
|---|---|
_placeholder - Boolean
|
Placeholder field for future extensions |
Example
{"_placeholder": false}
Date
Description
A date string, such as 2007-12-03, compliant with the full-date format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.
Example
"2007-12-03"
DateTime
Description
A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the date-time format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.
Example
"2007-12-03T10:15:30Z"
DeliveryCompany
Fields
| Field Name | Description |
|---|---|
_id - ID!
|
|
acceptedPaymentMethods - [ShipmentPaymentMethodEnum!]!
|
Payment methods this carrier can offer the end customer. Cash-on-delivery is carrier-dependent; card/PayPal/bank-deposit are merchant-gateway methods and may be listed for completeness. |
capabilities - DeliveryCompanyCapabilities
|
Per-carrier behavior matrix: multi-piece support, cancellation cascade mode, per-piece tracking, where customer references are accepted. |
createdAt - DateTime!
|
|
credentialFields - [CredentialField!]!
|
|
defaultConfig - DeliveryCompanyDefaultConfig!
|
|
description - String
|
|
hasAction - Boolean!
|
|
Arguments
|
|
hasApiIntegration - Boolean!
|
|
internalOnly - Boolean!
|
|
isEnabled - Boolean!
|
|
isVisibleAtCheckout - Boolean!
|
|
logo - Logo
|
|
minimumWeight - Float!
|
|
name - String!
|
|
pickupTimeOptions - PickupTimeOptions!
|
|
services - [DeliveryCompanyService!]!
|
All services the carrier offers. Each entry includes the carrier-prescribed code and its human-readable display name. |
slug - String!
|
|
supportedActions - [DeliveryCompanyApiActionEnum!]!
|
|
tags - [String!]!
|
|
trackingUrlInformation - TrackingUrlInformation
|
|
updatedAt - DateTime!
|
|
usesAccountShipperAddress - Boolean!
|
|
Example
{
"_id": 4,
"acceptedPaymentMethods": ["BANK_DEPOSIT"],
"capabilities": DeliveryCompanyCapabilities,
"createdAt": "2007-12-03T10:15:30Z",
"credentialFields": [CredentialField],
"defaultConfig": DeliveryCompanyDefaultConfig,
"description": "abc123",
"hasAction": false,
"hasApiIntegration": true,
"internalOnly": false,
"isEnabled": false,
"isVisibleAtCheckout": true,
"logo": Logo,
"minimumWeight": 987.65,
"name": "abc123",
"pickupTimeOptions": PickupTimeOptions,
"services": [DeliveryCompanyService],
"slug": "xyz789",
"supportedActions": ["CANCEL_VOUCHER"],
"tags": ["xyz789"],
"trackingUrlInformation": TrackingUrlInformation,
"updatedAt": "2007-12-03T10:15:30Z",
"usesAccountShipperAddress": true
}
DeliveryCompanyApiActionEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CANCEL_VOUCHER"
DeliveryCompanyCapabilities
Description
Per-carrier capability matrix that downstream code branches on for cancellation cascade, multi-piece UI gating, reference-stamping, and parcel-identity round-tripping.
Fields
| Field Name | Description |
|---|---|
cancellation - CancellationCapability!
|
|
multiPiece - MultiPieceCapability!
|
|
parcelIdentityMode - ParcelIdentityModeEnum!
|
How a returned voucher round-trips back to the originating parcel. Drives webhook / callback handler behaviour: 'piece-id' uses parcelVoucher.deliveryCompanyPieceId, 'positional' uses the parcel index, 'none' means no per-piece identity exists. |
perPieceTracking - Boolean!
|
Whether the carrier returns a distinct tracking number per parcel. |
referenceScope - VoucherCapabilityScopeEnum!
|
Where the carrier accepts the customer reference fields we send. |
Example
{
"cancellation": CancellationCapability,
"multiPiece": MultiPieceCapability,
"parcelIdentityMode": "NONE",
"perPieceTracking": false,
"referenceScope": "BOTH"
}
DeliveryCompanyDefaultConfig
DeliveryCompanyIDOrSlugInput
DeliveryCompanyService
Description
A carrier-prescribed service: the carrier's internal code and its human-readable display name.
Fields
| Field Name | Description |
|---|---|
code - String!
|
Carrier-specific service identifier (e.g. "FEDEX_GROUND", "65"). This is the value to use when calling the carrier API or when configuring an eshop's enabled services. |
name - String!
|
Human-readable display name for the service (e.g. "FedEx Ground", "UPS Worldwide Saver"). Falls back to code if the service is not in our catalog. |
Example
{
"code": "abc123",
"name": "abc123"
}
DeliveryRate
Description
Available rates for a delivery company with all available service options
Fields
| Field Name | Description |
|---|---|
deliveryCompany - DeliveryCompany
|
Delivery company providing this rate |
error - String
|
Error message if rate retrieval failed for this delivery company |
rating - Float
|
Rating of the delivery company |
services - [Service]
|
Available services from this carrier |
Example
{
"deliveryCompany": DeliveryCompany,
"error": "abc123",
"rating": 987.65,
"services": [Service]
}
EncryptedFieldEntry
Eshop
Fields
| Field Name | Description |
|---|---|
_id - ObjectID
|
|
address - String
|
|
addressBook - [AddressBookEntryType]
|
|
apikey - String
|
|
brandAssets - BrandAssets
|
|
city - String
|
|
deliveryCompanies - [EshopDeliveryCompany]
|
|
Arguments
|
|
freeShipping - FreeShippingConfig
|
Free shipping promotion configuration |
name - String
|
|
packageInsurance - Float
|
|
pageCustomization - PageCustomization
|
|
phone - String
|
|
postcode - String
|
|
securityValue - Float
|
|
slug - String
|
|
storeConnections - [StoreConnection]
|
|
Example
{
"_id": "5e5677d71bdc2ae76344968c",
"address": "abc123",
"addressBook": [AddressBookEntryType],
"apikey": "abc123",
"brandAssets": BrandAssets,
"city": "abc123",
"deliveryCompanies": [EshopDeliveryCompany],
"freeShipping": FreeShippingConfig,
"name": "abc123",
"packageInsurance": 987.65,
"pageCustomization": PageCustomization,
"phone": "xyz789",
"postcode": "xyz789",
"securityValue": 987.65,
"slug": "abc123",
"storeConnections": [StoreConnection]
}
EshopAuthConfig
Fields
| Field Name | Description |
|---|---|
addressBookEntry - ObjectID
|
Reference to an address book entry from the Eshop address book. |
credentials - [EncryptedFieldEntry]
|
Example
{
"addressBookEntry": "5e5677d71bdc2ae76344968c",
"credentials": [EncryptedFieldEntry]
}
EshopBranding
Description
Public branding information for an eshop to render branded pages
Fields
| Field Name | Description |
|---|---|
_id - ObjectID!
|
Eshop identifier |
colorScheme - BrandColorScheme
|
Color scheme for UI theming |
customization - CustomizationExtensions
|
Extension point for future customization features |
logos - BrandLogos
|
Brand logos for different usage contexts |
name - String!
|
Eshop display name |
Example
{
"_id": "5e5677d71bdc2ae76344968c",
"colorScheme": BrandColorScheme,
"customization": CustomizationExtensions,
"logos": BrandLogos,
"name": "abc123"
}
EshopDeliveryCompany
Fields
| Field Name | Description |
|---|---|
config - EshopDeliveryCompanyConfig
|
|
deliveryCompany - DeliveryCompany
|
|
isEnabled - Boolean
|
Example
{
"config": EshopDeliveryCompanyConfig,
"deliveryCompany": DeliveryCompany,
"isEnabled": true
}
EshopDeliveryCompanyConfig
Fields
| Field Name | Description |
|---|---|
authConfigs - [EshopAuthConfig]
|
|
displayAtCheckout - Boolean
|
|
enabledServices - [String]
|
|
minimumPrice - Float
|
|
notificationPreferences - NotificationPreferences
|
|
paperType - String
|
|
priceMultiplier - Float
|
|
roundingIncrement - Float
|
|
rules - [Rule]
|
Example
{
"authConfigs": [EshopAuthConfig],
"displayAtCheckout": true,
"enabledServices": ["abc123"],
"minimumPrice": 123.45,
"notificationPreferences": NotificationPreferences,
"paperType": "xyz789",
"priceMultiplier": 123.45,
"roundingIncrement": 123.45,
"rules": [Rule]
}
Float
Description
The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
987.65
FreeShippingCheckoutDisplayEnum
Values
| Enum Value | Description |
|---|---|
|
|
Show all carrier rates with discounted/free prices at checkout |
|
|
Show a single "Free Shipping" option using the default carrier at checkout |
Example
"ALL_CARRIERS"
FreeShippingConfig
Description
Free shipping promotion configuration for an eshop
Fields
| Field Name | Description |
|---|---|
checkoutDisplay - FreeShippingCheckoutDisplayEnum
|
How free shipping appears at checkout. Defaults to ALL_CARRIERS. |
isEnabled - Boolean
|
Whether free shipping promotion is active for this eshop |
restOfWorld - FreeShippingRestOfWorld
|
Optional fallback applied when no rule matches the destination country |
rules - [FreeShippingRule!]
|
Ordered list of region rules; first match by destination country wins |
Example
{
"checkoutDisplay": "ALL_CARRIERS",
"isEnabled": false,
"restOfWorld": FreeShippingRestOfWorld,
"rules": [FreeShippingRule]
}
FreeShippingRestOfWorld
Description
Fallback free shipping deal applied when no rule matches the destination country
Fields
| Field Name | Description |
|---|---|
codFee - Float
|
Cash on delivery surcharge applied when this rule is active and the customer selects COD |
defaultCarrier - DeliveryCompany
|
Default delivery company used for fulfillment when this rule is applied |
minItemCount - Int
|
Minimum number of product items required in the order for this rule to apply |
name - String!
|
Human-readable label for this rule, shown in admin UI |
threshold - Float!
|
Minimum order value (before VAT) required for free shipping eligibility under this rule |
waiveCodFee - Boolean
|
Whether to absorb the COD fee in the free shipping promotion under this rule |
excludedCountries - [String!]
|
ISO 3166-1 alpha-2 country codes that receive no free shipping at all |
Example
{
"codFee": 987.65,
"defaultCarrier": DeliveryCompany,
"minItemCount": 123,
"name": "xyz789",
"threshold": 987.65,
"waiveCodFee": false,
"excludedCountries": ["abc123"]
}
FreeShippingRule
Description
A region-scoped free shipping rule (named country group with optional exclusions)
Fields
| Field Name | Description |
|---|---|
_id - ObjectID
|
|
codFee - Float
|
Cash on delivery surcharge applied when this rule is active and the customer selects COD |
defaultCarrier - DeliveryCompany
|
Default delivery company used for fulfillment when this rule is applied |
minItemCount - Int
|
Minimum number of product items required in the order for this rule to apply |
name - String!
|
Human-readable label for this rule, shown in admin UI |
threshold - Float!
|
Minimum order value (before VAT) required for free shipping eligibility under this rule |
waiveCodFee - Boolean
|
Whether to absorb the COD fee in the free shipping promotion under this rule |
countries - [String!]!
|
ISO 3166-1 alpha-2 country codes this rule applies to |
excludedCountries - [String!]
|
ISO 3166-1 alpha-2 country codes carved out of this rule |
Example
{
"_id": "5e5677d71bdc2ae76344968c",
"codFee": 987.65,
"defaultCarrier": DeliveryCompany,
"minItemCount": 987,
"name": "xyz789",
"threshold": 123.45,
"waiveCodFee": false,
"countries": ["abc123"],
"excludedCountries": ["xyz789"]
}
GenikiFields
GenikiInput
ID
Description
The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.
Example
"4"
Int
Description
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
123
JSON
Description
The JSON scalar type represents JSON values as specified by ECMA-404.
Example
{}
LabelDimensions
Logo
MultiPieceCapability
NotificationPreferences
Description
Email notification trigger preferences per delivery company. Controls when customer notifications are sent.
Fields
| Field Name | Description |
|---|---|
onInTransit - Boolean
|
Send notification when carrier first scans the package (in-transit, picked-up, or out-for-delivery status). |
onPickupCreate - Boolean
|
Send notification when pickup list is created. |
onVoucherCreate - Boolean
|
Send notification when voucher/label is created. |
Example
{"onInTransit": true, "onPickupCreate": true, "onVoucherCreate": true}
NotificationSent
Description
Record of a sent email notification.
Fields
| Field Name | Description |
|---|---|
sentAt - DateTime!
|
Timestamp when the notification was sent |
trigger - NotificationTriggerEnum!
|
The notification trigger type |
Example
{
"sentAt": "2007-12-03T10:15:30Z",
"trigger": "IN_TRANSIT"
}
NotificationTriggerEnum
Description
Types of email notification triggers for shipments.
Values
| Enum Value | Description |
|---|---|
|
|
Triggered when carrier first scans the package |
|
|
Triggered when pickup list is created |
|
|
Triggered when voucher/label is created |
Example
"IN_TRANSIT"
ObjectID
Description
A field whose value conforms with the standard mongodb object ID as described here: https://docs.mongodb.com/manual/reference/method/ObjectId/#ObjectId. Example: 5e5677d71bdc2ae76344968c
Example
"5e5677d71bdc2ae76344968c"
OtherDocument
Fields
| Field Name | Description |
|---|---|
documentType - OtherDocumentTypeEnum
|
Type of the document. |
encodedDocument - String
|
Base64 encoded document content. |
externalId - String
|
External identifier for the document. |
Example
{
"documentType": "COMMERCIAL_INVOICE",
"encodedDocument": "xyz789",
"externalId": "abc123"
}
OtherDocumentTypeEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"COMMERCIAL_INVOICE"
PageCustomization
Fields
| Field Name | Description |
|---|---|
colorScheme - ColorScheme
|
Example
{"colorScheme": ColorScheme}
Parcel
Fields
| Field Name | Description |
|---|---|
_id - ObjectID
|
Unique identifier for this parcel within the shipment, automatically generated |
billableWeight - Float
|
Parcel's billable weight in kilograms. (The weight used for the price calculation. The greater of actual weight or volumetric weight) |
contents - [ParcelContents]
|
Products contained in this parcel with their quantities, enabling proper distribution across multiple parcels |
dimensions - ParcelDimensions
|
|
returnVoucher - ParcelVoucher
|
This parcel's carrier-issued RETURN voucher (reverse-logistics label + tracking number). Independent lifecycle from voucher — issued, canceled, and expires independently. Null until a return voucher has been created for this parcel. |
volumetricWeight - Float
|
Parcel's volumetric weight in kilograms. The overall size of a parcel measured in volumetric kilograms. |
voucher - ParcelVoucher
|
This parcel's carrier-issued FORWARD voucher (tracking number + label + references). Null until createVoucher runs successfully for this parcel. The reverse-logistics counterpart lives on returnVoucher. |
weight - Float
|
Parcel's weight in kilograms. |
Example
{
"_id": "5e5677d71bdc2ae76344968c",
"billableWeight": 987.65,
"contents": [ParcelContents],
"dimensions": ParcelDimensions,
"returnVoucher": ParcelVoucher,
"volumetricWeight": 987.65,
"voucher": ParcelVoucher,
"weight": 123.45
}
ParcelContents
ParcelContentsInput
ParcelDimensions
ParcelIdentityModeEnum
Values
| Enum Value | Description |
|---|---|
|
|
Carrier has no concept of per-piece identity — a single voucher covers the entire shipment regardless of parcel count. |
|
|
Carrier returns a stable per-piece identifier with each voucher. Round-trip via parcelVoucher.deliveryCompanyPieceId. |
|
|
No per-piece identifier; pieces are matched by request/response array position. Adapters MUST preserve order. |
Example
"NONE"
ParcelInput
Fields
| Input Field | Description |
|---|---|
contents - [ParcelContentsInput]
|
Products contained in this parcel (optional, defaults to all products in first parcel if not specified) |
height - Float
|
Parcel height in centimeters (optional) |
length - Float
|
Parcel length in centimeters (optional) |
weight - Float!
|
Parcel weight in kilograms (required) |
width - Float
|
Parcel width in centimeters (optional) |
Example
{
"contents": [ParcelContentsInput],
"height": 987.65,
"length": 123.45,
"weight": 123.45,
"width": 987.65
}
ParcelVoucher
Description
Voucher / tracking number for a single parcel in a multi-piece shipment. Replaces the parcel's slot in the legacy flat Shipment.vouchers[] array.
Fields
| Field Name | Description |
|---|---|
code - String!
|
Carrier-assigned tracking number / voucher code. |
createdAt - DateTime!
|
|
deliveryCompanyPieceId - String
|
Carrier-internal piece key (e.g. FedEx packageSequenceNumber). Lets carrier callbacks map back to the right parcel without relying on positional ordering. |
deliveryCompanyReference - String!
|
Our reference for this parcel ({INTERNAL_SHORT}-{NN}) stamped in the carrier's primary reference slot and printed on the label. |
label - ParcelVoucherLabel
|
|
merchantReference - String
|
Optional secondary reference (sanitized merchant orderId) stamped in the carrier's second reference slot. |
status - VoucherStatusEnum!
|
Example
{
"code": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"deliveryCompanyPieceId": "abc123",
"deliveryCompanyReference": "abc123",
"label": ParcelVoucherLabel,
"merchantReference": "xyz789",
"status": "ACTIVE"
}
ParcelVoucherLabel
Description
Carrier-issued shipping label for a single parcel, stored alongside the parcel's voucher.
Fields
| Field Name | Description |
|---|---|
dimensions - LabelDimensions
|
Real label dimensions in PDF points; absent for legacy labels created before cropping was introduced. |
encodedDocument - String!
|
Base64-encoded label PDF. |
Example
{
"dimensions": LabelDimensions,
"encodedDocument": "xyz789"
}
PickupAddress
Example
{
"address": "xyz789",
"addressBookEntry": "5e5677d71bdc2ae76344968c",
"city": "xyz789",
"country": "abc123",
"countryCode": "xyz789",
"name": "xyz789",
"postcode": "abc123"
}
PickupListsList
Fields
| Field Name | Description |
|---|---|
closeTime - String
|
The time "HH:MM" representing the latest time for pickup |
code - String
|
Pickup list number |
deliveryCompany - DeliveryCompany
|
Delivery company for this pickup list |
printDocument - String
|
Pickup list document content or URL |
readyTime - String
|
The time "HH:MM" when the shipment(s) are ready for pickup |
Example
{
"closeTime": "abc123",
"code": "abc123",
"deliveryCompany": DeliveryCompany,
"printDocument": "abc123",
"readyTime": "xyz789"
}
PickupTimeInput
Fields
| Input Field | Description |
|---|---|
closeTime - String
|
The latest time "HH:MM" that the shipment(s) can be picked up |
deliveryCompany - DeliveryCompanyIDOrSlugInput!
|
Delivery company to generate pickup list for (by ID or slug) |
readyTime - String
|
The time "HH:MM" when the shipment(s) are ready for pickup |
Example
{
"closeTime": "xyz789",
"deliveryCompany": DeliveryCompanyIDOrSlugInput,
"readyTime": "abc123"
}
PickupTimeModeEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"FIXED"
PickupTimeOptions
Fields
| Field Name | Description |
|---|---|
closeOptions - [String]
|
|
fixedOptions - [String]
|
|
mode - PickupTimeModeEnum!
|
|
readyOptions - [String]
|
Example
{
"closeOptions": ["xyz789"],
"fixedOptions": ["abc123"],
"mode": "FIXED",
"readyOptions": ["abc123"]
}
Platform
Values
| Enum Value | Description |
|---|---|
|
|
Example
"WOOCOMMERCE"
PricingComponent
Description
A single pricing component like a surcharge, tax, or fee
Fields
| Field Name | Description |
|---|---|
amount - Float
|
Amount of the pricing component |
category - PricingComponentCategory
|
Category of the pricing component |
code - String
|
Carrier-specific code for this component, if available |
description - String
|
Description of the pricing component |
name - String
|
Human-readable name of the pricing component |
surchargeType - SurchargeType
|
Type of surcharge, applicable when category is SURCHARGE |
Example
{
"amount": 123.45,
"category": "BASE",
"code": "abc123",
"description": "abc123",
"name": "abc123",
"surchargeType": "ADDITIONAL_HANDLING"
}
PricingComponentCategory
Description
Categories of pricing components
Values
| Enum Value | Description |
|---|---|
|
|
Base shipping charge |
|
|
Import/export duties |
|
|
Processing or service fees |
|
|
Other fees/charges that don't fit other categories |
|
|
Additional charges applied to shipment |
|
|
Government taxes (VAT, sales tax, etc.) |
Example
"BASE"
PricingComponentInput
Description
Input for defining a pricing component in the complete rate structure
Fields
| Input Field | Description |
|---|---|
amount - Float
|
Amount of the pricing component |
category - PricingComponentCategory
|
Category of the pricing component |
code - String
|
Carrier-specific code for this component (optional) |
description - String
|
Description of the pricing component |
name - String
|
Human-readable name of the pricing component |
surchargeType - SurchargeType
|
Type of surcharge, applicable when category is SURCHARGE |
Example
{
"amount": 987.65,
"category": "BASE",
"code": "abc123",
"description": "abc123",
"name": "xyz789",
"surchargeType": "ADDITIONAL_HANDLING"
}
PrintVoucherPayload
Fields
| Field Name | Description |
|---|---|
document - String!
|
Base64-encoded PDF containing every active label for the shipment, merged into a single document according to the carrier's configured outputMedium and stickerLayout. |
Example
{"document": "abc123"}
Product
Fields
| Field Name | Description |
|---|---|
_id - ObjectID
|
Unique identifier for this product within the shipment, automatically generated |
category - String
|
The category of the product |
countryOfOrigin - String
|
The country of origin of the product |
description - String
|
A brief description of the product. |
dimensions - ProductDimensions
|
The dimensions of the product |
externalId - String
|
The external ID of the product from the e-shop platform |
extraAttributes - [ProductExtraAttributesEnumType]
|
List of extra attributes for the product, e.g., gift. |
harmonizedSystemCode - String
|
The harmonized system code of the product |
image - String
|
Full URL to the product's image |
metadata - String
|
Additional metadata from the e-shop platform |
price - Float!
|
The price of the product. |
quantity - Int!
|
The quantity of the product. |
size - ProductSizeEnumType
|
The size of the product. Not required if the shipment's dimensions and weight are provided. |
sku - String
|
The stock keeping unit (SKU) to identify the product. |
title - String
|
The title or name of the product. |
weight - Float
|
The weight of the product in kilograms |
Example
{
"_id": "5e5677d71bdc2ae76344968c",
"category": "abc123",
"countryOfOrigin": "abc123",
"description": "abc123",
"dimensions": ProductDimensions,
"externalId": "abc123",
"extraAttributes": ["GIFT"],
"harmonizedSystemCode": "abc123",
"image": "xyz789",
"metadata": "xyz789",
"price": 123.45,
"quantity": 123,
"size": "L",
"sku": "xyz789",
"title": "abc123",
"weight": 123.45
}
ProductDimensions
ProductDimensionsInput
ProductExtraAttributesEnumType
Values
| Enum Value | Description |
|---|---|
|
|
The product is marked as a gift item |
Example
"GIFT"
ProductInput
Fields
| Input Field | Description |
|---|---|
category - String
|
The category of the product |
countryOfOrigin - String
|
The country of origin of the product |
description - String
|
A brief description of the product. |
dimensions - ProductDimensionsInput
|
The dimensions of the product |
externalId - String
|
The external ID of the product from the e-shop platform |
extraAttributes - [ProductExtraAttributesEnumType]
|
List of extra attributes for the product, e.g., gift. |
harmonizedSystemCode - String
|
The harmonized system code of the product |
image - String
|
Full URL to the product's image |
metadata - String
|
Additional metadata from the e-shop platform |
price - Float!
|
The price of the product. |
quantity - Int!
|
The quantity of the product. |
size - ProductSizeEnumType
|
The size of the product. Not required if the shipment's dimensions and weight are provided. |
sku - String
|
The stock keeping unit (SKU) to identify the product. |
title - String
|
The title or name of the product. |
weight - Float
|
The weight of the product in kilograms |
Example
{
"category": "abc123",
"countryOfOrigin": "abc123",
"description": "xyz789",
"dimensions": ProductDimensionsInput,
"externalId": "xyz789",
"extraAttributes": ["GIFT"],
"harmonizedSystemCode": "xyz789",
"image": "xyz789",
"metadata": "abc123",
"price": 123.45,
"quantity": 123,
"size": "L",
"sku": "xyz789",
"title": "abc123",
"weight": 987.65
}
ProductSizeEnumType
Values
| Enum Value | Description |
|---|---|
|
|
Large size classification for quick shipping estimation and package planning |
|
|
Medium size classification for quick shipping estimation and package planning |
|
|
Small size classification for quick shipping estimation and package planning |
|
|
Extra Large size classification for quick shipping estimation and package planning |
|
|
Extra Small size classification for quick shipping estimation and package planning |
|
|
Double Extra Large size classification for quick shipping estimation and package planning |
Example
"L"
Recipient
RecipientAddressCreateInput
Description
Input type for recipient address used for shipment creation.
Fields
| Input Field | Description |
|---|---|
addressLine1 - String!
|
Address line 1. |
addressLine2 - String
|
Address line 2. |
addressLine3 - String
|
Address line 3. |
city - String!
|
City. |
country - String!
|
Country. |
countryCode - String
|
Country code in ISO 3166-1 alpha-2 format. |
county - String
|
County. |
postcode - String
|
Postcode. |
Example
{
"addressLine1": "xyz789",
"addressLine2": "xyz789",
"addressLine3": "xyz789",
"city": "xyz789",
"country": "abc123",
"countryCode": "abc123",
"county": "abc123",
"postcode": "xyz789"
}
RecipientContactCreateInput
Description
Input type for recipient contact used for shipment creation.
Fields
| Input Field | Description |
|---|---|
companyName - String
|
Company name. Either company name OR first and last name is required. |
email - String
|
Email address. |
firstname - String
|
First name. Either first and last name OR company name is required. |
lastname - String
|
Last name. Either first and last name OR company name is required. |
phone - String
|
Phone number. |
Example
{
"companyName": "xyz789",
"email": "xyz789",
"firstname": "xyz789",
"lastname": "abc123",
"phone": "xyz789"
}
RecipientCreateInput
Description
Input type for recipient details used for shipment creation.
Fields
| Input Field | Description |
|---|---|
address - RecipientAddressCreateInput!
|
Recipient address. |
contact - RecipientContactCreateInput!
|
Recipient contact. |
Example
{
"address": RecipientAddressCreateInput,
"contact": RecipientContactCreateInput
}
RecipientLogistics
Description
Customer-provided logistics company details when using recipient-logistics delivery option.
Example
{
"companyName": "xyz789",
"email": "abc123",
"phone": "xyz789"
}
RecipientLogisticsInput
Description
Input for customer-provided logistics company details when using recipient-logistics.
Example
{
"companyName": "abc123",
"email": "xyz789",
"phone": "abc123"
}
Rule
Fields
| Field Name | Description |
|---|---|
exclusions - RuleExclusions
|
Optional product exclusion criteria. Products matching any criterion are skipped during rule evaluation. |
type - String
|
|
value - Float
|
Example
{
"exclusions": RuleExclusions,
"type": "abc123",
"value": 123.45
}
RuleExclusions
Example
{
"categories": ["abc123"],
"extraAttributes": ["abc123"],
"skus": ["xyz789"]
}
SelectedRate
Description
The selected service and rate for a shipment
Fields
| Field Name | Description |
|---|---|
costs - Costs
|
Cost breakdown for the selected service (may include client-specific overrides) |
deliveryCompany - DeliveryCompany
|
Selected delivery company |
negotiatedCosts - Costs
|
Original costs based on carrier negotiated rates (before any client-specific overrides). Used for invoice reconciliation to compare against carrier invoices. Falls back to costs for legacy shipments. |
priceComponents - [PricingComponent]
|
Detailed pricing components for the selected service |
rating - Float
|
Rating of the selected service |
serviceCode - String
|
Selected service code |
serviceName - String
|
Selected service name |
transitTime - TransitTime
|
Delivery time information |
Example
{
"costs": Costs,
"deliveryCompany": DeliveryCompany,
"negotiatedCosts": Costs,
"priceComponents": [PricingComponent],
"rating": 987.65,
"serviceCode": "abc123",
"serviceName": "abc123",
"transitTime": TransitTime
}
SelectedRateInput
Description
Input for selecting a shipping rate. Can reference available rates (by serviceCode) or provide complete rate data directly
Fields
| Input Field | Description |
|---|---|
costs - CostsInput
|
Optional cost breakdown. If not provided, will be fetched from available rates based on serviceCode |
deliveryCompany - DeliveryCompanyIDOrSlugInput!
|
The carrier providing the service (by ID or slug) |
priceComponents - [PricingComponentInput]
|
Optional detailed breakdown of price components. If not provided, will be fetched from available rates based on serviceCode |
serviceCode - String!
|
The specific service code to select from the available rates |
serviceName - String
|
Optional service name. If not provided, will use serviceCode or fetch from available rates |
transitTime - TransitTimeInput
|
Optional delivery time information. If not provided, will be fetched from available rates based on serviceCode |
Example
{
"costs": CostsInput,
"deliveryCompany": DeliveryCompanyIDOrSlugInput,
"priceComponents": [PricingComponentInput],
"serviceCode": "abc123",
"serviceName": "xyz789",
"transitTime": TransitTimeInput
}
Service
Description
A carrier service option with pricing details
Fields
| Field Name | Description |
|---|---|
costs - Costs
|
Cost breakdown for this service |
priceComponents - [PricingComponent]
|
Detailed breakdown of all price components |
serviceCode - String
|
Carrier-specific service code (e.g. FEDEX_GROUND, UPS_NEXT_DAY_AIR) |
serviceName - String
|
Human-readable service name |
transitTime - TransitTime
|
Delivery time information |
Example
{
"costs": Costs,
"priceComponents": [PricingComponent],
"serviceCode": "abc123",
"serviceName": "xyz789",
"transitTime": TransitTime
}
Shipment
Fields
| Field Name | Description |
|---|---|
_id - ObjectID
|
Shipment's id. |
auditLog - [ShipmentAuditEntry!]
|
Append-only activity log of everything done to this shipment after it left "new" status, newest first. |
availableRates - [DeliveryRate]
|
Available delivery rates from all carriers with their services |
buyerNotes - String
|
Buyer's notes. |
checkoutCompletedAt - DateTime
|
The date and time when the shipment completed checkout. Null for manually-created shipments. |
costSummary - CostSummary
|
Summary of costs associated with the shipment. |
createdAt - DateTime
|
The date and time when the shipment was created. |
effectiveDate - DateTime
|
The shipment date used for sorting/filtering: checkoutCompletedAt, falling back to createdAt for shipments that never completed checkout. Derived field — safe for client-side sorting. |
eshop - Eshop
|
Reference to the eshop that created this shipment. |
freeShipping - ShipmentFreeShipping
|
Free shipping tracking information when a free shipping promotion was applied to this shipment |
geniki - GenikiFields
|
Geniki delivery company specific fields |
isB2BInvoice - Boolean
|
Indicates if the shipment is for a B2B invoice (true) or B2C invoice (false). False by default. |
notificationsSent - [NotificationSent]
|
Array tracking which email notifications have been sent for this shipment. |
orderId - String
|
The unique order id |
otherDocuments - [OtherDocument]
|
Additional documents related to the shipment, like invoices. |
parcels - [Parcel]
|
List of parcels in this shipment, each with their own dimensions, weights, and product distribution. |
paymentMethod - ShipmentPaymentMethodEnum
|
Customer's payment method. |
pickupAddress - PickupAddress
|
The address where the package should be picked up from. |
pickupDate - Date
|
Date "YYYY-MM-DD" that the delivery company should receive the package from the shop. Defaults to today |
products - [Product]
|
List of products in the shipment. |
productsQuantity - Int
|
Products quantity. |
recipient - Recipient!
|
Recipient details including address and contact information. |
recipientLogistics - RecipientLogistics
|
Customer-provided logistics company details when using recipient-logistics delivery option. |
returnShipmentVoucher - ShipmentVoucher
|
Shipment-level RETURN voucher (master tracking number for the reverse-logistics shipment) for carriers that issue one. Independent lifecycle from shipmentVoucher. |
selectedRate - SelectedRate
|
The selected service and rate for this shipment |
senderNotes - String
|
Sender's notes. |
shipmentPurpose - ShipmentPurposeEnum
|
The purpose of the shipment. |
shipmentVoucher - ShipmentVoucher
|
Shipment-level FORWARD voucher (master tracking number) for carriers that issue one. Null for carriers that only return per-piece vouchers. Use this as the canonical handle for shipment-level operations (tracking polling, pickup creation, cascade cancellation). The reverse-logistics counterpart lives on returnShipmentVoucher. |
shipper - Shipper
|
Shipper details including address and contact information. |
shippingRegionType - ShippingRegionTypeEnum
|
The type of shipping region. |
status - ShipmentStatusEnum
|
Transction's status. |
trackingDetails - TrackingDetails
|
Tracking details for the shipment. |
unassociatedVouchers - [UnassociatedVoucher!]
|
Vouchers returned by the carrier that the adapter could not confidently associate with a specific parcel. Should be empty for healthy shipments; a non-empty list indicates an adapter mapping problem worth auditing. |
vatDetails - VatDetails
|
VAT preferences and information for this shipment. |
Example
{
"_id": "5e5677d71bdc2ae76344968c",
"auditLog": [ShipmentAuditEntry],
"availableRates": [DeliveryRate],
"buyerNotes": "abc123",
"checkoutCompletedAt": "2007-12-03T10:15:30Z",
"costSummary": CostSummary,
"createdAt": "2007-12-03T10:15:30Z",
"effectiveDate": "2007-12-03T10:15:30Z",
"eshop": Eshop,
"freeShipping": ShipmentFreeShipping,
"geniki": GenikiFields,
"isB2BInvoice": false,
"notificationsSent": [NotificationSent],
"orderId": "abc123",
"otherDocuments": [OtherDocument],
"parcels": [Parcel],
"paymentMethod": "BANK_DEPOSIT",
"pickupAddress": PickupAddress,
"pickupDate": "2007-12-03",
"products": [Product],
"productsQuantity": 123,
"recipient": Recipient,
"recipientLogistics": RecipientLogistics,
"returnShipmentVoucher": ShipmentVoucher,
"selectedRate": SelectedRate,
"senderNotes": "abc123",
"shipmentPurpose": "GIFT",
"shipmentVoucher": ShipmentVoucher,
"shipper": Shipper,
"shippingRegionType": "DOMESTIC",
"status": "CANCELED",
"trackingDetails": TrackingDetails,
"unassociatedVouchers": [UnassociatedVoucher],
"vatDetails": VatDetails
}
ShipmentAuditChange
ShipmentAuditEntry
Fields
| Field Name | Description |
|---|---|
_id - ID!
|
|
actor - User
|
The user who performed the action (null for api-key / system actors) |
actorType - AuditActorTypeEnum!
|
Which kind of caller performed the action |
changes - [ShipmentAuditChange!]
|
Per-field before/after values for field-edit events (empty otherwise) |
createdAt - DateTime!
|
When the action was performed |
event - ShipmentAuditEventEnum!
|
The kind of change this entry records |
metadata - JSON
|
Free-form event context (e.g. created/canceled voucher codes) |
summary - String
|
Short human-readable description of the event |
Example
{
"_id": 4,
"actor": User,
"actorType": "ADMIN",
"changes": [ShipmentAuditChange],
"createdAt": "2007-12-03T10:15:30Z",
"event": "COST_OVERRIDDEN",
"metadata": {},
"summary": "abc123"
}
ShipmentAuditEventEnum
Description
The kinds of events recorded in a shipment audit log entry. Field-edit events carry changes; the rest carry metadata.
Values
| Enum Value | Description |
|---|---|
|
|
A manual cost override was applied or changed |
|
|
The shipment was added to a carrier pickup list |
|
|
Individual selected-rate price components were overridden (modifyShipmentRatePricing) |
|
|
The selected delivery company / service rate changed |
|
|
The shipment was canceled |
|
|
One or more editable shipment fields changed (see changes) |
|
|
The shipment / parcel vouchers were canceled |
|
|
A voucher / label was created for the shipment |
Example
"COST_OVERRIDDEN"
ShipmentFreeShipping
Description
Free shipping tracking information when a free shipping promotion was applied to a shipment
Fields
| Field Name | Description |
|---|---|
applied - Boolean!
|
Whether free shipping was applied to this shipment |
appliedRegionSource - AppliedRegionSourceEnum
|
Whether the applied free shipping came from a named rule or the rest-of-world fallback |
appliedRuleId - ObjectID
|
Stable reference to the matched rule subdocument; absent when the rest-of-world fallback was used |
appliedRuleName - String
|
Snapshot of the matched rule name (denormalized so historical shipments survive renames or deletions) |
checkoutDisplay - FreeShippingCheckoutDisplayEnum
|
Snapshot of the checkout display mode when free shipping was applied |
codFeeCharged - Float
|
COD fee the customer pays when free shipping is applied with cash-on-delivery payment (0 if no COD or waived) |
defaultCarrier - DeliveryCompany
|
The eshop default carrier used for free shipping, populated from the DB to reflect current carrier state |
discountAmount - Float
|
Amount discounted from the delivery cost (originalCost - codFeeCharged for full free shipping) |
originalCost - Float
|
The shipping cost that would have been charged without free shipping, used for analytics and invoicing |
reason - String
|
Human-readable explanation of why free shipping was applied |
threshold - Float
|
The free shipping threshold at the time this shipment was created |
Example
{
"applied": false,
"appliedRegionSource": "REST_OF_WORLD",
"appliedRuleId": "5e5677d71bdc2ae76344968c",
"appliedRuleName": "abc123",
"checkoutDisplay": "ALL_CARRIERS",
"codFeeCharged": 987.65,
"defaultCarrier": DeliveryCompany,
"discountAmount": 987.65,
"originalCost": 987.65,
"reason": "xyz789",
"threshold": 987.65
}
ShipmentPaymentMethodEnum
Values
| Enum Value | Description |
|---|---|
|
|
The customer will pay for the order by bank deposit. |
|
|
The customer will pay for the order by card. |
|
|
The customer will pay for the order by cash on delivery. |
|
|
The customer will not be charged for the order. |
|
|
The customer will pay for the order by PayPal. |
Example
"BANK_DEPOSIT"
ShipmentPurposeEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"GIFT"
ShipmentSourceEnum
Values
| Enum Value | Description |
|---|---|
|
|
Checkout process |
|
|
Manual entry |
Example
"CHECKOUT"
ShipmentStatusEnum
Values
| Enum Value | Description |
|---|---|
|
|
When the shipment has been canceled. |
|
|
When the customer has completed the checkout process. |
|
|
When the shipment has been manually created. |
|
|
When the shipment is just created and the customer still edit the delivery form |
|
|
When a pickup list has been created for the shipment. |
|
|
When a voucher has been canceled for the shipment. |
|
|
Step 1: The shipping label for the shipment has been created. |
|
|
Step 4 (Optional): The shipment is undergoing customs clearance. |
|
|
Step 6: The shipment has been successfully delivered. |
|
|
Exception: The delivery of the shipment has been canceled. |
|
|
Exception: An exception occurred during shipment delivery. |
|
|
Step 3: The shipment is currently in transit. |
|
|
Step 5: The shipment is out for delivery. |
|
|
Step 2: The shipment has been picked up by the delivery company. |
|
|
Exception: The shipment has been returned. |
Example
"CANCELED"
ShipmentTrackingEventStatusEnum
Values
| Enum Value | Description |
|---|---|
|
|
Step 4 (Optional): The shipment is undergoing customs clearance. |
|
|
Step 6: The shipment has been successfully delivered. |
|
|
Exception: The delivery of the shipment has been canceled. |
|
|
Exception: An exception occurred during shipment delivery. |
|
|
Step 3: The shipment is currently in transit. |
|
|
Step 5: The shipment is out for delivery. |
|
|
Step 2: The shipment has been picked up by the delivery company. |
|
|
Exception: The shipment has been returned. |
|
|
Step 1: The shipping label for the shipment has been created. |
Example
"CUSTOMS_CLEARANCE"
ShipmentVoucher
Description
Shipment-level voucher (master tracking number) for carriers that issue one. Null for carriers that only return per-piece vouchers (TCS).
Fields
| Field Name | Description |
|---|---|
code - String!
|
Carrier-assigned shipment-level identifier. May coincide with the lead parcel's tracking number for some carriers (FedEx, UPS) but is conceptually distinct. |
createdAt - DateTime!
|
|
deliveryCompanyReference - String!
|
Shipment-level reference (INTERNAL_SHORT, no piece suffix) stamped in the carrier's shipment-level reference slot. |
merchantReference - String
|
|
status - VoucherStatusEnum!
|
Example
{
"code": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"deliveryCompanyReference": "xyz789",
"merchantReference": "xyz789",
"status": "ACTIVE"
}
Shipper
Description
Shipper details including address and contact information.
Example
{
"address": Address,
"addressBookEntry": "5e5677d71bdc2ae76344968c",
"contact": Contact
}
ShipperInput
Description
Input type for shipper details.
Fields
| Input Field | Description |
|---|---|
address - AddressInput
|
Shipper address. |
addressBookEntryId - ObjectID
|
Reference to an address book entry from the Eshop address book. |
contact - ContactInput
|
Shipper contact. |
Example
{
"address": AddressInput,
"addressBookEntryId": "5e5677d71bdc2ae76344968c",
"contact": ContactInput
}
ShippingRegionTypeEnum
Description
Enum representing the type of shipping region.
Values
| Enum Value | Description |
|---|---|
|
|
Shipping within the same country. |
|
|
Shipping between countries in different regions. |
|
|
Shipping between African countries. |
|
|
Shipping between ASEAN member countries. |
|
|
Shipping between Asian countries. |
|
|
Shipping between European countries. |
|
|
Shipping between Middle Eastern countries. |
|
|
Shipping between non-EU European countries. |
|
|
Shipping between North American countries. |
|
|
Shipping between Oceanian countries. |
|
|
Shipping between South American countries. |
|
|
Shipping between USMCA member countries (US, Mexico, Canada). |
|
|
Other shipping region type not covered by other categories. |
Example
"DOMESTIC"
SlaTier
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"TIER_1"
StoreConnection
Fields
| Field Name | Description |
|---|---|
_id - ObjectID
|
|
consecutiveFailures - Int
|
Number of consecutive product-cache refresh failures. Resets to 0 on success. When the threshold is reached, status is flipped to ERROR. |
expiresAt - DateTime
|
|
externalId - String
|
|
lastFailedAt - DateTime
|
Timestamp of the most recent failed product-cache refresh |
lastSyncedAt - DateTime
|
|
platform - Platform
|
|
pluginVersion - String
|
|
scopes - [StoreConnectionScope]
|
|
status - ConnectionStatus
|
|
storeDomain - String
|
Example
{
"_id": "5e5677d71bdc2ae76344968c",
"consecutiveFailures": 123,
"expiresAt": "2007-12-03T10:15:30Z",
"externalId": "abc123",
"lastFailedAt": "2007-12-03T10:15:30Z",
"lastSyncedAt": "2007-12-03T10:15:30Z",
"platform": "WOOCOMMERCE",
"pluginVersion": "xyz789",
"scopes": ["READ_COUPONS"],
"status": "ACTIVE",
"storeDomain": "abc123"
}
StoreConnectionScope
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"READ_COUPONS"
String
Description
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"abc123"
SurchargeType
Description
Types of surcharges
Values
| Enum Value | Description |
|---|---|
|
|
Additional handling surcharge |
|
|
Cash on delivery surcharge |
|
|
Delivery area surcharge |
|
|
Fuel surcharge |
|
|
Other surcharge type |
|
|
Saturday delivery surcharge |
Example
"ADDITIONAL_HANDLING"
TrackingDetails
Fields
| Field Name | Description |
|---|---|
carrierTrackingUrl - String
|
External tracking URL provided by the delivery company |
deliveredAt - DateTime
|
When the shipment was delivered |
deliveryCompany - DeliveryCompany
|
Reference to the delivery company |
eshopTrackingUrl - String
|
Eshop tracking URL |
estimatedDelivery - DateTime
|
Estimated delivery date |
events - [TrackingEvent]
|
List of tracking events |
isActive - Boolean
|
Whether this tracking detail is active |
lastStatus - ShipmentTrackingEventStatusEnum
|
Last tracking status |
lastSyncedAt - DateTime
|
When the tracking information was last synced with carrier |
lastUpdated - DateTime
|
When the tracking information was last updated |
nextPollAt - DateTime
|
When to next poll for tracking updates |
returnToSender - Boolean
|
Whether the shipment is being returned to sender |
slaTier - SlaTier
|
Service level agreement tier |
voucherCode - String
|
The voucher code for this tracking detail |
Example
{
"carrierTrackingUrl": "abc123",
"deliveredAt": "2007-12-03T10:15:30Z",
"deliveryCompany": DeliveryCompany,
"eshopTrackingUrl": "xyz789",
"estimatedDelivery": "2007-12-03T10:15:30Z",
"events": [TrackingEvent],
"isActive": true,
"lastStatus": "CUSTOMS_CLEARANCE",
"lastSyncedAt": "2007-12-03T10:15:30Z",
"lastUpdated": "2007-12-03T10:15:30Z",
"nextPollAt": "2007-12-03T10:15:30Z",
"returnToSender": true,
"slaTier": "TIER_1",
"voucherCode": "abc123"
}
TrackingEvent
Fields
| Field Name | Description |
|---|---|
deliveryCompany - DeliveryCompany
|
Reference to the delivery company ID or delivery company object |
description - String
|
Human-readable description of the tracking event |
location - TrackingLocation
|
Location information for the tracking event |
status - ShipmentTrackingEventStatusEnum!
|
Status code or description for the tracking event |
timestamp - DateTime
|
When the tracking event occurred |
Example
{
"deliveryCompany": DeliveryCompany,
"description": "abc123",
"location": TrackingLocation,
"status": "CUSTOMS_CLEARANCE",
"timestamp": "2007-12-03T10:15:30Z"
}
TrackingLocation
Fields
| Field Name | Description |
|---|---|
address - TrackingLocationAddress
|
|
coordinates - TrackingLocationCoordinates
|
Example
{
"address": TrackingLocationAddress,
"coordinates": TrackingLocationCoordinates
}
TrackingLocationAddress
TrackingLocationCoordinates
TrackingResult
Fields
| Field Name | Description |
|---|---|
parcels - [Parcel!]
|
List of parcels in the shipment |
products - [Product!]
|
List of products in the shipment |
recipient - Recipient!
|
Recipient information for the shipment |
trackingDetails - TrackingDetails!
|
Tracking details for the shipment |
Example
{
"parcels": [Parcel],
"products": [Product],
"recipient": Recipient,
"trackingDetails": TrackingDetails
}
TrackingUrlInformation
Fields
| Field Name | Description |
|---|---|
baseUrl - String
|
|
exampleUrl - String
|
|
parameterName - String
|
|
supportsDeepLink - Boolean
|
|
urlType - TrackingUrlTypeEnum
|
Example
{
"baseUrl": "abc123",
"exampleUrl": "abc123",
"parameterName": "abc123",
"supportsDeepLink": true,
"urlType": "PATH"
}
TrackingUrlTypeEnum
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"PATH"
TransitTime
Description
Delivery time information
Example
{
"estimatedDeliveryDate": "2007-12-03",
"guaranteed": true,
"maxDays": 987,
"minDays": 987
}
TransitTimeInput
Description
Input for delivery time information
Example
{
"estimatedDeliveryDate": "2007-12-03",
"guaranteed": false,
"maxDays": 987,
"minDays": 123
}
UnassociatedVoucher
Description
Vouchers returned by the carrier that an adapter could not map to a specific parcel. Loud-failure escape hatch; engineering should audit shipments with non-empty unassociated lists.
Fields
| Field Name | Description |
|---|---|
code - String!
|
|
rawDeliveryCompanyResponse - JSON
|
Original carrier response fragment, kept verbatim for debugging. |
reason - String
|
Why this voucher could not be associated to a parcel. |
status - VoucherStatusEnum!
|
Example
{
"code": "xyz789",
"rawDeliveryCompanyResponse": {},
"reason": "abc123",
"status": "ACTIVE"
}
User
Fields
| Field Name | Description |
|---|---|
_id - ObjectID
|
Unique identifier for this user account |
email - String
|
User email address |
eshop - Eshop
|
Reference to the e-shop that this user belongs to or manages |
firstname - String
|
User's first name |
lastname - String
|
User's last name |
type - UserTypeEnum
|
User role type (admin, eshop, customer, deliveryCompany) |
Example
{
"_id": "5e5677d71bdc2ae76344968c",
"email": "abc123",
"eshop": Eshop,
"firstname": "abc123",
"lastname": "abc123",
"type": "ADMIN"
}
UserTypeEnum
Values
| Enum Value | Description |
|---|---|
|
|
System administrator with full access to all features and e-shops |
|
|
|
|
|
Delivery company staff member with access to carrier-specific features |
|
|
E-shop owner or staff member with access to their store's shipping operations |
Example
"ADMIN"
ValidateTrackingResult
VatDetails
VoucherCancellationModeEnum
Values
| Enum Value | Description |
|---|---|
|
|
Canceling the shipment-level voucher cancels every parcel voucher in one carrier call (e.g. UPS void by ShipmentIdentificationNumber). |
|
|
Each parcel voucher must be canceled individually (e.g. FedEx). |
|
|
Carrier doesn't support multi-piece shipments, so there is only one voucher to cancel. |
Example
"CASCADE"
VoucherCapabilityScopeEnum
Values
| Enum Value | Description |
|---|---|
|
|
Carrier accepts customer references both at the shipment level and per parcel. |
|
|
Carrier does not accept any customer reference field. |
|
|
Carrier accepts customer references per parcel only. |
|
|
Carrier accepts customer references at the shipment level only. |
Example
"BOTH"
VoucherStatusEnum
Values
| Enum Value | Description |
|---|---|
|
|
Voucher issued by the carrier and currently valid for tracking, pickup, and printing. |
|
|
Voucher voided by user or system action (cancelVoucher mutation, cascade cancellation, re-issue replacement). Terminal. |
|
|
Voucher auto-expired in the carrier's system, typically by exceeding the carrier's printable / usable window. Terminal. |
|
|
Carrier rejected voucher creation. Terminal; a fresh voucher record must be created to retry. |
|
|
Async voucher creation in flight: carrier accepted the request but hasn't returned a tracking number yet. Most carriers respond synchronously and skip this state. |
Example
"ACTIVE"
VoucherTracking
Example
{
"checkpointAction": "abc123",
"checkpointDateTime": "2007-12-03T10:15:30Z",
"checkpointLocation": "xyz789",
"checkpointNotes": "abc123",
"code": "xyz789",
"shipmentId": "5e5677d71bdc2ae76344968c"
}