Regionale Händler und Erzeuger online
Eigener regionaler Lieferdienst
Deutschlandweite Lieferung

GraphQL

Utilizing this API, a variety of data, such as data on products, vendors, and shipments, can be retrieved. GraphQL is the query language, thus allowing clients to request exactly what they need and nothing else. You can also use our API to make changes, such as confirming orders or setting order tracking numbers. Our API can be explored using the interactive GraphQL Playground, which contains comprehensive and always up-to-date documentation.

The GraphQL API is available at http://www.waellermarkt.de/graphql

You can use our GraphQL API in any application. For many programming languages, there are libraries designed to interact with a GraphQL API, but you can also send requests directly to our API.

For example, the following CURL request retrieves three products. Please replace YOUR_API_ACCESS_KEY with your API access key, as outlined in the next section, or remove the header.

curl 'http://www.waellermarkt.de/graphql' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_API_ACCESS_KEY' \
--request POST \
--data-raw '{"query":"query { products(first: 3) { nodes { name { de } } } }"}'

Authentication

Some data is publicly accessible, such as a vendor's description or a product's price. To access this data, you can use our GraphQL API without authentication. However, if you want to access or mutate data that is not publicly accessible, such as the orders of a vendor or information about vouchers, you need to authenticate yourself.

When using our GraphQL playground, the role and access rights of the user account you're logged in with on the platform are used for authentication.

If you're using the GraphQL API in your own application, you need to first request your API access key by contacting us through your account manager or by sending an email to shop@waellermarkt.de. You can then use this API access key by setting it as a header in each of your GraphQL requests: Authorization: Bearer YOUR_API_ACCESS_KEY

Playground

The GraphQL API can be tested in the Wällermarkt GraphQL Playground. The available data and endpoints vary depending on whether and with which account you are logged in at https://www.waellermarkt.de/.

In the playground, the documentation can be found in the top left corner. Also, you can enable auto-complete by pressing CTRL + Space when writing a query or mutation.

Caution: Despite the name "Playground", you are interacting with the production system. For example, if you confirm an order, it is confirmed for real.

Deprecations

These fields are deprecated and will be removed in the near future:

TypeFieldDeprecation Reason
EventlatitudeReplaced by new field #lat
EventlongitudeReplaced by new field #lng
GrecoweightThis value is deprecated in favor of 'packages.weight'
ProductageRestrictionUse _age_restriction instead, which returns the age as an Integer instead of a String.
TaxonidentifierWill be removed in favor of field `slug`.
UserbillAddressThis field always retuns null and thus will be removed in the future. Use the field billAddress on orders instead.
UsershipAddressThis field always retuns null and thus will be removed in the future. Use the field shipAddress on orders instead.
VendorfacebookLinkWill be removed in favor of field `social_media_links`.
VendorinstagramLinkWill be removed in favor of field `social_media_links`.
VendorownerThis field always retuns null and thus will be removed in the future. Use the field representative instead.
VendorpermalinkWill be removed in favor of field `slug`.
VendortwitterLinkWill be removed in favor of field `social_media_links`.
VendoryoutubeLinkWill be removed in favor of field `social_media_links`.

Order Management via API

Using our API, you can fetch unconfirmed orders, confirm or reject them, set a tracking number, handle returns, etc. Please use an API access key with at least shop manager rights. It is also possible to manage the orders of multiple vendor profiles if you have the necessary rights.

Please note that the following queries are only examples. It's inherent to GraphQL APIs that you can specify the exact data you want. Thus, feel free to add or remove fields in the requests. Please check our documentation in the GraphQL Playground for available fields.

Please make sure you are familiar with our order structure: A customer can place an order. An order can contain "shipments" from multiple vendors. For example, a customer might have had a book from a book store and a laptop from a tech store in their shopping cart during checkout at the same time. In this case, one order with two shipments is created. Each shipment must be confirmed/rejected separately by the respective vendor. A shipment can contain multiple products, named "inventoryUnits". A vendor can confirm some inventoryUnits and reject others in the same shipment. Of course, you only see the shipments of the vendors you manage, i.e., for which you have access rights.

There are four main queries and mutations for managing orders:

Retrieve unconfirmed shipments

Retrieve shipments that still need to be confirmed or rejected.

Query
query {
  shipments(state: unconfirmed) {
    nodes {
      id
      inventoryUnits {
        id
        state
      }
    }
  }
}
Example Response
{
  "data": {
    "shipments": {
      "nodes": [
        {
          "id": "YznzNJYRack",
          "inventoryUnits": [
            {
              "id": "2VLvzrxn1VnrZKIo",
              "state": "unconfirmed"
            }
          ]
        }
      ]
    }
  }
}

Confirm/Reject the ordered products

Use the IDs of the inventoryUnits from the previous query.
isAvailable should be set to true, if the product is available and the vendor wants to confirm it.
isAvailable should be set to false, if the product is sold out or if the vendor doesn't want to confirm it for another reason.

If you have already set the state of an inventoryUnit, for example by confirming it, you must not change it to another state, such as "not available". If you do, the server returns a corresponding error message in the errors field.

As soon as you have confirmed or rejected each inventoryUnit of the shipment, the shipment's state changes from unconfirmed to either declined (if all products have been rejected) or confirmed (if one or more products have been confirmed). This means, as long as you don't confirm or reject each inventoryUnit, the shipment remains "unconfirmed" and is returned as part of the response in the previously shown unconfirmed shipments query.

