schema.graphql

### # BizWebs API # # last revision: 2026-07-30 ### schema { # set of methods and entities for querying the API. To perform updates, @see Mutation query: Query # set of methods and entities to create and/or modify entities with this API. mutation: Mutation } """ A partner token is required for use """ directive @partnerToken(role: String) on ARGUMENT_DEFINITION | FIELD_DEFINITION | OBJECT """ YYYY-MM-DD format """ scalar Date """ YYYY-MM-DD HH:MM:SS format in system-configured timezone """ # Please note this time may be represented differently if using user-scoped token scalar DateTime """ HH:MM 24 hr format """ scalar TimeOfDay """ EAN code (integer) """ scalar Ean """ E-mail address """ scalar Email scalar Phone """ Relative or absolute URL (absolute URL including protocol) """ scalar Url """ RGB color hexa notation starting with hash char (e.g. #ABCD12) """ scalar Color """ Float in percent points without '%' character (e.g. 62.4 means 62.4%) """ scalar Percentage """ Country code alpha-2 (e.g. cz, sk, pl, de) """ scalar CountryCodeAlpha2 """ Currency code - preferably ISO 4217 (e.g. EUR, CZK, USD) """ # This field may contain user defined custom currency code. scalar CurrencyCode """ Unique request identificator - prevents duplicate action (e.g. import of an order) """ # The submission ID should be unique string that helps preventing duplication of # imported data, sending multiple notifications for single action and so on. # In distributed load-balanced environment this might be caused not just only by you calling API # multiple times by error, but also by system failover that might occur automatically under # high load. # You are responsible for generating it in determinate yet unique way for a single source entity/action. scalar SubmissionID scalar WarehouseNumber """ Customer - might be a registered entity or unauthenticated visitor this union has members Person, Company, ICompany, UnauthenticatedEmail. Each may have a different nullability of email field — alias them in fragments. """ # If a customer shops without being logged-in, despite of being registered this field holds still reference to UnauthenticatedEmail. # # However if a customer makes an order for a company that has been registered before, # this field holds reference to that Company, whether the customer shopped logged-in or not. # Resolution of this field may change during time, if the company becomes registered afterwards. # # If customer makes an order on behalf of an unregistered company, this field holds a Company object # having the e-mail address identical to the creator's one or a different one (company specific), depending on data filled into the order form. union Customer = Company | Person | UnauthenticatedEmail """ Originator of an order, might be null for backend created orders """ # # If order has been created by logged-in user: # # # If order has been created by a visitor (unauthenticated user): # # # If a website's representative created the order in the system manually (in administration) the value will be null. # union OrderCreator = Person | UnauthenticatedEmail """ Sorting of results in list """ enum Direction { " ascending (A - Z) " ASC " descending (Z - A) " DESC } """ Set of string constants representing actions in warehouse """ enum WarehouseAction { " subtract item from warehouse - item has been removed from warehouse " subtract " block item - item is temporarily reserved/blocked for specific order " block " unblock item " unblock " add item to warehouse " add } """ Supported weight units """ enum WeightUnit { kg } """ Supported dimension units """ enum DimensionUnit { cm } """ List of order element types """ enum PriceElementType { " shipping fee " # The 'value' field holds Pick-up location ID. shipping " payment fee " payment " gift certificate " gift " custom price element, may be positive (custom surcharge) or negative (ad-hoc discount) " custom " rounding quantification - system calculated " autoround " customer partner card (e.g. ISIC, SPHERE) " # The 'value' field holds vendor specific card number partner_card " applied percent discount " # The 'price' field holds negative amount (discount sum). # The 'value' field holds percentage of applied discount. percent_discount " applied discount " # The 'price' field holds negative amount (discount). # the 'value' field holds positive amount (absolute value) of a discount. discount } """ Product attribute's type """ enum AttributeType { # Possible variant of a product (e.g. volume) variant " physical variant " # Probably hard-to-change specification of a product (e.g. color). # Combination of real variants represents a warehouse item. real_variant " description attribute of a product / information " parameter " customer's text " input " selection of one of the values " select " allows selection of multiple values " checkbox " custom text value " textfield " custom long text " textarea " selection of one of the values " radio } """ Carrier identificators """ enum CarrierIdent { ceska_posta depo dhl dpd geis gls intime ppl slovenska_posta sps ulozenka ups wedo zasilkovna chameleoon } """ Orders sorting columns """ enum OrderSorting { order_id order_num # Last change of record. Option available only with partner token! last_change pre_inv_id inv_id pur_date } """ Products sorting columns """ enum ProductSorting { product_id title import_code } """ Payment type identifier """ enum PaymentType { cash delivery card transfer cheque } """ Used in the method getFeedUrl as an argument value """ enum FeedType { products availability } """ Payment identifier type """ enum PaymentReferenceType { variable_symbol invoice_num preinvoice_num } """ Shipment statuses """ enum ShipmentStatus { #new_consignment #ready_consignment #carrier has data for shipment carrier_registered inventory pickup_order delivered not_delivered returned unknown } """ Supported content blocks """ enum ContentBlockType { text news title productfrom redirect highlights youtube directory calltoaction gallery navigation googlemaps mapycz form recentlyvisitedproducts socialnetworks contentfrom html testimonials bestsellers categoryContent instagram slider newproducts recentnews } """ Supported block types than can be edited via the API """ enum ContentBlockTypeInput { text news title productfrom } """ Allowed post commenting options """ enum CommentingOption { none public private } """ Common interface for entity statuses """ interface IStatus { " internal ID " id: ID! " status name " name: String! } """ Default dataset specifying a company """ interface ICompany { " internal company ID - if registered " id: ID " legal registration ID " company_id: String! " company name incl. legal form " company_name: String " contact person name " name: String " company email " email: Email! " VAT ID or tax identification number (TIN)" # Some countries use one TIN for an entity for both regular tax and VAT identification. vat_id: String " VAT ID or tax identification number (TIN) #2 " # Some countries use specific VAT ID number vat_id2: String } """ Paging info for SomeobjectLists """ interface IPaginationResults { # pagination page info pageInfo: PageInfo } """ Represents a content block that can be displayed as part of a page layout. """ interface IContentBlock { " internal block ID " id: ID! " ID of the page containing the given block " webpage_id: ID! " internal block type identifier " type: String " hidden or visible on the page " visible: Boolean " position of block in box area " position: Int! " block placement in page layout " box: String! } """ Order filtering, searching and sorting parameters """ input OrderParams { " count of returned results (max) [up to 30] " limit: Int = 30 " ordinal position of first contained result (list offset) " cursor: Int " property name to order the results according to " order_by: OrderSorting " sort direction " sort: Direction " search string " search: String } """ Product filtering, searching and sorting parameters """ input ProductParams { " count of returned results (max) [up to 30] " limit: Int = 30 " ordinal position of first contained result (list offset) " cursor: Int " property name to order the results according to " order_by: ProductSorting # sort direction sort: Direction " search string " search: String } """ Pagination params """ input WebPageParams { " count of returned results (max) [up to 30] " limit: Int = 30 " ordinal position of first contained result (list offset) " cursor: Int } """ Warehouse item filtering, searching and sorting parameters """ input WarehouseItemParams { " count of returned results (max) [up to 30] " limit: Int = 30 " ordinal position of first contained result (list offset) " cursor: Int } """ Information about lists' paging """ type PageInfo { # listing has got next page hasNextPage: Boolean! # listing has got a previous page hasPreviousPage: Boolean! " index pointer (ordinal position/offset) of first record on next page of results " nextCursor: Int " index pointer (ordinal position/offset) of first record on previous page of results " previousCursor: Int # index of the currently listed page pageIndex: Int # total number of pages. Depends on the set limit for the number of records per page, the default limit is 30 records / page totalPages: Int # total number of records found totalRecords: Int } """ Pageable list of products (cursor) """ type ProductList implements IPaginationResults { data: [Product] pageInfo: PageInfo } """ Pageable list of invoices (cursor) """ type InvoiceList implements IPaginationResults { data: [Invoice] pageInfo: PageInfo } """ Pageable list of orders (cursor) """ type OrderList implements IPaginationResults { data: [Order] pageInfo: PageInfo } """ Pageable list of preinvoices (cursor) """ type PreinvoiceList implements IPaginationResults { data: [Preinvoice] pageInfo: PageInfo } """ Pageable list of warehouse items (cursor) """ type WarehouseItemList implements IPaginationResults { data: [WarehouseItem] pageInfo: PageInfo } """ Pageable list of web pages (cursor) """ type WebPageList implements IPaginationResults { data: [WebPage] pageInfo: PageInfo } """ Tax-related data """ type Taxation { " tax rate in percent points " tax_rate: Percentage " tax amount " amount: Float " taxed amount (base) " tax_base: Float } """ Set of fields defining an address point - publicly recognized location """ interface IAddressPoint { " street name " street: String " building ID (descriptive number)" descriptive_number: String " street number (orientation number)" orientation_number: String " name of city/town/municipality " city: String " zip code " zip: String " state " state: String " country " country: String } """ System-registered postal address. It may be a an invoicing, delivery or company registered address. @see IAddressPoint """ # This is an entity associated with some user or company account for repeated usage type Address implements IAddressPoint { " internal address ID - if address is one of predefined customer's addresses " # It allows to reuse one address multiple times. However the same address # may exist under different IDs, either by different customers registering # the same address as 'their own' or by a single customer creating duplicates. id: ID! " company's name incl. legal form " company_name: String " person's name " name: String " person's surname " surname: String " street name " street: String " building ID (descriptive number) " descriptive_number: String " street number (orientation number) " orientation_number: String " name of city/town/municipality " city: String " zip code " zip: String " state " state: String " country " country: String " contact e-mail " email: Email " contact phone " phone: Phone } """ Address data snapshot. """ # Static address data. It may be a snapshot of system-registered Address or # ad-hoc address filled into an order by a customer. type AddressData implements IAddressPoint { " company's name incl. legal form " company_name: String " person's name " name: String " person's surname " surname: String " street name " street: String " building ID (descriptive number) " descriptive_number: String " street number (orientation number) " orientation_number: String " name of city/town/municipality " city: String " zip code " zip: String " state " state: String " country " country: String " contact e-mail " email: Email " contact phone " phone: Phone } """ Email address of an unregistered user or registered user's who did not log in """ type UnauthenticatedEmail { " e-mail address " email: Email! " person's name " name: String " person's surname " surname: String " contact phone " phone: Phone } """ Registered person account """ type Person { " internal person ID " id: ID! " person's name " name: String " person's surname " surname: String " contact phone " phone: Phone " e-mail address " email: Email! " set of predefined addresses " # (for repeated usage) registered_address: [Address] } """ Legal/business entity """ type Company implements ICompany { " Internal company ID - if registered " id: ID " legal registration ID " company_id: String! " company's name incl. legal form " company_name: String! " set of predefined addresses " registered_address: [Address] " contact person name " name: String " contact person surname " surname: String " contact phone " phone: Phone " e-mail address " email: Email! " VAT ID or tax identification number (TIN)" # Some countries use one TIN for an entity for both regular tax and VAT identification. vat_id: String " VAT ID or tax identification number (TIN) #2 " # Some countries use specific VAT ID number vat_id2: String } """ Company branch - website's invoicing company. """ type InvoicingCompany implements ICompany { " Internal company ID " id: ID! " legal registration ID " company_id: String! " company's name incl. legal form " company_name: String! " legal registration address " address: Address! " company e-mail " email: Email! " contact phone " phone: Phone " VAT ID or tax identification number (TIN)" # Some countries use one TIN for an entity for both regular tax and VAT identification. vat_id: String " VAT ID or tax identification number (TIN) #2 " # Some countries use specific VAT ID number vat_id2: String } """ Billing company branch information used for document and invoice generation. """ type InvoicingCompanyData implements ICompany { " legal registration ID " company_id: String! " company's name incl. legal form " company_name: String! " legal registration address " address: Address! " company e-mail " email: Email " contact phone " phone: Phone " VAT ID or tax identification number (TIN)" # Some countries use one TIN for an entity for both regular tax and VAT identification. vat_id: String " VAT ID or tax identification number (TIN) #2 " # Some countries use specific VAT ID number vat_id2: String } """ Warehouse status definition """ type WarehouseStatus implements IStatus { " Internal warehouse status ID " id: ID! " Status name " name: String! " RGB color in hexa notation (e.g. #A45594) " color: Color " Status image " image: Url " text note " note: String " allow ordering of item having this WH status " allow_order: Boolean! " show product on public e-shop " show_product: Boolean! " product stays accessible on its detail page but is hidden from product lists " hide_in_list: Boolean! " default delivery in days " delivery_in_days: Int " daily deadline for propagated delivery " # You must place order before the time of day (specific hour) to be entitled for the 'delivery_in_days' expected delivery. order_deadline: TimeOfDay } """ Order status definition """ type OrderStatus implements IStatus { " Internal status ID " id: ID! " Status name " name: String! " RGB color in hexa notation (e.g. #A45594) " color: Color " text description of the meaning of the status " note: String " change of order by customer is allowed for this status " order_change: Boolean! " system preset to send notification email when setting this status " statusmail: Boolean! " system preset to send notification SMS when setting this status" send_sms: Boolean! " action in warehouse when setting this status " warehouse_action: WarehouseAction } """ Currency detail """ type Currency { " internal ID " id: ID! " 3-letter ISO code " code: CurrencyCode! " currency symbol e.g '$' or '€' " symbol: String! " custom currency name " name: String " rounding precision " rounding_precision: Int " number of decimal places " decimals: Int } """ Amount with currency, possibility to format/locale and indication if it is net or gross """ type Price { " amount with rounding rules " value: Float! " raw amount (unrounded) " raw_value: Float! " currency reference " currency: Currency! " includes tax or not - for VAT non-payer this field may carry both values and not to be relied upon " is_net_price: Boolean " amount incl. currency symbol and optional formatting/rounding rules " formatted: String } """ Language version """ type LanguageVersion { " internal ID " id: ID! " 2-letter ISO code (country code)" code: String! " country name " name: String! " default currency used for this language version / country " currency: Currency " Time zone " timezone: String " Time format " time_format: String " Date format " date_format: String " is visible on eshop " visible: Boolean! " 2-letter ISO code of language of system components " # as supported by BizWebs platform system_lang: String! " company assigned to invoice orders from this language version " company: InvoicingCompany } """ Non-product element in order (possibly affecting a price). """ # Order price elements represent most often a shipping or payment fee, applied discount or used gift certificates. type OrderPriceElement { " Internal element ID " id: ID! " back reference to order " order: Order! " Element type " type: PriceElementType! " Element title " title: String " detailed information about the element (e.g. gift certificate's code, pickup point ID) " # @see PriceElementType value: String " always net price for the element " price: Price! " tax rate for the element " tax_rate: Percentage " sum per row (incl. tax) " sum_with_tax: Price! " identifier that refers to the definition of shipping, payment, discounts, etc. It may be empty if the element was entered manually " reference_id: ID } """ Product contained within order """ type OrderItem { " Internal order item ID " id: ID! " reference to product " # . Please note that source product may not exist anymore. product: Product " item's title " # . This label might have been changed by admin so it does not have to be identical to source product's name. item_label: String " import code (identificator from supplier's feed or data source) " import_code: String # product's EAN ean: Ean " warehouse item identificator " warehouse_number: WarehouseNumber " count of ordered pieces " quantity: Int! " net price per unit (excl. tax) " price: Price! " net sum per row (excl. tax) " sum: Price! " recycle fee per unit (1 pc) " recycle_fee: Price " weight per unit (1 pc)" weight: Weight " tax ratio for given order item " tax_rate: Percentage " sum per row (incl. tax) " sum_with_tax: Price! " the smallest sales unit of an order item " sales_unit: SalesUnit " quantity in sales unit " quantity_per_unit: Float } """ Order detail """ type Order { " system's internal ID " id: ID! " order's evidence number " order_num: String! " order's optional external reference " # This might be a reference to order from marketplace etc. external_ref: String " date and time of receiving the order " pur_date: DateTime! " variable symbol (payment reference) " var_symb: Int " Source of the order (eshop, e-mail, phone etc.). It may contain also custom values. " source: String " flag that the order is awaiting administrator's intervention or review " # Further processing of this order should be avoided until manually reviewed by staff. # This may happen because of number of various reasons # blocked: Boolean! " customer's note for the order " note: String " internal note to order (not visible to customer) " internal_note: String " order's customer — a registered Person/Company or an unauthenticated visitor (@see Customer) " customer: Customer! " reference to person/account creating the order - @see OrderCreator for details " creator: OrderCreator! " invoice address " invoice_address: AddressData! " delivery address if specified or pickup point's address if applicable " delivery_address: AddressData " shipment reports " shipments: [ShipmentInfo!] " ordered items (products) " items: [OrderItem]! " non-product elements and fees " price_elements: [OrderPriceElement]! " total order price - may be net or incl. tax " # . This object may contain net price for tax-exempted orders. @see Price for further reference. sum: Price! " current order status " status: OrderStatus " assigned sales representative " salesrep: Person " set of preinvoices (payment requests) related to this order " preinvoices: [Preinvoice] " set of invoices (final documents) related to this order " invoices: [Invoice] " VAT summary - contains multiple taxation objects corresponding to specific tax rates contained within the order " vat_summary: [Taxation!] " order language " language: LanguageVersion! " date of last change " last_change: DateTime! " this order is in One-Stop-Shop EU VAT regime " oss: Boolean " country code for OSS regime " # VAT taxed on this order follows rates and is dedicated to this EU country " oss_country: CountryCodeAlpha2 } """ Preinvoice - payment request document - not a final invoice """ type Preinvoice { " internal identificator " id: ID! " preinvoice (payment request) number " preinvoice_num: Int! " variable symbol for payment " var_symb: Int! " invoicing company issuing the preinvoice " supplier: InvoicingCompanyData! " customer the preinvoice is issued to (@see Customer) " customer: Customer! # Invoice address invoice_address: AddressData! " date and time the preinvoice was created " created: DateTime! " " due_date: DateTime " " order: Order! " list of payments " payments: [Receipt] " " invoice: Invoice " invoice items " items: [OrderItem]! " invoice price elements " price_elements: [OrderPriceElement]! " summary price " sum: Price! " detailed taxing " vat_summary: [Taxation!] } """ Final invoice - serves as an accounting document """ type Invoice { " invoice internal ID " id: ID! " invoicing company " supplier: InvoicingCompanyData! " customer " customer: Customer! " invoice address " invoice_address: AddressData! " buy date " buy_date: Date! " due date " due_date: DateTime " pay date - the date of payment of the full amount or the last surcharge " pay_date: DateTime " list of payments " payments: [Receipt] " invoice date " created: DateTime! " the invoice is paid or sum of received relevant payments is higher than the invoiced amount " paid: Boolean! " regular payment identification - omit starting zeroes " # Variable symbol var_symb: Int " preinvoice number " preinvoice_num: Int " preinvoice " preinvoice: Preinvoice " invoice number " invoice_num: String! " invoice items " items: [OrderItem]! " invoice price elements e.g. shipping fee, payment fee, discount, etc. " price_elements: [OrderPriceElement]! " summary price " sum: Price! " detailed taxing " vat_summary: [Taxation!] " original order " order: Order! " url link for pdf document - downloading this document via API does not mark it as printed in the e-shop " download_pdf: Url! } """ Receipt for order """ type Receipt { " receipt internal ID " id: ID! " receipt number " receipt_num: String! " payment type identificator " payment_type: PaymentType " date the receipt was created " created: DateTime " date of payment " pay_date: Date " total amount of the receipt " sum: Price " list of items " items: [ReceiptItem] " order reference " order: Order } """ Receipt item """ type ReceiptItem { " item internal ID " id: ID! " text description of item " item_label: String " item quantity " quantity: Int " item price " price: Price " tax ratio for given order item " tax_rate: Percentage } """ Producer detail """ type Producer { " producer internal ID " id: ID! " Producer name " name: String " producer's website " url: Url } """ Category of products """ type Category { " system's internal ID " id: ID! " category's main title " title: String! " title for menu " menu_title: String " category's description " description: String @deprecated(reason: "Use 'seo_description' param.") " category language " language: LanguageVersion! " URL to category's webpage " link: Url! " category contains used goods " used_goods: Boolean! " whether category may be part of fulltext search result " search_indexed: Boolean " parent category " parent_category: Category " children categories " children_categories: [Category] " products in category " # please note order of products is independent for each category products: ProductList " introductory text displayed before listing the category content " intro: String " bottom text displayed after listing the category content " bottom: String " SEO meta description of category " seo_description: String " SEO product title for HTML tag TITLE " seo_title: String } """ Weight of an order or a product """ type Weight { " weight value " value: Float " weight unit (currently only 'kg' unit is supported) " unit: WeightUnit } """ Dimension for length, width or height """ type Dimension { " dimension value " value: Float " dimension unit (currently only 'cm' unit is supported) " unit: DimensionUnit } """ Defines the unit in which an item is sold, including the type of sales unit, the quantity it contains, and its unit of measure """ type SalesUnit { " defines the amount of base measurement contained in one sales unit " value: Float " sales unit — the unit of measure used for sales the item (for example, package, piece, square meter, cubic meter, etc.) " unit: String } """ Product warehouse item """ type WarehouseItem { " item internal ID " id: ID! " total quantity in stock " quantity: Float " unblocked quantity in stock. Can be ordered/reserved " available_quantity: Float " warehouse identificator " warehouse_number: WarehouseNumber " product " product: Product " EAN " ean: Ean " weight " weight: Weight " warehouse status of this variant " # this may be NULL if warehouse status is determined by the main product's status status: WarehouseStatus " attributes making up the physical variant of the product " attributes: [Attribute] " image path for specific warehouse item variant " image: Url " product variant's net price (excl. tax) " # If not set, the product's main price is returned price: Price! " final price of product including tax, discounts and all other price components. " final_price: Price " product variant packaging details, dimensions, weight and number of packages " packaging: [Package] } """ Value for a product attribute """ #
This object contains user defined content. type AttributeValue { " ID " id: ID! " text value " value: String " image indicator of attribute value " image: Url } """ Specification of product's properties """ type Attribute { " internal attribute ID " id: ID! " attribute's name " # . Please note the value of title may change corresponding to specific language for the same attribute. title: String " determines how the attribute is displayed and whether multiple values can be selected. " type: AttributeType " set of attribute values, for specific attribute types (variants or parameters defined as checkbox) a product may have multiple values " values: [AttributeValue] } """ Product """ type Product { " product internal ID " id: ID! " ,ain product title " title: String " producer " producer: Producer " main product image " image: Url " link to the eshop product " link: Url! " short description (only plain text) " short: String " long description (allowed html format) " long: String " main product category " main_category: Category " attribute category " attribute_category: Category " assigned to categories " assigned_categories: [Category] " product EAN " ean: Ean " display the product in the store to customers " active: Boolean! " product identificator from supplier or data source " import_code: String " product net price (excl. tax) " price: Price " final price of product including tax, discounts and all other price components. " final_price: Price " warehouse item " warehouse_items: [WarehouseItem] " attributes " attributes: [Attribute] " tax rate for currency price " tax_rate: Percentage " product image gallery " alternative_images: [Url] " product packaging details, dimensions, weight and number of packages " packaging: [Package] " the smallest sales unit of an product " sales_unit: SalesUnit " quantity per sales unit " quantity_per_unit: Float " SEO product title for HTML tag TITLE " seo_title: String " SEO meta description of product " seo_description: String " internal admin note for product " internal_note: String } """ Shipment detail of carrier """ type ShipmentInfo { " carrier identificator " carrier: CarrierIdent " logistic hub/ pickup point of the carrier " destination_point: LogisticPoint " parcels of shipment " parcels: [Parcel] " " status: ShipmentStatus " main shipment tracking number " shipment_number: String " return url of carrier tracking website " tracking_url: Url " url link for pdf document for shipment label. May return null if the label is no longer available " download_pdf: Url } """ Information about the transport hub """ type LogisticPoint { " carrier pickup point identificator " branch_id: ID! " carrier identificator " carrier: CarrierIdent # address: AddressData # info: LogisticPointInfo } """ Represents individual packages included in a shipment. """ type Parcel { " custom description or current number of parcel for identification " description: String " weight (kg) " weight: Weight " length (cm) " length: Int " width (cm) " width: Int " height (cm) " height: Int #shipping_wrap: ShippingWrap } """ Order shipping definition """ type Shipping { " internal ID " id: ID! " custom name of Shipping " name: String " shipping fee " price: Price " in-store pickup available " store_pickup: Boolean " carrier identificator " carrier: CarrierIdent } """ Order payment method """ type Payment { " internal ID" id: ID! " custom name of payment" name: String " payment fee " price: Price " cash on delivery, online payment or bank transfer etc. " type: PaymentType } """ Package dimensions and weight for the product or its variants. """ type Package { " internal ID " id: ID " custom label for identification in stock " label: String " length (cm) " length: Dimension " height (cm) " height: Dimension " width (cm) " width: Dimension " weight (kg) " weight: Weight " custom note " note: String } """ General description of website block """ type ContentBlock implements IContentBlock { " internal block ID " id: ID! " ID of the page on which the block is located " webpage_id: ID! " text indicator of blocks " type: String " block is visible or hidden " visible: Boolean " position of block in box area " position: Int! " area of web page with block content " box: String! } """ Block 'News' """ type NewsBlock implements IContentBlock { " internal block ID " id: ID! " ID of the page on which the block is located " webpage_id: ID! " text indicator of blocks " type: String " block is visible or hidden " visible: Boolean " position of block in box area " position: Int! " area of web page with block content " box: String! " list of posts included to this block " posts: [NewsPost!]! } """ Block 'Text' """ type TextBlock implements IContentBlock { " internal block ID " id: ID! " ID of the page on which the block is located " webpage_id: ID! " text indicator of blocks " type: String " block is visible or hidden " visible: Boolean " position of block in box area " position: Int! " area of web page with block content " box: String! } """ Post for block 'News' """ type NewsPost { " internal ID " id: ID! " main title of post " title: String! " date of first addition of news to the list " created: DateTime " short description of the post for annotations " short: String " full text of the post " long: String " post is visible or hidden " visible: Boolean " order of the post in the list " position: Int " allows commenting on the article " commenting: CommentingOption } """ Description one page of website """ type WebPage { " internal page ID " id: ID! " main title of page " title: String " short text below the title in the search result " description: String " list of page blocks " blocks: [ContentBlock]! " parent page, if null the given page is the root node " parent_webpage: WebPage " list of subpages at the next level " children_webpages: [WebPage] " website link " link: Url! } """ """ input PriceInput { " amount " value: Float! " currency ISO code " currency_code: CurrencyCode! " includes tax or not - for VAT non-payer this field may carry both values and not to be relied upon " is_net_price: Boolean } """ Advanced search of orders. Usage requires 'partner token'. """ input OrderFilter { " created from " pur_date_from: Date " created until " pur_date_to: Date " total < " sum_from: Float " total > " sum_to: Float " containing item with title " item_title: String " containing count of items from " items_from: Float " containing up to count of items " items_to: Float " order number " order_num: String " customer name and surname or company name " customer: String " address " address: String " currency " currency: CurrencyCode " order Status " status: Int " internal Id " shipping: Int " internal Id " payment: Int " internal Id of language version " lang_id: Int " internal Id of the invoicing company assigned to the order's language version (exact match) " invoicer_id: Int " full text search in EAN, Warehouse number and Import code" product_identificator: String " order source " source: String " internal note " internal_note: String } """ Advanced search of invoices. Usage requires 'partner token'. """ input InvoiceFilter { " purchased from " buy_date_from: Date " purchased until " buy_date_to: Date " due from " due_date_from: Date " due until " due_date_to: Date " paid from " pay_date_from: Date " paid to " pay_date_to: Date " total < " sum_from: Float " total > " sum_to: Float " preinvoiced from " pre_inv_date_from: Date " preinvoiced until " pre_inv_date_to: Date " finalized from " inv_date_from: Date " finalized until " inv_date_to: Date " overdue " over_due: Boolean " invoice number " inv_num: String " preinvoice number " pre_inv_num: String " customer name and surname or company name " customer: String " address full text search " address: String " currency ISO code (CZK, EUR, USD etc.) " currency: CurrencyCode " original order status internal Id " status: Int " internal shipping identificator " shipping: Int " language version internal Id " lang_id: Int " invoicing company name or VAT ID as recorded on invoices (text search, not an Id) " invoicer: String " original order number " order_num: String } """ Advanced search of preinvoices. Usage requires 'partner token'. """ input PreinvoiceFilter { " purchased from " buy_date_from: Date " purchased until " buy_date_to: Date " due from " due_date_from: Date " due until " due_date_to: Date " paid from " pay_date_from: Date " paid to " pay_date_to: Date " total < " sum_from: Float " total > " sum_to: Float " preinvoiced from " pre_inv_date_from: Date " preinvoiced until " pre_inv_date_to: Date " overdue " over_due: Boolean " invoice number " inv_num: String " search for preinvoices with existing/missing final invoices " invoiced: Boolean " preinvoice number " pre_inv_num: String " customer name and surname or company name " customer: String " address full text search " address: String " currency ISO code " currency: CurrencyCode " original order status internal Id " status: Int " internal shipping identificator " shipping: Int " language version internal Id " lang_id: Int " invoicing company name or VAT ID as recorded on invoices (text search, not an Id) " invoicer: String " original order number " order_num: String } """ Advanced search of products. Usage requires 'partner token'. """ input ProductFilter { # name name: String # EAN ean: Ean # import code import_code: String # warehouse number warehouse_number: WarehouseNumber # producer producer: String # is active active: Boolean " indicates whether product origins from feed or is native in the system " import: Boolean " being assigned to category (internal Id) " category: Int " internal Id " warehouse_status: Int " internal admin note (partial match) " internal_note: String } # Querying retrieves data (read access). Batching of multiple queries is not supported with this API. # To modify data or perform operations @see Mutation definition. # # # As of GraphQL nature, for each query you need to specify fields returned. To make this simpler you may use predefined fragments of data (default datasets) # which honor the _<ObjectName> convention. You may combine predefined fragments with specific field enumeration in your queries. # @see fragments.graphql # # # You may need to distinguish between cursors i.e. pageable lists of items (SomeobjectList objects) returned and simple sets of items # (array of objects). General rule is that lists are used for 'content generated by public' and are retrieved by getObjectList queries, # simple sets are used for 'items created/managed by administrator' and retrieved by listObjects calls. # # # Please note for cursors you may not request more than 30 items at once (i.e. page size is limited to max. 30 items). """ Querying retrieves data (read access). """ type Query { """ simple greeting method to test request validity, syntax or response processing.
Says Hello to whomever you like. """ hello( " whom to greet " name: String ): String """ retrieves a paginated list of orders. """ getOrderList( " language ISO code " lang_code: CountryCodeAlpha2 " order status ID " status: Int " retrieves only orders received after the specified date " newer_from: DateTime " retrieves only orders changed after the specified date " changed_from: DateTime " includes currently blocked orders " include_blocking: Boolean " pagination and filtering parameters " params: OrderParams " bulk order filtering, available only with a partner token " filter: OrderFilter @partnerToken ): OrderList """ retrieve detailed information about specific order. Use '_Order' fragment to retrieve default set of information. """ getOrder( " the order's evidence number " order_num: String! ): Order """ retrieves a list of preinvoices """ getPreinvoiceList( " invoicing company business ID " company_id: ID " pagination and filtering parameters " params: OrderParams " using the bulk pre-invoice filter requires a partner token. " filter: PreinvoiceFilter @partnerToken ): PreinvoiceList """ retrieves a list of invoices """ getInvoiceList( " invoicing company business ID " company_id: ID " pagination and filtering parameters " params: OrderParams " using the bulk invoice filter requires a partner token " filter: InvoiceFilter @partnerToken ): InvoiceList """ retrieves detailed information about a specific invoice """ getInvoice( " invoice number " invoice_num: String! ): Invoice """ retrieves a list of products """ getProductList( " language version for which products are returned " lang_code: CountryCodeAlpha2! " main product category, if this argument is specified, the lang_code parameter will be ignored " category_id: ID " pagination and filtering parameters " params: ProductParams " bulk product filter, available only with a partner token " filter: ProductFilter @partnerToken ): ProductList """ retrieves detailed information about a specific product """ getProduct( " internal product ID " product_id: ID " language code - if omitted, product details of main system language version are provided " lang_code: CountryCodeAlpha2 " import code from supplier or data source " import_code: String " gets product details by EAN " ean: Ean ): Product """ retrieves the XML feed URL containing products and their final prices """ getFeedUrl( # language_code lang_code: CountryCodeAlpha2! # feed type — either 'product' or 'availability' type: FeedType! ): Url """ retrieves detailed information about a specific category """ getCategory( " internal category id " category_id: ID! " filter and pagination parameters for products within this category " productListParams: ProductParams ): Category """ retrieves a list of warehouse items that have had recent stock or blocking changes """ getWarehouseItemsWithRecentStockUpdates( " returns stock items changed since the specified date. " changed_from: DateTime! " filter and pagination parameters " params: WarehouseItemParams ): WarehouseItemList """ retrieves detailed information about a warehouse item. At least one identifier — 'warehouse_number' or 'ean' — must be provided. """ getWarehouseItem( " warehouse item identifier " warehouse_number: WarehouseNumber " EAN code of the warehouse item " ean: Ean ): WarehouseItem """ retrieves detailed content for a specific web page. """ getWebPage( " internal ID " id: ID! ): WebPage """ retrieves a list of all web pages containing a block of the specified type. Note: currently only supports the 'News' block. """ getWebPageListWithBlock( " block type identificator " block_type: ContentBlockType! " pagination and filtering parameters " params: WebPageParams ): WebPageList """ retrieves a list of invoicing companies """ listMyCompanies( " internal ID" id: ID " company name " name: String " company business ID " company_id: String ): [InvoicingCompany] """ retrieves a list of order statuses """ listOrderStatuses( " returns order statuses translated for the specified language version " lang_code: CountryCodeAlpha2, " if true, ignores statuses managed by inactive payment gateways " only_active: Boolean ): [OrderStatus] """ retrieves a list of warehouse statuses """ listWarehouseStatuses( " only statuses for which ordering is allowed " allow_order: Boolean " " pickup: Boolean " language ISO code for localization " lang_code: CountryCodeAlpha2 ): [WarehouseStatus] """ retrieves a list of producers """ listProducers( # search term for filtering producers. search: String ): [Producer]! """ retrieves a list of available shipping methods """ listShippings( " shipping methods available for the specified language version. " lang_code: CountryCodeAlpha2! " returns only active payments " only_active: Boolean ): [Shipping]! """ retrieves a list of available payment methods """ listPayments( " payment methods available for the specified language version. " lang_code: CountryCodeAlpha2! " returns only active payments " only_active: Boolean ): [Payment]! """ retrieves a list of currencies. """ listCurrencies: [Currency]! """ retrieves a list of available language versions. """ listLanguageVersions: [LanguageVersion]! """ retrieves all root-level web pages. """ listRootWebPages: [WebPage!] """ retrieves all root-level product categories. """ listRootCategories: [Category!] } enum NotificationType { # sends e-mail notification to assigned sales person (if there is some) EMAIL_SALESPERSON # sends e-mail notification to website administrator EMAIL_ADMIN # sends e-mail notification to customer's e-mail EMAIL_CUSTOMER # sends e-mail notification to other e-mail. This must be provided with the 'extra' field of NotificationRequest EMAIL_OTHER # calls given URL WEB_HOOK # specific system event observed by custom handlers will be fired. @requires Partner-Token SYSTEM_EVENT # renders notification to system's notification centre - section of system messages - this is visible to all administrators APPTRAY_SYSTEM # renders notification to system's notification centre - section of web-shop messages - this is visible just to specific user (if indicated with the 'extra' field of NotificationRequest) APPTRAY_SHOP } enum NotificationCondition { # sends notification only if it is the first time ever the entity was created and_FIRST_CREATE # sends notification only if the entity was re-created and_RE_CREATE # sends notification only if entity was just created or re-created and_CREATE_OR_EDIT # sends notification only if it has never been sent before and_EMAIL_FIRST_SEND # sends notification only if there has been some change to underlying data and_CHANGED # notification is or is not sent corresponding to current system settings and_SYSTEM_DEFAULT # force sending of notification or_ALWAYS # force silent operation - no notification is sent NONE } input NotificationRequest { if: [NotificationCondition!] type: NotificationType! extra: MessageExtra } input MessageExtra { user_id: ID text: String email: Email url: Url phone: Phone } input WarehouseStatusInput { " internal status ID" id: ID! } """ Accepts data for weight """ input WeightInput { " numerical value " value: Float " currently (kg)" unit: WeightUnit } """ Accepts data for dimension """ input DimensionInput { " numerical value " value: Float " currntly (cm) " unit: DimensionUnit } """ Updates warehouse item - main intended usage is to update its warehouse status or update quantity in stock """ input WarehouseItemInput { " warehouse number identificator " warehouse_number: WarehouseNumber! " EAN identficator " ean: Ean " stock quantity " quantity: Float " weight of item " weight: WeightInput " warehouse status " status: WarehouseStatusInput " item price " price: PriceInput } """ Accepts data for an order item """ input OrderItemInput { " warehouse item identificator " warehouse_number: WarehouseNumber! " product name and variant description " title: String " ordered quantity " quantity: Float " tax rate " tax_rate: Percentage " weight of one unit " weight: WeightInput " product variant identificator " ean: Ean " base price of product " price: PriceInput } """ Accepts data for customer """ input CustomerInput { " customer name " name: String " customer surname " surname: String " contact email " email: Email " contact phone " phone: Phone " legal registration ID " company_id: String " company's name incl. legal form " company_name: String " business VAT identificator " vat_id: String " business VAT identificator " vat_id2: String } """ """ input OrderPriceElementInput { type: PriceElementType! title: String tax_rate: Percentage price: PriceInput reference_id: ID } """ """ input AddressDataInput { # company's name incl. legal form company_name: String # person's name name: String # person's surname surname: String # street name street: String " building ID (descriptive number)" descriptive_number: String " street number (orientation number)" orientation_number: String # name of city/town/municipality city: String # zip code zip: String # state state: String # country country: CountryCodeAlpha2 } """ """ input TaxationInput { # tax rate in percent points tax_rate: Percentage! " tax amount " amount: Float! " taxed amount (base) " tax_base: Float! " currency ISO code " currency_code: CurrencyCode } """ shipment data for order expedition """ input ShipmentInfoInput { # carrier identificator carrier: CarrierIdent! # logistic hub / pickup point destination_point: LogisticPointInput # main shipment tracking number shipment_number: String # shipment status status: ShipmentStatus #parcels: [ParcelInput] # total weight of shipment #weight: Weight } """ the place where the shipment is located or to which it will be delivered """ input LogisticPointInput { " point identificator " branch_id: ID! } """ set of data needed to create a new order """ input OrderInput { # external order number. Used for matching records ext_order_id: String # customer data customer: CustomerInput! # invoice address invoice_address: AddressDataInput! # delivery address delivery_address: AddressDataInput " datetime when the order has been created in source environment " # This does not impact the internal 'pur_date' (creation timestamp), but # is recorded to order's history for reference external_pur_date: DateTime # list of ordered items items: [OrderItemInput!]! # delivery, payment and other order elements price_elements: [OrderPriceElementInput] " initial order status - internal Id " status: Int! note: String " order source e.g. market place identificator - defaults to 'api' " source: String " array of taxation inputs (base, rate, tax amount) " vat_summary: [TaxationInput] " language version internal Id " lang_id: Int! " currency internal Id (not currency code) " currency_id: Int! " final price of order - subject to verification " # If omitted, it is calculated based on 'vat_summary' taxation and/or # sum of ordered items and price elements. # Inconsistencies may result into failed validation (reporting errors and not accepting the input). sum: PriceInput " additional information for shipping e.g. pickup point branch ID " shipments: [ShipmentInfoInput!] # order in One Stop Shop (OSS) mode - defaults to FALSE oss: Boolean # code for country in OSS - defaults to NULL oss_country: CountryCodeAlpha2 # order tax excluded - defaults to FALSE tax_excl: Boolean " reason for tax exemption " # You may use one of predefined constants # # By using one of these constants the tax exemption reason will be replaced with system's default tax sentence # translated to language of order's target language version. # Also, you may provide any other custom text. This text will be used in invoice. tax_excl_reason: String " unique entity identificator - @see SubmissionID " order_submission_id: SubmissionID! } """ Dimensions and weight of a product package """ input PackageInput { # unique identifier of the package id: ID # package length. Longest package dimension length: DimensionInput # package width width: DimensionInput # package height height: DimensionInput # total package weight weight: WeightInput # additional note or description note: String # custom label or name for the package label: String } """ input params for post data of block 'News' """ input NewsPostInput { # main title of the news post title: String # short description or summary short: String # full text or detailed content long: String # display order or sorting position position: Int # defines whether the post is visible visible: Boolean } """ for editing product texts and label """ input ProductInput { # main title of product title: String # full product description long: String # short description without HTML tags short: String # identificator for SEO-friendly URL url_identificator: String # SEO product title for HTML tag TITLE seo_title: String # SEO meta description seo_description: String } """ for editing product category """ input CategoryInput { # main title of category (H1 title) title: String # category introduction text intro: String # category bottom text bottom: String # identificator for SEO-friendly URL url_identificator: String # SEO category title for HTML tag TITLE seo_title: String # SEO meta description seo_description: String } """ General input for defining a page block. Depending on the block type, the data must be provided in the corresponding '{type}Block' field. """ input ContentBlockInput { # internal string type identificator of block type: ContentBlockTypeInput! # required for block type "text" textBlock: TextBlockInput # required for block type "title" titleBlock: TitleBlockInput # list of internal product IDs. Required for block type "productfrom" productfromBlock: [ID!] # list of posts. Required for block type "news" newsBlock: [NewsPostInput!] } """ content data for block 'Text editor' """ input TextBlockInput { " main title " title: String " main text " text: String } """ content data for block 'Title' """ input TitleBlockInput { title: String } input WebPageContentInput { " internal page ID " id: ID " root webpage ID of langauge version or webpage ID " parent_webpage: ID! " title of page " title: String " short text below the title in the search result " description: String " identificator for SEO-friendly URL " url_identificator: String " list of page blocks " blocks: [ContentBlockInput!] } """ set of methods and entities to create and/or modify entities with this API. """ type Mutation { " creates a preinvoice (payment request) for an order " preinvoiceOrder( " the order's reference number for which to create a preinvoice " order_num: String! " allows customizing the default system behavior or sending multiple notifications. " send_notification: [NotificationRequest!] ): Preinvoice " creates a final invoice for the specified preinvoice " finalizeInvoice( " the pre-invoice (payment request) reference number " preinvoice_num: String! " allows customizing the default system behavior or sending multiple notifications. " send_notification: [NotificationRequest!] ): Invoice " sets a new order status for an order " changeOrderStatus( " the order's reference number whose status should be changed." order_num: String! " the system's internal status ID " status_id: Int! " allows customizing the default system behavior or sending multiple notifications. " send_notification: [NotificationRequest!] ): Order " updates the status or quantity of a warehouse item " updateWarehouseItem( " warehouse item identificator " warehouse_item: WarehouseItemInput! # required if multiple language versions exist in the system with currencies using the same ISO code. lang_id: Int " allows customizing the default system behavior or sending multiple notifications. " send_notification: [NotificationRequest!] ): WarehouseItem " creates a new order " newOrder (data: OrderInput!): Order " records a payment for an invoice or preinvoice and creates a receipt " recordPayment( " the payment reference identifier " payment_reference: String! " the reference type, e.g. preinvoice number, invoice number, or variable_symbol " reference_type: PaymentReferenceType! " the payment type identifier " payment_type: PaymentType! " the total amount of the payment " amount: PriceInput! " the date when the payment was made " pay_date: Date! ): Receipt " adds packaging information for a product " addPackage( " internal product ID " product_id: ID! " warehouse item identificator" warehouse_number: WarehouseNumber " package data" package: PackageInput ): Package " delete a product package " deletePackage( " internal package ID " package_id: ID! ): Boolean " updates product package information " updatePackage( " internal package ID " package_id: ID! " package data" package: PackageInput ): Package " create a new post in 'News' block " addNewsPost( " internal 'News' block ID " block_id: ID! " post data " post: NewsPostInput ): NewsPost " deletes a post from 'News' block " deleteNewsPost( " internal post ID " post_id: ID! ): Boolean " updates post data in the 'News' block " updateNewsPost( " internal post ID " post_id: ID! " post data " post: NewsPostInput ): NewsPost " adds an external shipment link and tracking number to the order history. Note: Available only with a partner token " addTrackingUrlForOrder( " order number " order_num: String! " carrier shipment number " shipment_number: String! " external tracking link " tracking_url: Url ): Boolean @partnerToken " adds custom information to the order history. Note: Available only with a partner token " addCustomInfoForOrder( " order number " order_num: String! " text for history event " text: String! ): Boolean @partnerToken " updates product data. Currently only title, short text and long text are supported. Note: Available only with a partner token. " updateProduct( " internal product ID " product_id: ID! " internal language version ID " lang_id: ID! " product data " data: ProductInput ): Product @partnerToken " updates category data. Currently only title, SEO meta data, intro text and bottom text of category. Note: Available only with a partner token. " updateCategory( " internal category ID " category_id: ID! " internal language version ID " lang_id: ID! " category data " data: CategoryInput ): Category @partnerToken " creates or updates page content. The content will be added to the main content box. If the page already exists, the main content will be deleted and replaced with the new content from the 'blocks' parameter if specified. Note: Available only with a partner token." updateContent( " content data with list of blocks " data: WebPageContentInput! ): ID @partnerToken }