General

The idealo Partner Web-Service 2.0 (PWS 2.0) is an stateless web interface, where you are able to maintain your idealo inventory. It attempts to conform to the design principles of Representational State Transfer (REST).

The idealo PWS 2.0 provides three endpoints where you can read (get), add/update (put) and delete (delete/deleteAll) your offer data. Those are using the JSON data format for requests and responses.

Getting Started

Before you can start making requests please ensure to have a valid Access-Token. For details have a look at the Authentication section. Once you have a valid access token, perform a PUT - Request to add an offer.

URLs are relative to https://import.idealo.com unless otherwise noted!

PUT Request

HTTP request
PUT /shop/123/offer/ABC13222 HTTP/1.1
Authorization: Bearer <<< OAUTH2_ACCESS_TOKEN_HERE >>>
Content-Type: application/json; charset=UTF-8

{
  "sku" : "ABC13222",
  "title" : "title",
  "price" : "12.80",
  "url" : "http://www.idealo.de/",
  "paymentCosts" : {
    "PAYPAL" : "1.23",
    "CASH_IN_ADVANCE" : "0.00",
    "INVOICE" : "0.00",
    "CREDIT_CARD" : "2.99"
  },
  "deliveryCosts" : {
    "DPD" : "3.80",
    "DHL" : "3.99"
  }
}

If everything was OK , your response should look like this:

HTTP response
HTTP/1.1 200 OK
Date: Fri, 15 Feb 2019 10:38:31 GMT

GET Request

To verify the PUT was successful you can do a GET:

HTTP request
GET /shop/123/offer/ABC13222 HTTP/1.1
Accept: application/json
Path parameters
Table 1. /shop/{shopId}/offer/{sku}
Parameter Description

shopId

Unique shop identifier

sku

Unique offer identifier

If everything was OK , your response should look like this:

HTTP response
HTTP/1.1 200 OK
Date: Fri, 15 Feb 2019 10:38:31 GMT
Content-Type: application/json;charset=UTF-8

{
  "sku" : "ABC13222",
  "title" : "title",
  "price" : "12.80",
  "url" : "http://www.idealo.de/",
  "paymentCosts" : {
    "PAYPAL" : "1.23",
    "CASH_IN_ADVANCE" : "0.00",
    "INVOICE" : "0.00",
    "CREDIT_CARD" : "2.99"
  },
  "deliveryCosts" : {
    "DPD" : "3.80",
    "DHL" : "3.99"
  },
  "fulfillmentType" : "OTHER"
}

DELETE Request

If an offer needs do be removed, do a DELETE:

HTTP request
DELETE /shop/123/offer/ABC13222 HTTP/1.1
Accept: application/json

Authentication

PWS is secured by OAuth2. At a high level, you follow four steps:

  1. Obtain OAuth 2.0 Credentials from idealo business

  2. Obtain an Access Token from the Authorization Server

  3. Do a PWS request (Small Example)

  4. Refresh the Access Token, if necessary

Credentials

To create a clientId and clientSecret you need access to idealo business. If you don’t have an account, create one. You can create clientId and clientSecret under My idealo > Settings > API clients.

The clientSecret is shown only once at creation time!
Access via PWS needs to be unlocked by idealo. If you can’t see a API Clients tab, then call our technical support team or partner management.

Access Token

To generate an access token, do a POST request against our authorization endpoint and use your clientId and clientSecret for Basic Auth:

 $ curl 'https://api.idealo.com/mer/businessaccount/api/v1/oauth/token' -i -u 'YOUR_CLIENT_ID:YOUR_CLIENT_SECRET' -X POST

You will receive an access token:

 {
   "access_token" : "eyJraWQiOiJrMSIsImFsZyI[...]",
   "token_type" : "bearer",
   "expires_in" : 3600,
   "scope" : "PARTNERWEBSERVICE:READ_OFFER, PARTNERWEBSERVICE:DELETE_OFFER, PARTNERWEBSERVICE:UPDATE_OFFERTIMESTAMP",
   "shop_id" : 123456
 }

Refresh the Access Token

The access token expires after some time. Per default it is 3600 seconds. So it’s necessary to refresh it. To do so, just get a new one like defined under Access Token.

Examples

Small Example