Mutation
mutation {
  confirmInventoryUnits(
    input: {
      inventoryUnits: [
        { inventoryUnitId: "INVENTORY_UNIT_1_ID", isAvailable: true }
        { inventoryUnitId: "INVENTORY_UNIT_2_ID", isAvailable: false }
        { inventoryUnitId: "INVENTORY_UNIT_3_ID", isAvailable: false }
      ]
    }
  ) {
    inventoryUnits {
      id
      state
    }
    errors {
      id
      code
      message
    }
  }
}
Example Response
{
  "data": {
    "confirmInventoryUnits": {
      "inventoryUnits": [
        {
          "id": "INVENTORY_UNIT_1_ID",
          "state": "confirmed_available"
        },
        {
          "id": "INVENTORY_UNIT_2_ID",
          "state": "confirmed_unavailable"
        }
      ],
      "errors": [
        {
          "id": "INVENTORY_UNIT_3_ID",
          "code": "record_invalid",
          "message": "Status ungültiger Statuswechsel"
        }
      ]
    }
  }
}

Handle customer returns

Use this mutation when a customer has returned an item. Using this mutation causes money to be refunded to the customer. Thus, you should only call this mutation when you received the returned item and not before.

Errors are returned, for example, when you try to return an item that was declined in the shipment confirmation step in the previous query, or when the conditions for a return are not or no longer given, such as when the return period has expired.

Mutation
mutation {
  returnInventoryUnits(
    input: {
      inventoryUnits: [
        { inventoryUnitId: "INVENTORY_UNIT_1_ID" },
        { inventoryUnitId: "INVENTORY_UNIT_1_ID" }
      ]
    }
  ) {
    inventoryUnits {
      state
      id
    }
    errors {
      code
      id
    }
  }
}
Example Response
{
  "data": {
    "returnInventoryUnits": {
      "inventoryUnits": [
        {
          "id": "INVENTORY_UNIT_1_ID",
          "state": "returned"
        }
      ],
      "errors": [
        {
          "id": "INVENTORY_UNIT_2_ID",
          "code": "record_invalid"
        }
      ]
    }
  }
}

Set a tracking number

This mutation is used to add the tracking number to the shipment. The required shipment ID can be queried via the shipments query.

Ideally, this is done before confirming the inventory units, so the tracking number can already be included in the confirmation mail to the customer. However, it's also possible to set a tracking number after the shipment has already been confirmed - in that case, the customer receives an additional email with the tracking information.

Please provide the service you're using for shipping the parcels for THE_SHIPPING_PROVIDER. The currently supported providers (e.g., DHL, GLS, Fedex) are available under TrackingProviderEnum.

Mutation
mutation {
  setShipmentTracking(
    input: { code: "THE_SHIPMENT_TRACKING_CODE", provider: THE_SHIPPING_PROVIDER,
             shipmentId: "SHIPMENT_ID" }
  ) {
    shipment {
      tracking {
        code
        provider
      }
    }
    errors {
      code
      message
    }
  }
}
Example Response
{
  "data": {
    "returnInventoryUnits": {
      "inventoryUnits": [
        {
          "id": "INVENTORY_UNIT_1_ID",
          "state": "returned"
        }
      ],
      "errors": [
        {
          "id": "INVENTORY_UNIT_2_ID",
          "code": "record_invalid"
        }
      ]
    }
  }
}

Event System

To subscribe to our event system, please email us at shop@waellermarkt.de.

Structure

All events have the following structure:

{
  "Type" : "Notification",
  "MessageId" : "XXX",
  "TopicArn" : "arn:aws:sns:eu-central-1:XXX:events",
  "Message" : "{\"id\":\"XXX\",\"type\":\"XXX\",\"payload\":{...}}",
  "Timestamp" : "2019-01-01T00:00:00.000Z",
  "SignatureVersion" : "1",
  "Signature" : "XXX",
  "SigningCertURL" : "https://sns.eu-central-1.amazonaws.com/xxx",
  "UnsubscribeURL" : "https://sns.eu-central-1.amazonaws.com/xxx"
}

The "Message" attribute always contains the following attributes:

  • id
  • type
  • payload

Message

id

Hash ID of the event

type

Type of event. Possible values are:

  • ShipmentConfirmed
  • ShipmentRefundCreated
  • UserAnonymized
  • UserCreated
  • UserDestroyed
  • UserUpdated
  • VariantWithPriceCrossedCreated
  • VariantWithPriceCrossedUpdated
  • VendorCategoryCreated
  • VendorCategoryDestroyed
  • VendorCategoryUpdated
  • VendorCreated
  • VendorDestroyed
  • VendorUpdated

payload

Contains further information and references to the object that triggered the event. The structure of this attribute depends on the type. The following is a list of structures per type:


ShipmentConfirmed
AttributeTypeDescriptionMandatory
idStringID of shipmentYes

ShipmentRefundCreated
AttributeTypeDescriptionMandatory
idStringID of refundYes

UserAnonymized
AttributeTypeDescriptionMandatory
idStringID of userYes

UserCreated
AttributeTypeDescriptionMandatory
idStringID of userYes

UserDestroyed
AttributeTypeDescriptionMandatory
idStringID of userYes

UserUpdated
AttributeTypeDescriptionMandatory
idStringID of userYes

VariantWithPriceCrossedCreated
AttributeTypeDescriptionMandatory
idStringID of variantYes
productIdStringID of variant's productYes

VariantWithPriceCrossedUpdated
AttributeTypeDescriptionMandatory
idStringID of variantYes
productIdStringID of variant's productYes

