GraphQL World Of Cd Keys API reference
Explore World Of Cd Keys's API reference documentation.
This page will help you get up and running with the API.
API Endpoints
# Sandbox:
https://api.stage.wock.digitalwarehou.se/graphql
# Production:
https://api.worldofcdkeys.com/graphql
Headers
Authorization: Bearer <YOUR_TOKEN_HERE>
Authentication
All GraphQL API queries require a valid JWT access token passed in the request header as Authorization
.
It could be acquired by calling the access token URL
endpoint with tenant id
parameter with proper client id
, client secret
, and scope
, which will be delivered to you by our helpdesk. Parameters are different between environments.
We are using Azure Active Directory and client credentials flow, so here is an example of how to acquire a token: Access token request with a shared secret
The generated token is valid for 360 seconds (10 minutes).
GraphQL
We use the GraphQL server to create this API to give our clients as much flexibility as possible. With that, you can query only for properties that you need in your daily work.
For development/test purposes we strongly recommend using Insomnia client because it supports GraphQL schemas better than the other API clients, with autocompletion and real-time schema preview. To autocomplete and preview the schema documentation in Insomnia, you need to be authenticated first and then refresh the schema in the client's program itself.
Endpoints
GraphQL queries/mutations are executed by sending POST HTTP requests to the endpoint proper for the environment. It's available in the upper part of the documentation. Let's assume we want to use the sandbox, and we need to make a POST
request to https://api.stage.wock.digitalwarehou.se/graphql
.
If we want to use GET
requests, we need to make a GET
request to https://api.stage.wock.digitalwarehou.se/graphql?query=our_query_body_goes_here
(only applies to queries, mutations are not supported in GET
requests).
Queries
Queries begin with one of the objects listed under QueryRoot. The QueryRoot is the schemas entry-point for queries.
Queries are equivalent to making a GET request in REST.
Mutations
Mutations begin with one of the objects listed under MutationRoot. The MutationRoot is the schema’s entry-point for mutations.
Mutations are equivalent to making a POST request in REST, so they are mutating (modifying) the state, like creating an order.
Status and error codes
All API queries return HTTP status codes that contain more information about the response.
200 OK
GraphQL HTTP status codes are different from REST API status codes. Most importantly, the GraphQL API can return a 200 OK response code in cases that would typically produce 4xx or 5xx errors in REST.
Error handling
The error object's response contains additional detail to help you debug your operation.
Response
{
"errors": [
{
"message": "Products in your order must be unique. You cannot order the same product twice.",
"extensions": {
"code": "PRODUCT_UNIQUE_ERR"
"correlationId": "8b77ccc823f869598fe156d822603664"
}
}
],
"data": {
"createOrder": null
}
}
Improvements/bugs
We are open to hearing your suggestions, so don't hesitate to contact us when you see a possibility for improvement or a bug.
If you can, always please attach a correlationId from the error response. Enjoy!
Changelog
01.03.2025
- Important - changed type name returned in orders query from
OrderResponseCollectionSegment
toOrdersCollectionSegment
- Important - changed type name returned in products query from
ProductResponseCollectionSegment
toProductsCollectionSegment
- Added
status
filterable & sortable property to OrderResponse used in response for orders query - Added
partnerProductId
property to OrderCreatedLineResponse used in response for createOrder mutation - Marked
isBundle
property as deprecated in OrderProductResponse used in response for orders query - Marked
isSubBundle
property as deprecated in OrderProductResponse used in response for orders query - Marked
isBundle
property as deprecated in ProductResponse used in response for products query - Marked
isSubBundle
property as deprecated in ProductResponse used in response for products query - Marked
productPartnerId
property as deprecated in ProductResponse used in response for products query - Added
productPartnerIds
property to ProductResponse used in response for products query - Added
partnerProductId
property to OutboundDeliveryProductResponse used in deliveries query - Added
stockLimit
property to PartnerResponse used in partner query
- Added
excludedRegions
andexcludedLanguages
properties to ProductResponse (products query) - Added
used
property to PartnerResponse (partner query)
Queries
delivery
Description
Returns keys from Outbound Delivery in the following statuses:
Ready for download |
Partially downloaded |
Completed |
Response
Returns an OutboundDeliveryResponse
Example
Query
query delivery(
$orderId: UUID,
$legacyOrderId: String
) {
delivery(
orderId: $orderId,
legacyOrderId: $legacyOrderId
) {
products {
details {
id
name
platform
region
language
}
keys {
id
key
downloadedAt
mimeType
subKeys {
id
key
downloadedAt
mimeType
subKeys {
...OutboundDeliveryKeyResponseFragment
}
}
}
deliveryIdentifier
partnerProductId
}
orderId
legacyOrderId
archives {
link
password
}
status {
ready
error
}
}
}
Variables
{
"orderId": "e21de451-d7e2-4f28-8925-2c1c3809a42b",
"legacyOrderId": "xyz789"
}
Response
{
"data": {
"delivery": {
"products": [OutboundDeliveryProductResponse],
"orderId": "e21de451-d7e2-4f28-8925-2c1c3809a42b",
"legacyOrderId": "abc123",
"archives": [OutboundDeliveryArchiveFileResponse],
"status": OutboundDeliveryStatusResponse
}
}
}
orders
Description
Returns list of Outbound Orders in the Ready for download status
Response
Returns an OrdersCollectionSegment
Arguments
Name | Description |
---|---|
skip - Int
|
|
take - Int
|
|
where - OrderResponseFilterInput
|
|
order - [OrderResponseSortInput!]
|
Example
Query
query orders(
$skip: Int,
$take: Int,
$where: OrderResponseFilterInput,
$order: [OrderResponseSortInput!]
) {
orders(
skip: $skip,
take: $take,
where: $where,
order: $order
) {
pageInfo {
hasNextPage
hasPreviousPage
}
items {
id
legacyId
createdAt
products {
id
name
isBundle
isSubBundle
quantity
price
children {
id
name
isBundle
isSubBundle
quantity
price
children {
...OrderProductResponseFragment
}
}
}
identifier
status
}
totalCount
}
}
Variables
{
"skip": 987,
"take": 123,
"where": OrderResponseFilterInput,
"order": [OrderResponseSortInput]
}
Response
{
"data": {
"orders": {
"pageInfo": CollectionSegmentInfo,
"items": [OrderResponse],
"totalCount": 123
}
}
}
partner
Description
Returns partner's financial balance. Gives an idea of how many orders can be placed within the credit line granted by the supplier. It's changed only after successfully created delivery for an placed order
Response
Returns a PartnerResponse
Example
Query
query partner {
partner {
id
available
used
partnerType
stockLimit
}
}
Response
{
"data": {
"partner": {
"id": "e21de451-d7e2-4f28-8925-2c1c3809a42b",
"available": Decimal,
"used": Decimal,
"partnerType": "xyz789",
"stockLimit": 987
}
}
}
product
Description
Returns details of a single product
Response
Returns a ProductResponse
Arguments
Name | Description |
---|---|
id - Int
|
Example
Query
query product($id: Int) {
product(id: $id) {
language
lastUpdateDateTime
quantity {
text
image
all
}
bulkPrices {
price
minimumQuantity
}
productPartnerId
bundleItems {
id
name
platform
language
region
isSubBundle
}
isBundle
id
name
platform
region
currency
isDisabled
lastUpdatedPriceDateTime
lastIncreasedStockDateTime
productPartnerIds
languages
regions
excludedLanguages
excludedRegions
}
}
Variables
{"id": 123}
Response
{
"data": {
"product": {
"language": "xyz789",
"lastUpdateDateTime": "2007-12-03T10:15:30Z",
"quantity": QuantityResponse,
"bulkPrices": [BulkPriceResponse],
"productPartnerId": "xyz789",
"bundleItems": [ProductSubBundleResponse],
"isBundle": true,
"id": 123,
"name": "xyz789",
"platform": "xyz789",
"region": "abc123",
"currency": "abc123",
"isDisabled": false,
"lastUpdatedPriceDateTime": "2007-12-03T10:15:30Z",
"lastIncreasedStockDateTime": "2007-12-03T10:15:30Z",
"productPartnerIds": ["xyz789"],
"languages": ["abc123"],
"regions": ["abc123"],
"excludedLanguages": ["abc123"],
"excludedRegions": ["abc123"]
}
}
}
products
Description
Returns product list that are available for purchase
Response
Returns a ProductsCollectionSegment
Arguments
Name | Description |
---|---|
skip - Int
|
|
take - Int
|
|
where - ProductResponseFilterInput
|
|
order - [ProductResponseSortInput!]
|
Example
Query
query products(
$skip: Int,
$take: Int,
$where: ProductResponseFilterInput,
$order: [ProductResponseSortInput!]
) {
products(
skip: $skip,
take: $take,
where: $where,
order: $order
) {
pageInfo {
hasNextPage
hasPreviousPage
}
items {
language
lastUpdateDateTime
quantity {
text
image
all
}
bulkPrices {
price
minimumQuantity
}
productPartnerId
bundleItems {
id
name
platform
language
region
isSubBundle
}
isBundle
id
name
platform
region
currency
isDisabled
lastUpdatedPriceDateTime
lastIncreasedStockDateTime
productPartnerIds
languages
regions
excludedLanguages
excludedRegions
}
totalCount
}
}
Variables
{
"skip": 123,
"take": 123,
"where": ProductResponseFilterInput,
"order": [ProductResponseSortInput]
}
Response
{
"data": {
"products": {
"pageInfo": CollectionSegmentInfo,
"items": [ProductResponse],
"totalCount": 123
}
}
}
Mutations
createOrder
Description
Request to create a brand new order. Only available for External partner type. When an error occurs, then the following codes will be in response (errors[].extensions.code
) as it's stated here:
Code | Explanation |
---|---|
ORDER_ERR | The information needed to create order is wrong. |
ORDER_KEY_TYPE_ERR | Key type is incorrect. |
PARTNER_BALANCE_ERR | The available amount limit has been reached for the partner. |
PARTNER_ERR | Partner info in the system is incorrect. Contact support. |
PARTNER_NOT_FOUND | You are not assigned to any partner. Contact support. |
PRODUCT_NOT_FOUND | One of the requested products is not valid or not found. |
PRODUCT_PRICE_MISMATCH | The price for a product changed. Retrieve the product or products list to check the updated prices. |
PRODUCT_QTY_ERR | Maximal ordered product quantity exceeded. The client cannot order more keys than available for the product in one order. |
PRODUCT_STOCK_MISMATCH | The stock for a product changed. Retrieve the product or products list to check the updated stock. |
PRODUCT_UNIQUE_ERR | One of the products is requested more than once in the same order. |
Response
Returns an OrderCreatedResponse
Arguments
Name | Description |
---|---|
input - CreateOrderInput!
|
Example
Query
mutation createOrder($input: CreateOrderInput!) {
createOrder(input: $input) {
orderId
partnerOrderId
products {
productId
price
quantity
keyType
partnerProductId
}
}
}
Variables
{"input": CreateOrderInput}
Response
{
"data": {
"createOrder": {
"orderId": "e21de451-d7e2-4f28-8925-2c1c3809a42b",
"partnerOrderId": "xyz789",
"products": [OrderCreatedLineResponse]
}
}
}
deleteOrder
Description
Request to delete order in 'New' or 'Ready for download' status
Types
Boolean
Description
The Boolean
scalar type represents true
or false
BooleanOperationFilterInput
BulkPriceResponse
BulkPriceResponseFilterInput
Fields
Input Field | Description |
---|---|
and - [BulkPriceResponseFilterInput!]
|
|
or - [BulkPriceResponseFilterInput!]
|
|
price - DecimalOperationFilterInput
|
|
minimumQuantity - IntOperationFilterInput
|
Example
{
"and": [BulkPriceResponseFilterInput],
"or": [BulkPriceResponseFilterInput],
"price": DecimalOperationFilterInput,
"minimumQuantity": IntOperationFilterInput
}
BulkPriceResponseSortInput
Fields
Input Field | Description |
---|---|
price - SortEnumType
|
|
minimumQuantity - SortEnumType
|
Example
{"price": "ASC", "minimumQuantity": "ASC"}
CollectionSegmentInfo
Description
Information about the offset pagination
Example
{"hasNextPage": true, "hasPreviousPage": false}
CreateOrderInput
Description
Partners credit line must not be exceeeded
Fields
Input Field | Description |
---|---|
products - [CreateOrderProductInput!]!
|
Array of products |
Example
{"products": [CreateOrderProductInput]}
CreateOrderProductInput
Description
At least one product must be ordered
Fields
Input Field | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
productId - Int!
|
Product Id | ||||||||
quantity - Int!
|
Quantity of given product - more than 0, cannot exceed 500 (hard limit), and cannot exceed product availability | ||||||||
unitPrice - Decimal!
|
Unit price - must match product price (from a product or products queries) | ||||||||
keyType - Int
|
A key type which you want to order for the product
|
||||||||
partnerProductId - String
|
Here you can add your product id so it can be matched with order line and delivery line |
Example
{
"productId": 123,
"quantity": 123,
"unitPrice": Decimal,
"keyType": 123,
"partnerProductId": "xyz789"
}
DateTime
Description
The DateTime
scalar represents an ISO-8601 compliant date time type
Example
"2007-12-03T10:15:30Z"
DateTimeOperationFilterInput
Example
{
"eq": "2007-12-03T10:15:30Z",
"neq": "2007-12-03T10:15:30Z",
"in": ["2007-12-03T10:15:30Z"],
"nin": ["2007-12-03T10:15:30Z"],
"gt": "2007-12-03T10:15:30Z",
"ngt": "2007-12-03T10:15:30Z",
"gte": "2007-12-03T10:15:30Z",
"ngte": "2007-12-03T10:15:30Z",
"lt": "2007-12-03T10:15:30Z",
"nlt": "2007-12-03T10:15:30Z",
"lte": "2007-12-03T10:15:30Z",
"nlte": "2007-12-03T10:15:30Z"
}
Decimal
Description
The built-in Decimal
scalar type
Example
Decimal
DecimalOperationFilterInput
Example
{
"eq": Decimal,
"neq": Decimal,
"in": [Decimal],
"nin": [Decimal],
"gt": Decimal,
"ngt": Decimal,
"gte": Decimal,
"ngte": Decimal,
"lt": Decimal,
"nlt": Decimal,
"lte": Decimal,
"nlte": Decimal
}
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
IntOperationFilterInput
Example
{
"eq": 123,
"neq": 123,
"in": [987],
"nin": [123],
"gt": 123,
"ngt": 987,
"gte": 123,
"ngte": 987,
"lt": 123,
"nlt": 987,
"lte": 123,
"nlte": 123
}
ListFilterInputTypeOfBulkPriceResponseFilterInput
Fields
Input Field | Description |
---|---|
all - BulkPriceResponseFilterInput
|
|
none - BulkPriceResponseFilterInput
|
|
some - BulkPriceResponseFilterInput
|
|
any - Boolean
|
Example
{
"all": BulkPriceResponseFilterInput,
"none": BulkPriceResponseFilterInput,
"some": BulkPriceResponseFilterInput,
"any": true
}
ListFilterInputTypeOfOrderProductResponseFilterInput
Fields
Input Field | Description |
---|---|
all - OrderProductResponseFilterInput
|
|
none - OrderProductResponseFilterInput
|
|
some - OrderProductResponseFilterInput
|
|
any - Boolean
|
Example
{
"all": OrderProductResponseFilterInput,
"none": OrderProductResponseFilterInput,
"some": OrderProductResponseFilterInput,
"any": true
}
ListFilterInputTypeOfOutboundDeliveryKeyResponseFilterInput
Fields
Input Field | Description |
---|---|
all - OutboundDeliveryKeyResponseFilterInput
|
|
none - OutboundDeliveryKeyResponseFilterInput
|
|
some - OutboundDeliveryKeyResponseFilterInput
|
|
any - Boolean
|
Example
{
"all": OutboundDeliveryKeyResponseFilterInput,
"none": OutboundDeliveryKeyResponseFilterInput,
"some": OutboundDeliveryKeyResponseFilterInput,
"any": true
}
ListFilterInputTypeOfProductSubBundleResponseFilterInput
Fields
Input Field | Description |
---|---|
all - ProductSubBundleResponseFilterInput
|
|
none - ProductSubBundleResponseFilterInput
|
|
some - ProductSubBundleResponseFilterInput
|
|
any - Boolean
|
Example
{
"all": ProductSubBundleResponseFilterInput,
"none": ProductSubBundleResponseFilterInput,
"some": ProductSubBundleResponseFilterInput,
"any": false
}
ListStringOperationFilterInput
Fields
Input Field | Description |
---|---|
all - StringOperationFilterInput
|
|
none - StringOperationFilterInput
|
|
some - StringOperationFilterInput
|
|
any - Boolean
|
Example
{
"all": StringOperationFilterInput,
"none": StringOperationFilterInput,
"some": StringOperationFilterInput,
"any": false
}
OrderCreatedLineResponse
OrderCreatedResponse
Fields
Field Name | Description |
---|---|
orderId - UUID!
|
Order Id - this property is used in delivery query |
partnerOrderId - String
|
|
products - [OrderCreatedLineResponse!]!
|
Example
{
"orderId": "e21de451-d7e2-4f28-8925-2c1c3809a42b",
"partnerOrderId": "abc123",
"products": [OrderCreatedLineResponse]
}
OrderProductResponse
Example
{
"id": 987,
"name": "xyz789",
"isBundle": false,
"isSubBundle": true,
"quantity": 123,
"price": Decimal,
"children": [OrderProductResponse]
}
OrderProductResponseFilterInput
Fields
Input Field | Description |
---|---|
and - [OrderProductResponseFilterInput!]
|
|
or - [OrderProductResponseFilterInput!]
|
|
id - IntOperationFilterInput
|
|
name - StringOperationFilterInput
|
|
isBundle - BooleanOperationFilterInput
|
|
isSubBundle - BooleanOperationFilterInput
|
|
quantity - IntOperationFilterInput
|
|
price - DecimalOperationFilterInput
|
|
children - ListFilterInputTypeOfOrderProductResponseFilterInput
|
Example
{
"and": [OrderProductResponseFilterInput],
"or": [OrderProductResponseFilterInput],
"id": IntOperationFilterInput,
"name": StringOperationFilterInput,
"isBundle": BooleanOperationFilterInput,
"isSubBundle": BooleanOperationFilterInput,
"quantity": IntOperationFilterInput,
"price": DecimalOperationFilterInput,
"children": ListFilterInputTypeOfOrderProductResponseFilterInput
}
OrderResponse
Fields
Field Name | Description | ||||||
---|---|---|---|---|---|---|---|
id - UUID!
|
Order Id - this property retrieved from this endpoint response is used in the delivery query | ||||||
legacyId - String
|
Order Id - from the legacy platform. Only applies to orders which are migrated | ||||||
createdAt - DateTime!
|
Timestamp of order creation, UTC | ||||||
products - [OrderProductResponse!]!
|
An array of ordered products | ||||||
identifier - String!
|
Internal identifier of the order | ||||||
status - Int!
|
Status of the order
|
Example
{
"id": "e21de451-d7e2-4f28-8925-2c1c3809a42b",
"legacyId": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"products": [OrderProductResponse],
"identifier": "xyz789",
"status": 987
}
OrderResponseFilterInput
Fields
Input Field | Description |
---|---|
and - [OrderResponseFilterInput!]
|
|
or - [OrderResponseFilterInput!]
|
|
id - UuidOperationFilterInput
|
|
legacyId - StringOperationFilterInput
|
|
identifier - StringOperationFilterInput
|
|
createdAt - DateTimeOperationFilterInput
|
|
status - IntOperationFilterInput
|
|
products - ListFilterInputTypeOfOrderProductResponseFilterInput
|
Example
{
"and": [OrderResponseFilterInput],
"or": [OrderResponseFilterInput],
"id": UuidOperationFilterInput,
"legacyId": StringOperationFilterInput,
"identifier": StringOperationFilterInput,
"createdAt": DateTimeOperationFilterInput,
"status": IntOperationFilterInput,
"products": ListFilterInputTypeOfOrderProductResponseFilterInput
}
OrderResponseSortInput
Fields
Input Field | Description |
---|---|
id - SortEnumType
|
|
legacyId - SortEnumType
|
|
identifier - SortEnumType
|
|
createdAt - SortEnumType
|
|
status - SortEnumType
|
Example
{
"id": "ASC",
"legacyId": "ASC",
"identifier": "ASC",
"createdAt": "ASC",
"status": "ASC"
}
OrdersCollectionSegment
Fields
Field Name | Description |
---|---|
pageInfo - CollectionSegmentInfo!
|
Information to aid in pagination |
items - [OrderResponse!]
|
|
totalCount - Int!
|
Example
{
"pageInfo": CollectionSegmentInfo,
"items": [OrderResponse],
"totalCount": 123
}
OutboundDeliveryArchiveFileResponse
OutboundDeliveryArchiveFileResponseFilterInput
Fields
Input Field | Description |
---|---|
and - [OutboundDeliveryArchiveFileResponseFilterInput!]
|
|
or - [OutboundDeliveryArchiveFileResponseFilterInput!]
|
|
link - StringOperationFilterInput
|
|
password - StringOperationFilterInput
|
Example
{
"and": [OutboundDeliveryArchiveFileResponseFilterInput],
"or": [OutboundDeliveryArchiveFileResponseFilterInput],
"link": StringOperationFilterInput,
"password": StringOperationFilterInput
}
OutboundDeliveryKeyResponse
Fields
Field Name | Description |
---|---|
id - UUID!
|
|
key - String!
|
Key in plain text or base64 depends on mime-type |
downloadedAt - DateTime
|
Datetime of key first download |
mimeType - String!
|
Mime-type of a key: text (text/plain) or image (image/png, image/jpeg, image/gif, image/bmp) |
subKeys - [OutboundDeliveryKeyResponse!]!
|
Keys linked with that key. For example DLC, bundle or another dependent key |
Example
{
"id": "e21de451-d7e2-4f28-8925-2c1c3809a42b",
"key": "abc123",
"downloadedAt": "2007-12-03T10:15:30Z",
"mimeType": "xyz789",
"subKeys": [OutboundDeliveryKeyResponse]
}
OutboundDeliveryKeyResponseFilterInput
Fields
Input Field | Description |
---|---|
and - [OutboundDeliveryKeyResponseFilterInput!]
|
|
or - [OutboundDeliveryKeyResponseFilterInput!]
|
|
id - UuidOperationFilterInput
|
|
key - StringOperationFilterInput
|
|
downloadedAt - DateTimeOperationFilterInput
|
|
mimeType - StringOperationFilterInput
|
|
subKeys - ListFilterInputTypeOfOutboundDeliveryKeyResponseFilterInput
|
Example
{
"and": [OutboundDeliveryKeyResponseFilterInput],
"or": [OutboundDeliveryKeyResponseFilterInput],
"id": UuidOperationFilterInput,
"key": StringOperationFilterInput,
"downloadedAt": DateTimeOperationFilterInput,
"mimeType": StringOperationFilterInput,
"subKeys": ListFilterInputTypeOfOutboundDeliveryKeyResponseFilterInput
}
OutboundDeliveryProductDetailsResponse
OutboundDeliveryProductDetailsResponseFilterInput
Fields
Input Field | Description |
---|---|
and - [OutboundDeliveryProductDetailsResponseFilterInput!]
|
|
or - [OutboundDeliveryProductDetailsResponseFilterInput!]
|
|
id - IntOperationFilterInput
|
|
name - StringOperationFilterInput
|
|
platform - StringOperationFilterInput
|
|
region - StringOperationFilterInput
|
|
language - StringOperationFilterInput
|
Example
{
"and": [
OutboundDeliveryProductDetailsResponseFilterInput
],
"or": [
OutboundDeliveryProductDetailsResponseFilterInput
],
"id": IntOperationFilterInput,
"name": StringOperationFilterInput,
"platform": StringOperationFilterInput,
"region": StringOperationFilterInput,
"language": StringOperationFilterInput
}
OutboundDeliveryProductResponse
Fields
Field Name | Description |
---|---|
details - OutboundDeliveryProductDetailsResponse!
|
Details of a product |
keys - [OutboundDeliveryKeyResponse!]!
|
Array of keys |
Arguments |
|
deliveryIdentifier - String!
|
|
partnerProductId - String
|
Example
{
"details": OutboundDeliveryProductDetailsResponse,
"keys": [OutboundDeliveryKeyResponse],
"deliveryIdentifier": "abc123",
"partnerProductId": "abc123"
}
OutboundDeliveryProductResponseFilterInput
Fields
Input Field | Description |
---|---|
and - [OutboundDeliveryProductResponseFilterInput!]
|
|
or - [OutboundDeliveryProductResponseFilterInput!]
|
|
deliveryIdentifier - StringOperationFilterInput
|
|
partnerProductId - StringOperationFilterInput
|
|
details - OutboundDeliveryProductDetailsResponseFilterInput
|
|
keys - ListFilterInputTypeOfOutboundDeliveryKeyResponseFilterInput
|
Example
{
"and": [OutboundDeliveryProductResponseFilterInput],
"or": [OutboundDeliveryProductResponseFilterInput],
"deliveryIdentifier": StringOperationFilterInput,
"partnerProductId": StringOperationFilterInput,
"details": OutboundDeliveryProductDetailsResponseFilterInput,
"keys": ListFilterInputTypeOfOutboundDeliveryKeyResponseFilterInput
}
OutboundDeliveryResponse
Description
Keys from Outbound Delivery in the Ready for download, Partially downloaded or Completed statuses
Fields
Field Name | Description |
---|---|
products - [OutboundDeliveryProductResponse!]!
|
Array of products |
Arguments |
|
orderId - UUID!
|
Id of an order to which delivery is assigned |
legacyOrderId - String
|
Id of an order to which delivery is assigned - from legacy platform. Only applies to orders which are migrated |
archives - [OutboundDeliveryArchiveFileResponse!]!
|
An array of URLs to archives with .zip files contains keys. Only available for External partner type. Otherwise it will return an empty array |
Arguments |
|
status - OutboundDeliveryStatusResponse!
|
Indicates the status of the delivery |
Arguments |
Example
{
"products": [OutboundDeliveryProductResponse],
"orderId": "e21de451-d7e2-4f28-8925-2c1c3809a42b",
"legacyOrderId": "abc123",
"archives": [OutboundDeliveryArchiveFileResponse],
"status": OutboundDeliveryStatusResponse
}
OutboundDeliveryStatusResponse
Description
Describes the status of the delivery as follows:
ready | error | description |
---|---|---|
false | null | Order was created, but delivery is not ready yet |
false | not null | Order wasn't created, and an error occured. Check the error and create an order again |
true | null | Order was created successfully, delivery is in the 'Ready for download' status |
Example
{"ready": true, "error": "xyz789"}
OutboundDeliveryStatusResponseFilterInput
Fields
Input Field | Description |
---|---|
and - [OutboundDeliveryStatusResponseFilterInput!]
|
|
or - [OutboundDeliveryStatusResponseFilterInput!]
|
|
ready - BooleanOperationFilterInput
|
|
error - StringOperationFilterInput
|
Example
{
"and": [OutboundDeliveryStatusResponseFilterInput],
"or": [OutboundDeliveryStatusResponseFilterInput],
"ready": BooleanOperationFilterInput,
"error": StringOperationFilterInput
}
PartnerResponse
Example
{
"id": "e21de451-d7e2-4f28-8925-2c1c3809a42b",
"available": Decimal,
"used": Decimal,
"partnerType": "xyz789",
"stockLimit": 123
}
ProductResponse
Fields
Field Name | Description |
---|---|
language - String!
|
Language shortcodes |
lastUpdateDateTime - DateTime!
|
Last product (metadata like name, language, region / price / stock) update. This datetime property could be used in the following way: let's assume your's API is refreshing the products list from the API every 10 minutes after the first initial seed. If 02.05.2022 12:00 was the last refetch, then in the next refresh (at 12:10) you can add a filter to query like "give me all products which have a lastUpdateDateTime greater than 02.05.2022 12:00". In the result, you will get only products that were updated in this short period of time (from 12:00 - 12:10) instead of querying all products list |
quantity - QuantityResponse
|
Product's available quantity |
bulkPrices - [BulkPriceResponse!]!
|
Prices for a product are based on the quantity which you want to order |
Arguments
|
|
productPartnerId - String
|
This field is deprecated. Please use ProductPartnerIds instead. |
bundleItems - [ProductSubBundleResponse!]!
|
This field is deprecated. Will be removed in future. |
isBundle - Boolean!
|
This field is deprecated. Will be removed in future. |
id - Int!
|
|
name - String!
|
|
platform - String!
|
|
region - String!
|
|
currency - String!
|
|
isDisabled - Boolean!
|
|
lastUpdatedPriceDateTime - DateTime!
|
|
lastIncreasedStockDateTime - DateTime!
|
|
productPartnerIds - [String!]!
|
|
languages - [String!]!
|
|
regions - [String!]!
|
|
excludedLanguages - [String!]!
|
|
excludedRegions - [String!]!
|
Example
{
"language": "xyz789",
"lastUpdateDateTime": "2007-12-03T10:15:30Z",
"quantity": QuantityResponse,
"bulkPrices": [BulkPriceResponse],
"productPartnerId": "xyz789",
"bundleItems": [ProductSubBundleResponse],
"isBundle": true,
"id": 987,
"name": "xyz789",
"platform": "xyz789",
"region": "abc123",
"currency": "xyz789",
"isDisabled": true,
"lastUpdatedPriceDateTime": "2007-12-03T10:15:30Z",
"lastIncreasedStockDateTime": "2007-12-03T10:15:30Z",
"productPartnerIds": ["xyz789"],
"languages": ["abc123"],
"regions": ["abc123"],
"excludedLanguages": ["xyz789"],
"excludedRegions": ["abc123"]
}
ProductResponseFilterInput
Fields
Input Field | Description |
---|---|
and - [ProductResponseFilterInput!]
|
|
or - [ProductResponseFilterInput!]
|
|
id - IntOperationFilterInput
|
|
name - StringOperationFilterInput
|
|
platform - StringOperationFilterInput
|
|
language - StringOperationFilterInput
|
|
region - StringOperationFilterInput
|
|
quantity - QuantityResponseFilterInput
|
|
currency - StringOperationFilterInput
|
|
isBundle - BooleanOperationFilterInput
|
|
isDisabled - BooleanOperationFilterInput
|
|
lastUpdateDateTime - DateTimeOperationFilterInput
|
|
bundleItems - ListFilterInputTypeOfProductSubBundleResponseFilterInput
|
|
productPartnerId - StringOperationFilterInput
|
|
productPartnerIds - ListStringOperationFilterInput
|
|
bulkPrices - ListFilterInputTypeOfBulkPriceResponseFilterInput
|
|
languages - ListStringOperationFilterInput
|
|
regions - ListStringOperationFilterInput
|
|
excludedLanguages - ListStringOperationFilterInput
|
|
excludedRegions - ListStringOperationFilterInput
|
Example
{
"and": [ProductResponseFilterInput],
"or": [ProductResponseFilterInput],
"id": IntOperationFilterInput,
"name": StringOperationFilterInput,
"platform": StringOperationFilterInput,
"language": StringOperationFilterInput,
"region": StringOperationFilterInput,
"quantity": QuantityResponseFilterInput,
"currency": StringOperationFilterInput,
"isBundle": BooleanOperationFilterInput,
"isDisabled": BooleanOperationFilterInput,
"lastUpdateDateTime": DateTimeOperationFilterInput,
"bundleItems": ListFilterInputTypeOfProductSubBundleResponseFilterInput,
"productPartnerId": StringOperationFilterInput,
"productPartnerIds": ListStringOperationFilterInput,
"bulkPrices": ListFilterInputTypeOfBulkPriceResponseFilterInput,
"languages": ListStringOperationFilterInput,
"regions": ListStringOperationFilterInput,
"excludedLanguages": ListStringOperationFilterInput,
"excludedRegions": ListStringOperationFilterInput
}
ProductResponseSortInput
Fields
Input Field | Description |
---|---|
id - SortEnumType
|
|
name - SortEnumType
|
|
platform - SortEnumType
|
|
language - SortEnumType
|
|
region - SortEnumType
|
|
quantity - QuantityResponseSortInput
|
|
currency - SortEnumType
|
|
isBundle - SortEnumType
|
|
isDisabled - SortEnumType
|
|
lastUpdateDateTime - SortEnumType
|
|
productPartnerId - SortEnumType
|
Example
{
"id": "ASC",
"name": "ASC",
"platform": "ASC",
"language": "ASC",
"region": "ASC",
"quantity": QuantityResponseSortInput,
"currency": "ASC",
"isBundle": "ASC",
"isDisabled": "ASC",
"lastUpdateDateTime": "ASC",
"productPartnerId": "ASC"
}
ProductSubBundleResponse
ProductSubBundleResponseFilterInput
Fields
Input Field | Description |
---|---|
and - [ProductSubBundleResponseFilterInput!]
|
|
or - [ProductSubBundleResponseFilterInput!]
|
|
id - IntOperationFilterInput
|
|
name - StringOperationFilterInput
|
|
platform - StringOperationFilterInput
|
|
language - StringOperationFilterInput
|
|
region - StringOperationFilterInput
|
|
isSubBundle - BooleanOperationFilterInput
|
Example
{
"and": [ProductSubBundleResponseFilterInput],
"or": [ProductSubBundleResponseFilterInput],
"id": IntOperationFilterInput,
"name": StringOperationFilterInput,
"platform": StringOperationFilterInput,
"language": StringOperationFilterInput,
"region": StringOperationFilterInput,
"isSubBundle": BooleanOperationFilterInput
}
ProductsCollectionSegment
Description
A segment of a collection
Fields
Field Name | Description |
---|---|
pageInfo - CollectionSegmentInfo!
|
Information to aid in pagination |
items - [ProductResponse]
|
A flattened list of the items |
totalCount - Int!
|
Example
{
"pageInfo": CollectionSegmentInfo,
"items": [ProductResponse],
"totalCount": 987
}
QuantityResponse
QuantityResponseFilterInput
Fields
Input Field | Description |
---|---|
and - [QuantityResponseFilterInput!]
|
|
or - [QuantityResponseFilterInput!]
|
|
text - IntOperationFilterInput
|
|
image - IntOperationFilterInput
|
|
all - IntOperationFilterInput
|
Example
{
"and": [QuantityResponseFilterInput],
"or": [QuantityResponseFilterInput],
"text": IntOperationFilterInput,
"image": IntOperationFilterInput,
"all": IntOperationFilterInput
}
QuantityResponseSortInput
Fields
Input Field | Description |
---|---|
text - SortEnumType
|
|
image - SortEnumType
|
|
all - SortEnumType
|
Example
{"text": "ASC", "image": "ASC", "all": "ASC"}
SortEnumType
Values
Enum Value | Description |
---|---|
|
|
|
Example
"ASC"
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
"xyz789"
StringOperationFilterInput
Example
{
"and": [StringOperationFilterInput],
"or": [StringOperationFilterInput],
"eq": "xyz789",
"neq": "xyz789",
"contains": "xyz789",
"ncontains": "abc123",
"in": ["abc123"],
"nin": ["xyz789"],
"startsWith": "abc123",
"nstartsWith": "xyz789",
"endsWith": "xyz789",
"nendsWith": "xyz789"
}
UUID
Example
"e21de451-d7e2-4f28-8925-2c1c3809a42b"
UuidOperationFilterInput
Example
{
"eq": "e21de451-d7e2-4f28-8925-2c1c3809a42b",
"neq": "e21de451-d7e2-4f28-8925-2c1c3809a42b",
"in": [
"e21de451-d7e2-4f28-8925-2c1c3809a42b"
],
"nin": [
"e21de451-d7e2-4f28-8925-2c1c3809a42b"
],
"gt": "e21de451-d7e2-4f28-8925-2c1c3809a42b",
"ngt": "e21de451-d7e2-4f28-8925-2c1c3809a42b",
"gte": "e21de451-d7e2-4f28-8925-2c1c3809a42b",
"ngte": "e21de451-d7e2-4f28-8925-2c1c3809a42b",
"lt": "e21de451-d7e2-4f28-8925-2c1c3809a42b",
"nlt": "e21de451-d7e2-4f28-8925-2c1c3809a42b",
"lte": "e21de451-d7e2-4f28-8925-2c1c3809a42b",
"nlte": "e21de451-d7e2-4f28-8925-2c1c3809a42b"
}