Once you have a valid access token you can update your catalog. The following PUT - Request will insert an offer.

HTTP request
PUT /shop/123/offer/ABC13222 HTTP/1.1
Authorization: Bearer <<< OAUTH2_ACCESS_TOKEN_HERE >>>
Content-Type: application/json; charset=UTF-8

{
  "sku" : "ABC13222",
  "title" : "title",
  "price" : "12.80",
  "url" : "http://www.idealo.de/",
  "paymentCosts" : {
    "PAYPAL" : "1.23",
    "CASH_IN_ADVANCE" : "0.00",
    "INVOICE" : "0.00",
    "CREDIT_CARD" : "2.99"
  },
  "deliveryCosts" : {
    "DPD" : "3.80",
    "DHL" : "3.99"
  }
}
Error Examples

authorization - missing access token

HTTP request
GET /shop/123/offer/abc3434 HTTP/1.1
Accept: application/json
HTTP response
HTTP/1.1 401 Unauthorized
Date: Fri, 15 Feb 2019 10:38:43 GMT
Content-Type: application/json

{
  "fieldErrors" : [ ],
  "generalErrors" : [ "Authentication is required to access this resource. Please refer to documentation at https://import.idealo.com/docs" ]
}

authorization - wrong scope

HTTP request
GET /shop/123/offer/abc3434 HTTP/1.1
Accept: application/json
Authorization: <<< IN CASE OF WRONG ACCESS TOKEN >>>
HTTP response
HTTP/1.1 403 Forbidden
Date: Fri, 15 Feb 2019 10:38:43 GMT
Content-Type: application/json;charset=UTF-8

{
  "generalErrors" : [ "You don't have sufficient privileges to access this resource." ]
}

Resource types

Offer Resource

Allows storage and retrieval of Offers for a given Shop

For generating client for the Offer API, a JSON Schema is available here

GET

Read an Offer.

Successful Example

To GET an Offer, make the following request:

HTTP request
GET /shop/123/offer/abc3434 HTTP/1.1
Accept: application/json
Path parameters
Table 1. /shop/{shopId}/offer/{sku}
Parameter Description

shopId

Unique shop identifier

sku

Unique offer identifier

The response will be as follows:

HTTP response
HTTP/1.1 200 OK
Date: Fri, 15 Feb 2019 10:38:43 GMT
Content-Type: application/json;charset=UTF-8

{
  "sku" : "ABC13222",
  "title" : "title",
  "price" : "12.80",
  "url" : "http://www.idealo.de/",
  "basePrice" : "1,99 € / 100g",
  "packagingUnit" : 5,
  "voucherCode" : "AUTO10 (10% Rabatt auf alle Produkte der Kategorie Autoreifen bis 31.12.!)",
  "brand" : "Sony",
  "oens" : [ "VW,123 615 301", "BMW,876 647 9879" ],
  "categoryPath" : [ "Clothes, Shoes & Accessories > Men's Clothing > Shorts", "Men's Outdoor > Shorts" ],
  "description" : "Digitalkamera EOS D5300 mit 24 MP und optischem Bildstabilisator inklusive Teleobjektiv",
  "imageUrls" : [ "http://cdn.philips-hue-weiss-und-farbig-10w-e27.jpg", "http://cdn.produktbild_max/philips-hue-schwarz-10w-e27.jpg" ],
  "eans" : [ "5021851148742", "9484474842987" ],
  "hans" : [ "DMC-TZ10EB-K", "DMC-AB567C-J" ],
  "paymentCosts" : {
    "PAYPAL" : "1.23",
    "CASH_IN_ADVANCE" : "0.00",
    "INVOICE" : "0.00",
    "CREDIT_CARD" : "2.99"
  },
  "deliveryCosts" : {
    "DPD" : "3.80",
    "DHL" : "3.99"
  },
  "deliveryComment" : "Abholung vor Ort möglich, Lieferung inklusive Altgerätentsorgung",
  "delivery" : "1-3 Werktage",
  "freeReturnDays" : 20,
  "checkout" : true,
  "checkoutLimitPerPeriod" : 13,
  "quantityPerOrder" : 2,
  "minimumPrice" : "12.00",
  "fulfillmentType" : "FREIGHT_FORWARDER",
  "twoManHandlingFee" : "20.00",
  "disposalFee" : "40.00",
  "eec" : "A++",
  "deposit" : "0.25",
  "size" : "small",
  "colour" : "black",
  "gender" : "neutral",
  "material" : "metal",
  "replica" : true,
  "used" : true,
  "download" : true
}
Response fields
Path Type Description