VendorCategoryCreated
AttributeTypeDescriptionMandatory
idStringID of vendor categoryYes

VendorCategoryDestroyed
AttributeTypeDescriptionMandatory
idStringID of vendor categoryYes

VendorCategoryUpdated
AttributeTypeDescriptionMandatory
idStringID of vendor categoryYes

VendorCreated
AttributeTypeDescriptionMandatory
idStringID of vendorYes

VendorDestroyed
AttributeTypeDescriptionMandatory
idStringID of vendorYes

VendorUpdated
AttributeTypeDescriptionMandatory
idStringID of vendorYes

API Feed


The following table gives you an overview of the mandatory and optional attributes, as well as the according data type and an example.
attributedata typemandatorydefault valuedescriptionexample
adultstring (accepted values: "true", "false", "yes", "no", "ja", "wahr", "nein", "falsch", "oui", "vrai", "non", "faux")noFlags products which can only be delivered to people who are at least 18 years old.true
age_groupstring (accepted values: adult,kids,toddler,infant,newborn)(yes)falseMandatory for products in the categories fashion and accessoires..newborn
atalanda:additional_product_type_1stringnoProvide your categories in this field. If they are not compliant with the atalanda categories, you can do the mapping in the atalanda backend. If you want to use atalanda categories right away, you can find the list of categories here.Schmuck > Ringe
atalanda:additional_product_type_2stringnoProvide your categories in this field. If they are not compliant with the atalanda categories, you can do the mapping in the atalanda backend. If you want to use atalanda categories right away, you can find the list of categories here.Schmuck > Ringe
atalanda:additional_product_type_3stringnoProvide your categories in this field. If they are not compliant with the atalanda categories, you can do the mapping in the atalanda backend. If you want to use atalanda categories right away, you can find the list of categories here.Schmuck > Ringe
atalanda:boost_sortfloat (accepted values: 0.0 - 10.0)noDetermines the order of products on the shop detail page and in category searches. Products with high values (e.g. 10.0) are displayed first, products with lower values behind. Please balance values carefully (all products better than 7 is not allowed).5.0
atalanda:delivery_methodstring (accepted values: nationwide, package_delivery, self_collect)nopackage_deliveryDetermines if a product is delivered nationwide, only within the city or if the customer can only collect the product in the store.
  1. nationwide automatically includes package_delivery and self_collect.
  2. nationwide
  3. To explicitly choose between the methods, the values have to be followed by commas.
  4. nationwide,self_collect,
atalanda:ingredientstextnoProvide the ingredients of the product in this field. You can pass the description either in plain text format or include permitted HTML tags.salt, orange, cranberries, sugar, lemon, juniper, fennel, ginger, chili, cumin
atalanda:nutrien_contents
atalanda:preorder_daysIntegerno0Pre-order time of the item.42
atalanda:propertiesStringnoAdditional properties for a product or a variant. Multiple properties can be separated by commas.
You can also pass special control properties, which change how the product is displayed or processed. Following control properties are available for general use:
  • _on_inquiry=true: Product is only available on request. Instead of an "Add to cart" button, a "Send Inquiry" button is displayed.
  • _ai_description=true/false: If set to true, the description of the product is generated by an AI. Any description provided in the feed will be ignored. If set to false, no description will be generated by an AI.
    If this property is set, it always has precedence over any other AI description settings.
    Please note: This property is only available with the AI description feature enabled on the platform.
Author=Dan Brown
Author=Darwin,Release year=2015
_ai_description=true,Author=Darwin
atalanda:tax_ratefloat (accepted values in Germany: 0, 7, 19, in Swiss: 0, 2.5, 3.8, 8.5, in Austria: 0, 10, 13, 20)yesVAT of article in percent.19
availabilitystring (accepted values: in stock, auf Lager, out of stock, en stock and nicht auf Lager)yesTells atalanda if product is available. Products marked with "out of stock" / "nicht auf Lager" will not be displayed for customers.in stock
availability_date
brandstringnobrand of the product.Swarovski
colorstring(yes)If item_group_id is set, you also have to set color and / or size.red
descriptiontextyesDescription of the product - provide as many details as possible. You can pass the description either as plain text format or with allowed HTML-Tags.Wedding ring in silver, surface opal with 6 x 0.018 diamonds, width: 5.9 mm, height: 1.7 mm
energy_efficiency_classstring(yes)The energy efficiency class of a product.

For usage in combination with min_energy_efficiency_class and max_energy_efficiency_class to create an energy efficiency label, e.g. A+ (A+++ to D).

If energy_efficiency_class is set, you also need to providemin_energy_efficiency_class and max_energy_efficiency_class.
permitted values:
  • A+++
  • A++
  • A+
  • A
  • B
  • C
  • D
  • E
  • F
  • G
genderstring (accepted values: female, male, unisex)(yes)Mandatory for products in the categories fashion and accessoires.female
gtinstring(yes)Global Trade Item Number (GTIN) is an unique identifier for trade items. If not set, identifier_exists must contain the value false. For checking if a gtin is valid, you can use http://www.gtin.info/check-digit-calculator/ (in German).4012345678901
idstringyesUnique id within this data feed. May not be longer than 255 characters.1000
identifier_existsboolean(yes)trueIf gtin is not set, this attributes needs to have false as value.true
item_group_idstringnoYou can set item_group_id in order to group different variants of a product to one product. If item_group_id is set, you also have to set color and / or size.109873423
max_energy_efficiency_classString(yes)The maximum energy efficiency class of a product