sku

String

A unique and shop specific identifier which can be chosen freely by the merchant.

title

String

The title of the offer as shown at idealo.

price

String

The price of the offer.

url

String

The URL to the offer page in the merchants shop.

basePrice

String

The price per unit.

packagingUnit

Number

The number of items comprising the offer.

voucherCode

String

The code of the voucher applicable the offer.

brand

String

The name of the brand/manufacturer.

oens

Array

The original replacement part number as provided by the car manufacturer.

categoryPath

Array

The offers category in the merchants shop.

description

String

A short description of the offer.

imageUrls

Array

A list of image urls for the offer. The first one will be the main picture.

eans

Array

A list of GTINs / EANs for the offer.

hans

Array

A list of manufacturer article numbers (HANs).

paymentCosts

Object

A list of payment methods and corresponding costs. Costs can be zero (0.00).

deliveryCosts

Object

A list of delivery types and corresponding costs.

deliveryComment

String

Further information about payment / shipping.

delivery

String

Delivery time information for the offer.

freeReturnDays

Number

The amount of days within free return is granted.

checkout

Boolean

Defines whether an offer is available for direct purchase.

checkoutLimitPerPeriod

Number

The maximal amount of offers available via direct purchase per day. It is possible to update the amount during the day.

quantityPerOrder

Number

The maximal number of this offer available in a single transactions via direct purchase.

minimumPrice

String

The minimum price allowed for our service "price range".

fulfillmentType

String

The fulfillment type for this offer.

twoManHandlingFee

String

The fee for "Two Man Delivery" service to the place of installation.

disposalFee

String

The disposal fee.

eec

String

The energy label.

deposit

String

The deposit price.

size

String

The offers indication of the size.

colour

String

The offers indication of colour.

gender

String

The offers indication of gender, if applicable.

material

String

The offers indication of material.

replica

Boolean

Indication whether this offer is a replica (as opposed to original).

used

Boolean

Indication whether this offer is used (as opposed to new).

download

Boolean

Indicates whether this offer is downloadable (as opposed to physical goods).

Error Examples

offer not found

HTTP response
HTTP/1.1 404 Not Found
Date: Fri, 15 Feb 2019 10:38:43 GMT
Content-Type: application/json;charset=UTF-8

{
  "generalErrors" : [ "No offer found for shopId 123 and sku abc3434" ]
}

PUT

Writes an offer.

Successful Example

A PUT request requires the following path parameters and request body.

Path parameters
Table 1. /shop/{shopId}/offer/{sku}
Parameter Description

shopId

unique shop identifier

sku

shop unique offer identifier

Request body
{
  "sku" : "abc3434",
  "title" : "My Offer",
  "price" : "12.80",
  "url" : "http://www.bla.eu",
  "paymentCosts" : {
    "PAYPAL" : "2.63"
  },
  "deliveryCosts" : {
    "DHL" : "0.69"
  },
  "basePrice" : "1,99 € / 100g",
  "packagingUnit" : 5,
  "voucherCode" : "AUTO10 (10% Rabatt auf alle Produkte der Kategorie Autoreifen bis 31.12.!)",
  "brand" : "Sony",
  "oens" : [ "VW,123 615 301", "BMW,876 647 9879" ],
  "categoryPath" : [ "Clothes, Shoes & Accessories > Men's Clothing > Shorts", "Men's Outdoor > Shorts" ],
  "description" : "Digitalkamera EOS D5300 mit 24 MP und optischem Bildstabilisator inklusive Teleobjektiv",
  "imageUrls" : [ "http://cdn.philips-hue-weiss-und-farbig-10w-e27.jpg", "http://cdn.produktbild_max/philips-hue-schwarz-10w-e27.jpg" ],
  "eans" : [ "5021851148742", "9484474842987" ],
  "hans" : [ "DMC-TZ10EB-K", "DMC-AB567C-J" ],
  "pzns" : [ "03919011", "06893269" ],
  "kbas" : [ "46988 205/55R16" ],
  "merchantName" : "superSeller",
  "merchantId" : "abcde",
  "deliveryComment" : "Abholung vor Ort möglich, Lieferung inklusive Altgerätentsorgung",
  "delivery" : "1-3 Werktage",
  "freeReturnDays" : 20,
  "checkout" : true,
  "checkoutLimitPerPeriod" : 13,
  "quantityPerOrder" : 2,
  "minimumPrice" : "12.00",
  "fulfillmentType" : "FREIGHT_FORWARDER",
  "twoManHandlingFee" : "20.00",
  "disposalFee" : "40.00",
  "eec" : "A++",
  "deposit" : "0.25",
  "size" : "small",
  "colour" : "yellow",
  "gender" : "male",
  "material" : "cotton ball",
  "weight" : 1.2,
  "replica" : false,
  "used" : true,
  "download" : true,
  "lenses" : { },
  "tires" : { }
}
Request fields
Field Name Type Description Requirements Example Required