To be used in combination with min_energy_efficiency_class and energy_efficiency_class to create an energy efficiency label, for example, A+ (A+++ to D).

If max_energy_efficiency_class is set, min_energy_efficiency_class and energy_efficiency_class have to be set as well.
min_energy_efficiency_classString(yes)The minimum energy efficiency class of a product.

To be used in combination with max_energy_efficiency_class and energy_efficiency_class to create an energy efficiency label, for example, A+ (A+++ to D).

If min_energy_efficiency_class is set, max_energy_efficiency_class and energy_efficiency_class have to be set as well.
mpnstringnoA part number (often abbreviated PN, P/N, part no., or part #) is an identifier of a particular part design used in a particular industry. Its purpose is to simplify reference to that part. A part number unambiguously identifies a part design within a single corporation, and sometimes across several corporations.HSC0424PP
pricefloatyesPrice in local currency, gross, VAT included. If you want to display a sales price, keep the normal price in this field and use the sale_price attribute for the lower price.99.00
product_typestringyesProvide your categories in this field. If they are not compliant with the atalanda categories, you can do the mapping in the atalanda backend. If you want to use atalanda categories right away, you can find the list of categories here.Jewellery > Rings
google_product_categorystringyesProvide your categories in this field. If they are not compliant with the atalanda categories, you can do the mapping in the atalanda backend. If you want to use atalanda categories right away, you can find the list of categories here.Jewellery > Rings
quantity oder g:quantity oder atalanda:quantityinteger(yes)Number of products available in store. If the number is smaller than 5 an according message is shown to the customer. If the number is 0 or negative, the product cannot be seen by the customer anymore. If you provide an empty value, atalanda interprets this as "unlimited available".3
sale_pricefloatnoSales price in local currency, gross, VAT included. Has to be lower than price. Is displayed highlighted, the price will be shown crossed out.79.00
size
titlestringyesTitle of the product. Should not be longer than 140 characters because of SEO reasons.Wedding ring silver model R305
unit_pricing_base_measurestring (accepted values: mg, g, kg, ml, cl, l, cbm, cm, m, qm, sqm, items, stck, stück, rolle, packung, blatt, bogen, st, ro, pa, bl, bg, stk, pair, pairs, Paar, Paare, paire, paires)noTells atalanda the value to which the basic price has to be calculated. Must be provided with the same unit as unit_pricing_measure.1kg, 1l
unit_pricing_measurenoTells atalanda the measure or dimension of the given product. Must be provided with the same unit as unit_pricing_base_measure.0.5kg, 0.75l
atalanda:servicesstring (accepted values: depending on platform configuration)noEnter the unique identifier of the service here. Services and their identifiers are managed by us. Contact us if you would like to configure services (such as a gift wrapping service) for selected products.free_gift_wrapping, free_weee_take_back
  • The columns google_product_category, product_type, atalanda:additional_product_type_1, atalanda:additional_product_type_2 und atalanda:additional_product_type_3 contains one of your categories. For mapping these to the atalanda categories, please visit https://atalanda.com/admin and select Mappings under the menu-item "API". Alternatively you can directly provide atalanda categories.
  • For using variants, please add an unique group-id, identifiying this product, to the item_group_id column (all variants of a product must have the same group ID). An example for such a product would be a ring made of silver or gold and offered in various sizes. Examples of a product with variants can be found here: XML-Format, CSV-Format.
  • For products with the category clothes, or any of its sub-categories, the fields age_group and gender need to be set. A list of valid values can be found here: https://support.google.com/merchants/answer/188494?hl=en.
Allowed HTML-Tagsusageexample
<a href=""><a href="https://example.com/wedding_rings/101>wedding ring 101</a>wedding ring 101
<b>, <strong><b>wedding rings</b>, <strong>wedding rings</strong>wedding rings
<u><u>matt</u>matt
<br>silver wedding rings, matt surface <br> with 6 x 0.018 diamonds.silver wedding rings, matt surface
with 6 x 0.018 diamonds.
<em><em>Silver</em>Silver
<p><p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr.</p> <p>At vero eos et accusam et justo duo dolores et ea rebum.</p>

Lorem ipsum dolor sit amet, consetetur sadipscing elitr.

At vero eos et accusam et justo duo dolores et ea rebum.

<ul>, <li><ul>
   <li>6 x 0.018 diamonds</li>
   <li>width: 5.9 mm</li>
   <li>height: 1.7 mm</li>
</ul>
  • 6 x 0.018 diamonds
  • width: 5.9 mm
  • height: 1.7 mm
<table>, <thead>, <tbody>, <tr>, <th>, <td><table>
   <thead>
     <tr>
       <th>Year of publication</th>
       <th>Color</th>
     </tr>
   </thead>
   <tbody>
     <tr>
       <td>1955</th>
       <td>blue</th>
     </tr>
     <tr>
       <td>1963</th>
       <td>green</th>
     </tr>
   </tbody>
</table>


Year of publication Color
1955 blue
1963 green

It is not a problem if categories in your web shop deviate from ours. You can export your products with your category names. We can set up an assignment table in our system for this purpose. This assignment table defines for each of your category names, that does not match our category names 1:1, in which of our categories your product should be classified. Just contact us at service@atalanda.com


Data can also be provided in CSV format. Please refer to https://support.google.com/merchants/answer/188494?hl=en

Below are examples of how to structure a CSV file with products.

Please use UTF-8 encoding consistently for all fields.

The first line contains the column name. As delimiter either a tab (\t), a comma (,) or a semicolon (;) can be used. In the following examples commas were used as delimiters.All other lines represent a single product or a variant of a product.

A Product without Variants

id,title,price,description,product_type,availability,image_link,identifier_exists,atalanda:tax_rate,atalanda:quantity,sale_price,atalanda:preorder_days,google_product_category,atalanda:additional_product_type_1,brand,gtin,color,size,gender,age_group,atalanda:boost_sort,atalanda:delivery_method,link,additional_image_link
13056,'Ehering',119.99,'Beschreibung','Bekleidung & Accessoires > Schmuck > Ringe','in stock','http://ihre-domain.de/wedding_ring.jpg',false,19,10,99.99,1,'Bekleidung & Accessoires > Schmuck > Ringe','Gesundheit & Schönheit','atalanda',4012345678901,'Silver','52','female','adult',5.5,'nationwide','http://www.test-shop.de/product/13056','http://ihre-domain.de/wedding_ring_2.jpg'

A Product with Variants

id,title,price,description,product_type,availability,image_link,identifier_exists,atalanda:tax_rate,atalanda:quantity,sale_price,atalanda:preorder_days,google_product_category,atalanda:additional_product_type_1,brand,gtin,color,size,gender,age_group,atalanda:boost_sort,atalanda:delivery_method,item_group_id,link,additional_image_link
13057,'Ehering',119.99,'Beschreibung','Bekleidung & Accessoires > Schmuck > Ringe','in stock','http://ihre-domain.de/wedding_ring.jpg',false,19,10,99.99,1,'Bekleidung & Accessoires > Schmuck > Ringe','Gesundheit & Schönheit','atalanda',4012345678902,'Silver','50','female','adult',5.5,'nationwide',101,'http://www.test-shop.de/product/13057','http://ihre-domain.de/wedding_ring_2.jpg'
13058,'Ehering',119.99,'Beschreibung','Bekleidung & Accessoires > Schmuck > Ringe','in stock','http://ihre-domain.de/wedding_ring.jpg',false,19,10,99.99,1,'Bekleidung & Accessoires > Schmuck > Ringe','Gesundheit & Schönheit','atalanda',4012345678903,'Silver','52','female','adult',5.5,'nationwide',101,'http://www.test-shop.de/product/13058','http://ihre-domain.de/wedding_ring_2.jpg'

Two Products with Variants

id,title,price,description,product_type,availability,image_link,identifier_exists,atalanda:tax_rate,atalanda:quantity,sale_price,atalanda:preorder_days,google_product_category,atalanda:additional_product_type_1,brand,gtin,color,size,gender,age_group,atalanda:boost_sort,atalanda:delivery_method,item_group_id,link,additional_image_link
13057,'Ehering Silver',119.99,'Beschreibung','Bekleidung & Accessoires > Schmuck > Ringe','in stock','http://ihre-domain.de/wedding_ring_silver.jpg',false,19,10,99.99,1,'Bekleidung & Accessoires > Schmuck > Ringe','Gesundheit & Schönheit','atalanda',4012345678904,'Silver','50','female','adult',5.5,'nationwide',101,'http://www.test-shop.de/product/13057','http://ihre-domain.de/wedding_ring_silver_2.jpg'
13058,'Ehering Silver',119.99,'Beschreibung','Bekleidung & Accessoires > Schmuck > Ringe','in stock','http://ihre-domain.de/wedding_ring_silver.jpg',false,19,10,99.99,1,'Bekleidung & Accessoires > Schmuck > Ringe','Gesundheit & Schönheit','atalanda',4012345678905,'Silver','52','female','adult',5.5,'nationwide',101,'http://www.test-shop.de/product/13058','http://ihre-domain.de/wedding_ring_silver_2.jpg'
13059,'Ehering Gold',219.99,'Beschreibung','Bekleidung & Accessoires > Schmuck > Ringe','in stock','http://ihre-domain.de/wedding_ring_gold.jpg',false,19,10,199.99,1,'Bekleidung & Accessoires > Schmuck > Ringe','Gesundheit & Schönheit','atalanda',4012345678906,'Gold','50','female','adult',5.5,'nationwide',102,'http://www.test-shop.de/product/13059','http://ihre-domain.de/wedding_ring_gold_2.jpg'
13060,'Ehering Gold',219.99,'Beschreibung','Bekleidung & Accessoires > Schmuck > Ringe','in stock','http://ihre-domain.de/wedding_ring_gold.jpg',false,19,10,199.99,1,'Bekleidung & Accessoires > Schmuck > Ringe','Gesundheit & Schönheit','atalanda',4012345678907,'Gold','52','female','adult',5.5,'nationwide',102,'http://www.test-shop.de/product/13060','http://ihre-domain.de/wedding_ring_gold_2.jpg'

Our format is based on the Google Shopping XML Product Feed , which is described here https://support.google.com/merchants/answer/188494?hl=en

Below are examples of how the feed and its products must be constructed. The content of elements that may contain special characters should always be enclosed in blocks. Alternatively, the content can also be encoded in HTML entities.

The character set UTF-8 must be used constantly!

Products


A Product without Variants

<rss xmlns:atalanda='http://api.atalanda.com/ns/gfeed' xmlns:g='http://base.google.com/ns/1.0' xmlns:atom='http://www.w3.org/2005/Atom' version='2.0'>
    <channel>
      <atom:link href='http://www.schuh-auftritt.de/atalanda/atalanda.xml' rel='self' type='application/rss+xml'/>
      <title><![CDATA[juwelier-xy.de - Schmuck für jeden Anlass. Ihr Fachgeschäft in XY]]></title>
      <item>
        <g:id>13056</g:id>
        <title>Ehering</title>
        <g:price>119.99</g:price>
        <description>Beschreibung</description>
        <g:product_type><![CDATA[Bekleidung & Accessoires > Schmuck > Ringe]]></g:product_type>
        <g:google_product_category><![CDATA[Bekleidung & Accessoires > Schmuck > Ringe]]></g:google_product_category>
        <atalanda:additional_product_type_1><![CDATA[Gesundheit & Schönheit]]></atalanda:additional_product_type_1>
        <g:availability>in stock</g:availability>
        <g:image_link><![CDATA[http://ihre-domain.de/wedding_ring.jpg]]></g:image_link>
        <g:identifier_exists>FALSE</g:identifier_exists>
        <atalanda:tax_rate>19</atalanda:tax_rate>
        <atalanda:quantity>10</atalanda:quantity>
        <g:sale_price>99.99</g:sale_price>
        <atalanda:preorder_days>1</atalanda:preorder_days>
        <g:brand>atalanda</g:brand>
        <g:gtin>4012345678901</g:gtin>
        <atalanda:options>
          <atalanda:option>
            <atalanda:key><![CDATA[Farbe]]></atalanda:key>
            <atalanda:value><![CDATA[Silver]]></atalanda:value>
          </atalanda:option>
          <atalanda:option>
            <atalanda:key><![CDATA[Größe]]></atalanda:key>
            <atalanda:value>52</atalanda:value>
          </atalanda:option>
        </atalanda:options>
        <g:gender>female</g:gender>
        <g:age_group>adult</g:age_group>
        <atalanda:boost_sort>5.5</atalanda:boost_sort>
        <atalanda:delivery_method>nationwide</atalanda:delivery_method>
        <link><![CDATA[http://www.test-shop.de/product/13056]]></link>
        <g:additional_image_link><![CDATA[http://ihre-domain.de/wedding_ring_2.jpg]]></g:additional_image_link>
      </item>
    </channel>
  </rss>

A Product with Variants

<rss xmlns:atalanda='http://api.atalanda.com/ns/gfeed' xmlns:g='http://base.google.com/ns/1.0' xmlns:atom='http://www.w3.org/2005/Atom' version='2.0'>
  <channel>
    <atom:link href='http://www.schuh-auftritt.de/atalanda/atalanda.xml' rel='self' type='application/rss+xml'/>
    <title><![CDATA[juwelier-xy.de - Schmuck für jeden Anlass. Ihr Fachgeschäft in XY]]></title>
    <item>
      <g:id>13057</g:id>
      <title>Ehering</title>
      <g:price>119.99</g:price>
      <description>Beschreibung</description>
      <g:product_type><![CDATA[Bekleidung & Accessoires > Schmuck > Ringe]]></g:product_type>
      <g:google_product_category><![CDATA[Bekleidung & Accessoires > Schmuck > Ringe]]></g:google_product_category>
      <atalanda:additional_product_type_1><![CDATA[Gesundheit & Schönheit]]></atalanda:additional_product_type_1>
      <g:availability>in stock</g:availability>
      <g:image_link><![CDATA[http://ihre-domain.de/wedding_ring.jpg]]></g:image_link>
      <g:identifier_exists>FALSE</g:identifier_exists>
      <atalanda:tax_rate>19</atalanda:tax_rate>
      <atalanda:quantity>10</atalanda:quantity>
      <g:sale_price>99.99</g:sale_price>
      <atalanda:preorder_days>1</atalanda:preorder_days>
      <g:brand>atalanda</g:brand>
      <g:gtin>4012345678902</g:gtin>
      <atalanda:options>
        <atalanda:option>
          <atalanda:key><![CDATA[Farbe]]></atalanda:key>
          <atalanda:value><![CDATA[Silver]]></atalanda:value>
        </atalanda:option>
        <atalanda:option>
          <atalanda:key><![CDATA[Größe]]></atalanda:key>
          <atalanda:value>52</atalanda:value>
        </atalanda:option>
      </atalanda:options>
      <g:gender>female</g:gender>
      <g:age_group>adult</g:age_group>
      <atalanda:boost_sort>5.5</atalanda:boost_sort>
      <atalanda:delivery_method>nationwide</atalanda:delivery_method>
      <g:item_group_id>101</g:item_group_id>
      <link><![CDATA[http://www.test-shop.de/product/13057]]></link>
      <g:additional_image_link><![CDATA[http://ihre-domain.de/wedding_ring_2.jpg]]></g:additional_image_link>
    </item>
    <item>
      <g:id>13058</g:id>
      <title>Ehering</title>
      <g:price>119.99</g:price>
      <description>Beschreibung</description>
      <g:product_type><![CDATA[Bekleidung & Accessoires > Schmuck > Ringe]]></g:product_type>
      <g:google_product_category><![CDATA[Bekleidung & Accessoires > Schmuck > Ringe]]></g:google_product_category>
      <atalanda:additional_product_type_1><![CDATA[Gesundheit & Schönheit]]></atalanda:additional_product_type_1>
      <g:availability>in stock</g:availability>
      <g:image_link><![CDATA[http://ihre-domain.de/wedding_ring.jpg]]></g:image_link>
      <g:identifier_exists>FALSE</g:identifier_exists>
      <atalanda:tax_rate>19</atalanda:tax_rate>
      <atalanda:quantity>10</atalanda:quantity>
      <g:sale_price>99.99</g:sale_price>
      <atalanda:preorder_days>1</atalanda:preorder_days>
      <g:brand>atalanda</g:brand>
      <g:gtin>4012345678903</g:gtin>
      <atalanda:options>
        <atalanda:option>
          <atalanda:key><![CDATA[Farbe]]></atalanda:key>
          <atalanda:value><![CDATA[Silver]]></atalanda:value>
        </atalanda:option>
        <atalanda:option>
          <atalanda:key><![CDATA[Größe]]></atalanda:key>
          <atalanda:value>52</atalanda:value>
        </atalanda:option>
      </atalanda:options>
      <g:gender>female</g:gender>
      <g:age_group>adult</g:age_group>
      <atalanda:boost_sort>5.5</atalanda:boost_sort>
      <atalanda:delivery_method>nationwide</atalanda:delivery_method>
      <g:item_group_id>101</g:item_group_id>
      <link><![CDATA[http://www.test-shop.de/product/13058]]></link>
      <g:additional_image_link><![CDATA[http://ihre-domain.de/wedding_ring_2.jpg]]></g:additional_image_link>
    </item>
  </channel>
</rss>

Two Products with Variants

<rss xmlns:atalanda='http://api.atalanda.com/ns/gfeed' xmlns:g='http://base.google.com/ns/1.0' xmlns:atom='http://www.w3.org/2005/Atom' version='2.0'>
  <channel>
    <atom:link href='http://www.schuh-auftritt.de/atalanda/atalanda.xml' rel='self' type='application/rss+xml'/>
    <title><![CDATA[juwelier-xy.de - Schmuck für jeden Anlass. Ihr Fachgeschäft in XY]]></title>
    <item>
      <g:id>13057</g:id>
      <title>Ehering Silver</title>
      <g:price>119.99</g:price>
      <description>Beschreibung</description>
      <g:product_type><![CDATA[Bekleidung & Accessoires > Schmuck > Ringe]]></g:product_type>
      <g:google_product_category><![CDATA[Bekleidung & Accessoires > Schmuck > Ringe]]></g:google_product_category>
      <atalanda:additional_product_type_1><![CDATA[Gesundheit & Schönheit]]></atalanda:additional_product_type_1>
      <g:availability>in stock</g:availability>
      <g:image_link><![CDATA[http://ihre-domain.de/wedding_ring.jpg]]></g:image_link>
      <g:identifier_exists>FALSE</g:identifier_exists>
      <atalanda:tax_rate>19</atalanda:tax_rate>
      <atalanda:quantity>10</atalanda:quantity>
      <g:sale_price>99.99</g:sale_price>
      <atalanda:preorder_days>1</atalanda:preorder_days>
      <g:brand>atalanda</g:brand>
      <g:gtin>4012345678904</g:gtin>
      <atalanda:options>
        <atalanda:option>
          <atalanda:key><![CDATA[Farbe]]></atalanda:key>
          <atalanda:value><![CDATA[Silver]]></atalanda:value>
        </atalanda:option>
        <atalanda:option>
          <atalanda:key><![CDATA[Größe]]></atalanda:key>
          <atalanda:value>52</atalanda:value>
        </atalanda:option>
      </atalanda:options>
      <g:gender>female</g:gender>
      <g:age_group>adult</g:age_group>
      <atalanda:boost_sort>5.5</atalanda:boost_sort>
      <atalanda:delivery_method>nationwide</atalanda:delivery_method>
      <g:item_group_id>101</g:item_group_id>
      <link><![CDATA[http://www.test-shop.de/product/13057]]></link>
      <g:additional_image_link><![CDATA[http://ihre-domain.de/wedding_ring_silver_2.jpg]]></g:additional_image_link>
    </item>
    <item>
      <g:id>13058</g:id>
      <title>Ehering Silver</title>
      <g:price>119.99</g:price>
      <description>Beschreibung</description>
      <g:product_type><![CDATA[Bekleidung & Accessoires > Schmuck > Ringe]]></g:product_type>
      <g:google_product_category><![CDATA[Bekleidung & Accessoires > Schmuck > Ringe]]></g:google_product_category>
      <atalanda:additional_product_type_1><![CDATA[Gesundheit & Schönheit]]></atalanda:additional_product_type_1>
      <g:availability>in stock</g:availability>
      <g:image_link><![CDATA[http://ihre-domain.de/wedding_ring.jpg]]></g:image_link>
      <g:identifier_exists>FALSE</g:identifier_exists>
      <atalanda:tax_rate>19</atalanda:tax_rate>
      <atalanda:quantity>10</atalanda:quantity>
      <g:sale_price>99.99</g:sale_price>
      <atalanda:preorder_days>1</atalanda:preorder_days>
      <g:brand>atalanda</g:brand>
      <g:gtin>4012345678905</g:gtin>
      <atalanda:options>
        <atalanda:option>
          <atalanda:key><![CDATA[Farbe]]></atalanda:key>
          <atalanda:value><![CDATA[Silver]]></atalanda:value>
        </atalanda:option>
        <atalanda:option>
          <atalanda:key><![CDATA[Größe]]></atalanda:key>
          <atalanda:value>52</atalanda:value>
        </atalanda:option>
      </atalanda:options>
      <g:gender>female</g:gender>
      <g:age_group>adult</g:age_group>
      <atalanda:boost_sort>5.5</atalanda:boost_sort>
      <atalanda:delivery_method>nationwide</atalanda:delivery_method>
      <g:item_group_id>101</g:item_group_id>
      <link><![CDATA[http://www.test-shop.de/product/13058]]></link>
      <g:additional_image_link><![CDATA[http://ihre-domain.de/wedding_ring_silver_2.jpg]]></g:additional_image_link>
    </item>
    <item>
      <g:id>13059</g:id>
      <title>Ehering Gold</title>
      <g:price>219.99</g:price>
      <description>Beschreibung</description>
      <g:product_type><![CDATA[Bekleidung & Accessoires > Schmuck > Ringe]]></g:product_type>
      <g:google_product_category><![CDATA[Bekleidung & Accessoires > Schmuck > Ringe]]></g:google_product_category>
      <atalanda:additional_product_type_1><![CDATA[Gesundheit & Schönheit]]></atalanda:additional_product_type_1>
      <g:availability>in stock</g:availability>
      <g:image_link><![CDATA[http://ihre-domain.de/wedding_ring.jpg]]></g:image_link>
      <g:identifier_exists>FALSE</g:identifier_exists>
      <atalanda:tax_rate>19</atalanda:tax_rate>
      <atalanda:quantity>10</atalanda:quantity>
      <g:sale_price>199.99</g:sale_price>
      <atalanda:preorder_days>1</atalanda:preorder_days>
      <g:brand>atalanda</g:brand>
      <g:gtin>4012345678906</g:gtin>
      <atalanda:options>
        <atalanda:option>
          <atalanda:key><![CDATA[Farbe]]></atalanda:key>
          <atalanda:value><![CDATA[Gold]]></atalanda:value>
        </atalanda:option>
        <atalanda:option>
          <atalanda:key><![CDATA[Größe]]></atalanda:key>
          <atalanda:value>52</atalanda:value>
        </atalanda:option>
      </atalanda:options>
      <g:gender>female</g:gender>
      <g:age_group>adult</g:age_group>
      <atalanda:boost_sort>5.5</atalanda:boost_sort>
      <atalanda:delivery_method>nationwide</atalanda:delivery_method>
      <g:item_group_id>102</g:item_group_id>
      <link><![CDATA[http://www.test-shop.de/product/13059]]></link>
      <g:additional_image_link><![CDATA[http://ihre-domain.de/wedding_ring_gold_2.jpg]]></g:additional_image_link>
    </item>
    <item>
      <g:id>13060</g:id>
      <title>Ehering Gold</title>
      <g:price>219.99</g:price>
      <description>Beschreibung</description>
      <g:product_type><![CDATA[Bekleidung & Accessoires > Schmuck > Ringe]]></g:product_type>
      <g:google_product_category><![CDATA[Bekleidung & Accessoires > Schmuck > Ringe]]></g:google_product_category>
      <atalanda:additional_product_type_1><![CDATA[Gesundheit & Schönheit]]></atalanda:additional_product_type_1>
      <g:availability>in stock</g:availability>
      <g:image_link><![CDATA[http://ihre-domain.de/wedding_ring.jpg]]></g:image_link>
      <g:identifier_exists>FALSE</g:identifier_exists>
      <atalanda:tax_rate>19</atalanda:tax_rate>
      <atalanda:quantity>10</atalanda:quantity>
      <g:sale_price>199.99</g:sale_price>
      <atalanda:preorder_days>1</atalanda:preorder_days>
      <g:brand>atalanda</g:brand>
      <g:gtin>4012345678907</g:gtin>
      <atalanda:options>
        <atalanda:option>
          <atalanda:key><![CDATA[Farbe]]></atalanda:key>
          <atalanda:value><![CDATA[Gold]]></atalanda:value>
        </atalanda:option>
        <atalanda:option>
          <atalanda:key><![CDATA[Größe]]></atalanda:key>
          <atalanda:value>52</atalanda:value>
        </atalanda:option>
      </atalanda:options>
      <g:gender>female</g:gender>
      <g:age_group>adult</g:age_group>
      <atalanda:boost_sort>5.5</atalanda:boost_sort>
      <atalanda:delivery_method>nationwide</atalanda:delivery_method>
      <g:item_group_id>102</g:item_group_id>
      <link><![CDATA[http://www.test-shop.de/product/13060]]></link>
      <g:additional_image_link><![CDATA[http://ihre-domain.de/wedding_ring_gold_2.jpg]]></g:additional_image_link>
    </item>
  </channel>
</rss>

Please notice...


  • Clothing still requires the elements <g:gender> and <g:age_group>. The size of garments must be described using the element <atalanda:options>. Elements such as <g:color> will not apply to us as they are represented by <atalanda:options> and can therefore be omitted.

  • Products from 18 years (U-certificate) must contain the element <g:adult>TRUE</g:adult>

    Products from 16 years need to use the <g:adult>16</g:adult> (not Google-Standard), or <g:adult>TRUE</g:adult> (In this case, the courier checks the age of the recipient for the minimum age of 18 years).

  • For products with an energy-efficiency classit is possible to create an energy-efficiency label with the elements <energy_efficiency_class>A+</energy_efficiency_class>, <max_energy_efficiency_class>A+++</min_energy_efficiency_class> and <min_energy_efficiency_class>A+++</min_energy_efficiency_class>, e.g: A+ (A+++ to D).


Test: CSV & XML

Test your XML or CSV file to check for errors.

You can either provide an URL or copy the data into the text field below where our tool can reach the data.

Note: During the actual import, further error messages may appear (for example: non-specified mandatory fields in certain product categories).

Sources

Feed Options