sku

String

A unique and shop specific identifier which can be chosen freely by the merchant.

Please provide it without any spaces and unique. Otherwise it will be filtered and not be visible at idealo frontend.

"ABC-1322-2-17"

Direct Purchase, Lead Out/Link Forwarding

title

String

The title of the offer as shown at idealo.

Title should contain relevant product attributes and be unique (max. 255 chars).

"Canada Goose Carson down-jacket men, navy blue, Size: XXL"

Direct Purchase, Lead Out/Link Forwarding

price

String

The price of the offer.

Please provide the price amount in the format ^d{1,9}.d{2}$.

177.99

Direct Purchase, Lead Out/Link Forwarding

url

String

The URL to the offer page in the merchants shop.

For the URLs the RFC 3986 standard applies (urls have to start with https:// or http://). For product variants, please use parameterized URLs directing to the respective variant.

"http://www.myOffer.eu"

Lead Out/Link Forwarding

basePrice

String

The price per unit.

Required for offers with labelling obligation.

"1,99€ / 100g"

packagingUnit

Number

The number of items comprising the offer.

Required for multi packs.

5

voucherCode

String

The code of the voucher applicable the offer.

The actual code has to be part of this field. Note: the price field needs to contain discounted price.

"CAR10 (10% discount for any articles of the category tires until Dec 31st!)"

brand

String

The name of the brand/manufacturer.

Providing the brand is importing for mapping an offer to the idealo product catalog.

"Sony"

oens

Array

The original replacement part number as provided by the car manufacturer.

["VW,123 615 301", "BMW,876 647 9879"]

categoryPath

Array

The offers category in the merchants shop.

["Clothes, Shoes & Accessories > Men's Clothing > Shorts", "Men's Outdoor > Shorts"]

description

String

A short description of the offer.

max. 1042 chars

"Digital Camera EOS D5300 with 24 MP and optical Image stabilization, including telephoto lens"

imageUrls

Array

A list of image urls for the offer. The first one will be the main picture.

Please use standard web formats (png or jpg). The RFC 3986 standard applies.

["cdn.philips-hue-weiss-und-farbig-10w-e27.jpg","cdn.produktbild_max/philips-hue-schwarz-10w-e27.jpg"]

eans

Array

A list of GTINs / EANs for the offer.

["5021851148742","9484474842987"]

hans

Array

A list of manufacturer article numbers (HANs).

Please provide the complete HANs.

["DMC-TZ10EB-K", "DMC-AB567C-J"]

pzns

Array

A list of "Pharmazentralnummern" (PZNs).

Please provide valid PZNs.

["03919011", "06893269"]

kbas

Array

A KBA is a unique number which identifies an specific car type at "Kraftfahrt-Bundesamt". Those number consists of HSN and TSN. The KBA is used to identify the correct car spare parts.

Please provide a list of valid KBAs for spare parts.

["46988 205/55R16"]

merchantName

String

The name of the merchant is necessary if you are a marketplace.

The correct merchants name.

"Example merchant"

LO, DK

merchantId

String

The merchant Id is neccasary if you are an marketplace. It has to be an unique identifier.

The corresponding unique merchant id.

"12345" or "merchant12x"

paymentCosts

Object

A list of payment methods and corresponding costs. Costs can be zero (0.00).

At least one of CLICK_AND_BUY, CREDIT_CARD, CASH_IN_ADVANCE, CASH_ON_DELIVERY, DIRECT_DEBIT, GOOGLE_CHECKOUT, GIROPAY, INVOICE, MONEYBOOKERS, POSTAL_ORDER, POSTPAY, PAYPAL,PAYSAFECARD, SOFORTUEBERWEISUNG, AMAZON_PAYMENT, ECOTAX, ICLEAR, ELECTRONIC_PAYMENT_STANDARD.

{"CASH_IN_ADVANCE": 0.00, "PAYPAL": 1.23, "INVOICE": 0.00, "CREDIT_CARD": 2.99}

LO, DK

deliveryCosts

Object

A list of delivery types and corresponding costs.

At least one of DEUTSCHE_POST, DHL, DHL_GO_GREEN, DOWNLOAD, DPD, FEDEX, GERMAN_EXPRESS_LOGISTICS, GLS, GLS_THINK_GREEN, HERMES, PICK_POINT, SPEDITION, TNT, TRANS_O_FLEX, UPS. The format is ^d{1,9}.d{2}$

{"DHL": 4.90, "FEDEX": 6.90, "SPEDITION": 20.00}

Direct Purchase, Lead Out/Link Forwarding

deliveryComment

String

Further information about payment / shipping.

"Store pickup possible", "Shipping includes waste disposal"

delivery

String

Delivery time information for the offer.

Please provide precise information. Imprecise phrases like "ready for shipment" or qualifying additions like "presumably" are disallowed. Max. 1042 chars.

"1-3 working days"

freeReturnDays

Number

The amount of days within free return is granted.

14

checkout

Boolean

Defines whether an offer is available for direct purchase.

Please provide the value true for direct purchase offers. Otherwise, provide false or just omit this field.

true

Direct Purchase

checkoutLimitPerPeriod

Number

The maximal amount of offers available via direct purchase per day. It is possible to update the amount during the day.

If no number provided we assume an default amount of 25.

5

quantityPerOrder

Number

The maximal number of this offer available in a single transactions via direct purchase.

2

minimumPrice

String

The minimum price allowed for our service "price range".

Please provide the minimum price amount in the format ^d{1,9}.d{2}$.

170.00

fulfillmentType

String

The fulfillment type for this offer.

Allowed values: "FREIGHT_FORWARDER", "PARCEL_SERVICE", "DOWNLOAD". For "FREIGHT_FORWARDER", during checkout the customer will have to provide a telephone number for delivery time consultation.

"FREIGHT_FORWARDER"

DK

twoManHandlingFee

String

The fee for "Two Man Delivery" service to the place of installation.

This is only available for direct purchase offers (DK) with fulfillment type "FREIGHT_FORWARDER". Please provide the fee in the format ^d{1,9}.d{2}$.

20.00

disposalFee

String

The disposal fee.

This is only available in combination with 'twoManHandlingFee' for direct purchase offers (DK) with fulfillment type "FREIGHT_FORWARDER". Please provide the fee in the format ^d{1,9}.d{2}$.

3.79

eec

String

The energy label.

Required for offers with labelling obligation.

"A+"+

deposit

String

The deposit price.

Required for offers with obligatory mortgage fee. Please provide the fee in the format ^d{1,9}.d{2}$.

20.00

size

String

The offers indication of the size.

Please avoid abbreviations (eg. S/M/L) if possible. Please provide separate offers for each size variant.

"medium", "52", "XL"

Offer Variants

colour

String

The offers indication of colour.

Please provide separate offers for each colour variant. A colour variant could also be an combination of several colours.

"red", "yellow/black"

Offer Variants

gender

String

The offers indication of gender, if applicable.

Please write out the gender if possible. Please provide separate offers for each gender variant.

"female", "male"

Offer Variants

material

String

The offers indication of material.

Required for offers with labelling obligation. Please provide separate offers for each material variant.

"80% cotton, 20% polyester"

Offer Variants

weight

Number

The offers weight.

The format is ^d{1,9}.d{2}$ and it represents a value in kg.

10.2

replica

Boolean

Indication whether this offer is a replica (as opposed to original).

Allowed values: true / false. Omitting this fields is equivalent to false.

true

used

Boolean

Indication whether this offer is used (as opposed to new).

Allowed values: true / false. Omitting this fields is equivalent to false.

true

download

Boolean

Indicates whether this offer is downloadable (as opposed to physical goods).

Allowed values: true / false. Omitting this fields is equivalent to false.

true

lenses

Object

Details for contact lenses.

In order to sell contact lenses in germany you need to fulfill sepcific legal requirements. Please see the section Contact Lenses Specifics below.

Contact Lenses

tires

Object

Details for tires.

German law requires you to specify this information when you sell tires. See section Tires Specifics below.

Tires

The response will be as follows:

HTTP response
HTTP/1.1 200 OK
Date: Fri, 15 Feb 2019 10:38:12 GMT
Contact Lenses Specifics

A PUT request specific for contact lens offers requires the following additional request body below the 'lenses' field.

Request body
{
  "sku" : "abc3434",
  "title" : "My Offer",
  "price" : "12.80",
  "url" : "http://www.bla.eu",
  "categoryPath" : [ "Drogerie & Gesundheit > Kontaktlinsen & Brillen > Kontaktlinsen" ],
  "description" : "Monatslinsen, Material Bufilcon A, Tragedauer 1 Monat",
  "eans" : [ "0785811038298" ],
  "paymentCosts" : {
    "PAYPAL" : "1.79"
  },
  "deliveryCosts" : {
    "DHL" : "0.69"
  },
  "delivery" : "1-3 Werktage",
  "lenses" : {
    "diopter" : "+20.00",
    "baseCurve" : 5.34,
    "diameter" : 12.34,
    "cylinder" : "-0.75",
    "axis" : 10,
    "addition" : 1.0
  }
}
Request fields-lenses
Field Name Type Description Requirements Example Required

diopter

String

The diopter measurement value of an contact lense.

Please provide the values in floating point numbers, in quotation marks and with an "." decimal separator. The "+" or "-" in front is needed to specifiy the visibility.

"+5.00", "-3.5"

Contact Lenses

baseCurve

Number

The baseCurve value of an contact lense.

The baseCurve is an diopter measurement, in millimeters, of the inside curve of your contact lenses. Please provide the values in floating point numbers and with "." decimal separator.

8.34

Contact Lenses

diameter

Number

The diameter value of an contact lense.

Please provide the values in floating point numbers and with "." decimal separator.

12.34

Contact Lenses

cylinder

String

The cylinder value of an contact lense.

Please provide the values in floating point numbers, in quotation marks and with an "." decimal separator. The value is given in quarter-degrees and is given a negative sign in the ranges -0.25 to -10.00.

"-0.75"

Contact Lenses

axis

Number

The axis value of an contact lense.

Typically given in 10s, the axis figure on a contact lens figure can be a number between 1 and 180.

10

Contact Lenses

addition

Number

The addition of the contact lenses.

Addition is a positive dioptric value with an "." decimal separator. It is calculated on existing short-sightedness or farsightedness in order to correct presbyopia with only one visual aid (progressive or multifocal contact lenses).

1.0

Contact Lenses

Tires Specifics

A PUT request specific for tires offers requires the following additional request body below the 'tires' field.

Request body
{
  "sku" : "abc3434",
  "title" : "My Offer",
  "price" : "12.80",
  "url" : "http://www.bla.eu",
  "categoryPath" : [ "Auto & Motorrad > Räder & Reifen > Reifen" ],
  "description" : "Winterreifen, laufrichtungsgebundenes Reifenprofil",
  "eans" : [ "4019238741292" ],
  "paymentCosts" : {
    "PAYPAL" : "4.39"
  },
  "deliveryCosts" : {
    "DHL" : "0.69"
  },
  "delivery" : "1-3 Werktage",
  "tires" : {
    "fuelEfficiency" : "A",
    "wetGrip" : "B",
    "externalRollingNoise" : 72,
    "rollingNoiseClass" : "2"
  }
}
Request fields-tires
Field Name Type Description Requirements Example Required

fuelEfficiency

String

The fuel efficiency of the tire.

"A"

Tires

wetGrip

String

The wet grip of the tire.

"B"

Tires

externalRollingNoise

Number

The external rolling noise of the tire.

A whole number which represents the value in decibel between 67 and 71.

72

Tires

rollingNoiseClass

String

The rolling noise class of the tire.

A whole number which represents the rolling noise class between 1 and 3.

"2"

Tires

Error Examples

There are different error responses for different reasons. It’s possible to have more than one error notification in one response.

missing mandatory fields

HTTP request
PUT /shop/123/offer/abc3434 HTTP/1.1
Authorization: Bearer <<< OAUTH2_ACCESS_TOKEN_HERE >>>
Content-Type: application/json; charset=UTF-8

{
  "sku" : "abc3434",
  "url" : "http://myShop.com"
}
HTTP response
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
Date: Fri, 15 Feb 2019 10:38:11 GMT

{
  "fieldErrors" : [ {
    "field" : "paymentCosts",
    "message" : "Please provide at least one payment method."
  }, {
    "field" : "deliveryCosts",
    "message" : "Please provide at least one delivery method with costs."
  }, {
    "field" : "title",
    "message" : "Please provide a title."
  }, {
    "field" : "price",
    "message" : "Please provide a price."
  } ]
}

neither url nor checkout=true is set

HTTP request
PUT /shop/123/offer/abc3434 HTTP/1.1
Authorization: Bearer <<< OAUTH2_ACCESS_TOKEN_HERE >>>
Content-Type: application/json; charset=UTF-8

{
  "sku" : "abc3434",
  "title" : "My Offer",
  "price" : "12.80",
  "paymentCosts" : {
    "PAYPAL" : "2.42"
  },
  "deliveryCosts" : {
    "DHL" : "0.22"
  }
}
HTTP response
HTTP/1.1 400 Bad Request
Date: Fri, 15 Feb 2019 10:38:12 GMT
Content-Type: application/json;charset=UTF-8

{
  "generalErrors" : [ "Please provide either URL or checkout." ]
}

sku in path not matching sku in request body

HTTP request
PUT /shop/123/offer/differentSku HTTP/1.1
Authorization: Bearer <<< OAUTH2_ACCESS_TOKEN_HERE >>>
Content-Type: application/json; charset=UTF-8

{
  "sku" : "abc3434",
  "title" : "My Offer",
  "price" : "12.80",
  "url" : "http://myShop.com",
  "paymentCosts" : {
    "PAYPAL" : "3.25"
  },
  "deliveryCosts" : {
    "DHL" : "0.22"
  }
}
HTTP response
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
Date: Fri, 15 Feb 2019 10:38:11 GMT

{
  "generalErrors" : [ "Sku in url path (differentSku) differs from sku in request body (abc3434)!" ]
}

DELETE

Deletes an offer.

Successful Example

To delete an Offer, make the following request:

HTTP request
DELETE /shop/123/offer/abc3434 HTTP/1.1
Accept: application/json
Path parameters
Table 1. /shop/{shopId}/offer/{sku}
Parameter Description

shopId

Unique Shop identifier

sku

Unique offer identifier

The response will be as follows:

HTTP response
HTTP/1.1 200 OK
Date: Fri, 15 Feb 2019 10:38:25 GMT
Error Examples

In case there is an error, the following response will be received:

general server error operation::offer-delete-failure[snippets='http-response']

DELETE All

Delete all existing offers.

Example

To delete all Offers, make the following request:

HTTP request
DELETE /shop/123/offer HTTP/1.1
Accept: application/json
Path parameters
Table 1. /shop/{shopId}/offer
Parameter Description

shopId

Unique Shop identifier

The response will be as follows:

HTTP response
HTTP/1.1 202 Accepted
Date: Fri, 15 Feb 2019 10:38:19 GMT

UPDATE Timestamp

Updating the import timestamp for all offers

Example

To update the import timestamp for all offers, make the following request:

HTTP request
PUT /shop/123/offer HTTP/1.1
Accept: application/json
Path parameters
Table 1. /shop/{shopId}/offer
Parameter Description

shopId

Unique Shop identifier

The response will be as follows:

HTTP response
HTTP/1.1 204 No Content
Date: Fri, 15 Feb 2019 10:38:03 GMT