Retrieve Offers
- Home
- Retrieve Offers
Introduction

Last update :
Toolbox / Tips
-
Download the Postman collection
-
Download the YAML / See full technical documentation
-
Don’t forget to check the authentication documentation
The Offers Catalog Retrieval API (GET /offers) allows sellers to access their offer data across Octopia sales channels. It returns consolidated offer information including price, condition, availability, and performance metrics. It supports both baseline offer data and advanced sales channel feedback (via the expand parameter), such as visibility status, Buy Box eligibility, and competing offers.
This endpoint is essential for sellers who need to:
-
Monitor and synchronize their live offer catalog
-
Verify visibility and integration on sales channels
-
Adjust pricing and delivery strategies based on real-time competition
It is the primary read-only interface for accessing seller-side catalog state — complementing the Offer Submission API, which handles offer creation, updates and delete.
Key States & Attributes
|
Field |
Description |
Business Logic |
Parameter for filter |
|---|---|---|---|
|
|
ID of the seller |
ID to recognise the seller |
Mandatory |
|
|
Target sales channel |
Required in every request |
Mandatory |
|
|
Composite identifier: sellerId_product_condition_channel |
Used to uniquely identify the offer on Octopia system |
|
|
|
Seller-side unique ID |
Used for uniquely identify the offer with the seller unique ID |
|
|
|
Product GTIN or EAN |
Commun ID of the product |
|
|
|
Product ID generated on Octopia |
ID of the product used in Octopia system |
|
|
|
Offer condition (New, Refurbished, Used…) |
Used to identify an offer on a specific condition |
|
|
|
Offer status: |
Indicates whether the offer is enabled for publication |
|
|
|
Price integrated by seller (including taxes) |
Used to track official submitted price |
|
|
|
Price displayed on the sales channel |
May differ from integration price if rounded, converted, or adjusted |
|
|
|
Delivery options per supply mode |
Includes preparation time, costs, and delivery estimates |
|
|
|
Cdiscount-specific attributes |
Not available on other channels |
|
|
|
Status on non-Cdiscount channels |
Indicates whether the offer was accepted or rejected by the channel |
|
Sales Channel Feedback
When using expand=salesChannelFeedback, the following additional insights are available:
|
Field |
Description |
|---|---|
|
|
Whether the offer is actually visible on the sales channel |
|
|
Buy Box status, price, delivery, update timestamp |
|
|
Qualiscore rating and reasons (A–E) |
|
|
Review counts, product page info |
|
|
Seller rating and review counts |
|
|
List of competitive offers with full details |
Seller Workflow
Below is the typical sequence when using this endpoint to audit or monitor offers:
Data Availability Period
-
Data is fetched from both internal referentials and the sales channel APIs.
-
Sales channel feedback (
expand) fields may be updated with some delay. Each node insalesChannelFeedbackincludes anupdatedAttimestamp to reflect its freshness. -
Offers are paginated with a maximum limit of 1000 items per page.
Retrieve Offers
Prerequisites
-
API key and
sellerIdheader are required. -
You must provide the
salesChannelIdquery parameter. -
Pagination is enabled with
limit(max 1000 per page).
This endpoint retrieves the seller’s offers from the Octopia offer catalog for a given sales channel. It returns product, price, stock, condition, and other key offer attributes.
The endpoint is filterable and supports smart field selection (fields) and expanded information (expand) for advanced insights. It is the primary tool for viewing your live or inactive offers across marketplaces.
Functional Rules
-
If both
fieldsandexpandare provided,expandis ignored. -
Default fields always returned:
-
offerId,sellerExternalReference,offerState,createdAt,updatedAt
-
-
Optional filters include:
-
offerIds,gtins,offerStates,sellerExternalReferences,updatedAtMin
-
-
Optional selectors:
-
fields– fetch only specified fields (e.g.condition,facialPrice.price) -
expand– (Cdiscount only) addssalesChannelFeedbackwith extra visibility, ranking and competition data
-
Endpoint to use
Retrieves offers that match the query from the offer repository.
Please note:
-
The limit of offers per request has increased. You can now paginate your results up to 1 000 offers.
-
If parameters
fieldsandexpandare both sent, theexpandparameter will be ignored.
Functional rules:
There are some differences in the attributes you can retrieve from Cdiscount (CDISFR) compared with other channels
-
Attributes only available on Cdiscount:
-
comments -
offerCompetition -
Best offer information into
salesChannelFeedback.bestOfferDetails -
expandparameter withsalesChannelFeedbackvalue -
Qualiscore: more details on offerQuality.scoreReasons into the FAQ
-
-
Attributes only available on other sales channels:
-
salesChannelAcceptanceStatus -
deliveryOffers.storageCountry -
Best offer information into
isBestOffer&BestOffer
-
New features:
-
Fields parameter:
The
fieldsparameter lets you fetch only the data you need.The payload will always contain basis information as:
-
offerId -
sellerExternalReference -
offerState -
createdAt -
updatedAt
To retrieve only the useful information, specify the field (e.g.,
condition) or the node name (e.g.,salesChannelFeedback) or the node name with the field name separated by a dot (e.g.,facialPrice.price). -
-
Expand parameter (Cdiscount Only):
To include sales-channel feedback information, set the
expandparameter to:salesChannelFeedback
This node contains information returned by the sales channels' APIs. Because this data may take time to update, several
updatedAtfields are provided.If the sales channel does not return the information, the fields will be
null.Please note: Sales channel feedbacks are currently only available for Cdiscount, but other channels will be added soon.
Examples:
-
Retrieve the first 1 000 offers on Cdiscount:
/offers?salesChannelId=CDISFR&limit=1000 -
Retrieve an offer based on it external reference on saleschannel Seller Sandbox:
/offers?salesChannelId=SELLZZ&sellerExternalReferences=ABC1234 -
Retrieve the first 1 000 offers with only specific attributes (offerId & integrationPrice):
/offers?salesChannelId=SELLZZ&fields=integrationPrice.price -
[Cdiscount Only] Retrieve the first 1 000 offers with saleschannel feedbacks:
/offers?salesChannelId=CDISFR&expand=salesChannelFeedback
Parameters - Headers
| Name | In | Type | Description |
|---|---|---|---|
| SellerId* | header |
string
|
Octopia Seller Identifier. Example : 98979 |
Parameters - Query
| Name | In | Type | Description |
|---|---|---|---|
| salesChannelId* | query |
string
|
Sales channel identifier you want to retrieve,. Example : SCIDFR |
| limit | query |
number
|
Limits the number of offers per page, maximum 1000, default 100 Default : 100 Example : 500 |
| fields | query |
string
|
The fields parameter lets you fetch only the data you need. By default, the payload will always contains basis information as offerId, sellerExternalReference and offerState Example : condition, product, salesChannelFeedback.competingOffers |
| expand | query |
string|enum
|
In order to display the sales channel feedback information in addition of the standard payload you must fill the expand parameter with salesChannelFeedback Example : salesChannelFeedback Available values : ["salesChannelFeedback"] |
| offerIds | query |
string
|
Offers identifiers you want to retrieve, separated by a comma. Example : 1234_HAM0028178207328_6_SCIDFR,1234_AUC4894626011153_6_SCIDFR |
| offerStates | query |
string
|
Offers state you want to retrieve, separated by a comma. Example : inactive,active |
| gtins | query |
string
|
Products gtin you want to retrieve, separated by a comma. Example : 1234567890123, 2345678901234 |
| sellerExternalReferences | query |
string
|
Seller external references you want to retrieve, separated by a comma. Example : REF001,REF002 |
| updatedAtMin | query |
string
|
Format - date-time (as date-time in RFC3339). Return offers only if "updatedAt" property is bigger or equal to parameter value. Example : 2023-04-20T10:10:00.0000000+00:00 |
Response codes
200 - Successapplication/json
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
400 - Bad Requestapplication/problem+json |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
401 - Unauthorizedapplication/problem+json |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
403 - Forbiddenapplication/problem+json |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
500 - Internal Server Errorapplication/problem+json |
Important notes
-
Use
fieldsto reduce payload size for large catalogs. -
Use
expand=salesChannelFeedbackto retrieve real-time visibility status, buy box position, ratings, and performance metrics (Cdiscount only). -
Use
updatedAtMinto sync only recent changes from your catalog.
Retrieve visibility & Sales Channel Feedback
Prerequisites
-
salesChannelId=CDISFRis required (only supported for Cdiscount). -
Add
expand=salesChannelFeedbackto the query. -
Use
sellerExternalReferences,offerIds, orlimitto filter the offers.
This use case allows sellers to check whether their offers are effectively published, whether they hold the buy box, and how their quality score (Qualiscore) is assessed by the marketplace.
The salesChannelFeedback node returned by the expand parameter includes detailed visibility, quality, loyalty, and promotional data, such as:
-
Whether the offer is online
-
Displayed price and delivery cost
-
Offer ranking (buy box) and reasons if offline
-
Product page stats (URL, reviews, rating)
-
Seller rating on the channel
-
Qualiscore (A–E) and detailed reasons (e.g., delivery time too long)
Functional Rules
-
Works only for
salesChannelId=CDISFR. -
Several timestamps (
updatedAt) are included to indicate freshness of each feedback sub-section. -
If the sales channel does not return specific data → field will be
null.
Endpoint to use
Retrieves offers that match the query from the offer repository.
Please note:
-
The limit of offers per request has increased. You can now paginate your results up to 1 000 offers.
-
If parameters
fieldsandexpandare both sent, theexpandparameter will be ignored.
Functional rules:
There are some differences in the attributes you can retrieve from Cdiscount (CDISFR) compared with other channels
-
Attributes only available on Cdiscount:
-
comments -
offerCompetition -
Best offer information into
salesChannelFeedback.bestOfferDetails -
expandparameter withsalesChannelFeedbackvalue -
Qualiscore: more details on offerQuality.scoreReasons into the FAQ
-
-
Attributes only available on other sales channels:
-
salesChannelAcceptanceStatus -
deliveryOffers.storageCountry -
Best offer information into
isBestOffer&BestOffer
-
New features:
-
Fields parameter:
The
fieldsparameter lets you fetch only the data you need.The payload will always contain basis information as:
-
offerId -
sellerExternalReference -
offerState -
createdAt -
updatedAt
To retrieve only the useful information, specify the field (e.g.,
condition) or the node name (e.g.,salesChannelFeedback) or the node name with the field name separated by a dot (e.g.,facialPrice.price). -
-
Expand parameter (Cdiscount Only):
To include sales-channel feedback information, set the
expandparameter to:salesChannelFeedback
This node contains information returned by the sales channels' APIs. Because this data may take time to update, several
updatedAtfields are provided.If the sales channel does not return the information, the fields will be
null.Please note: Sales channel feedbacks are currently only available for Cdiscount, but other channels will be added soon.
Examples:
-
Retrieve the first 1 000 offers on Cdiscount:
/offers?salesChannelId=CDISFR&limit=1000 -
Retrieve an offer based on it external reference on saleschannel Seller Sandbox:
/offers?salesChannelId=SELLZZ&sellerExternalReferences=ABC1234 -
Retrieve the first 1 000 offers with only specific attributes (offerId & integrationPrice):
/offers?salesChannelId=SELLZZ&fields=integrationPrice.price -
[Cdiscount Only] Retrieve the first 1 000 offers with saleschannel feedbacks:
/offers?salesChannelId=CDISFR&expand=salesChannelFeedback
Parameters - Headers
| Name | In | Type | Description |
|---|---|---|---|
| SellerId* | header |
string
|
Octopia Seller Identifier. Example : 98979 |
Parameters - Query
| Name | In | Type | Description |
|---|---|---|---|
| salesChannelId* | query |
string
|
Sales channel identifier you want to retrieve,. Example : SCIDFR |
| limit | query |
number
|
Limits the number of offers per page, maximum 1000, default 100 Default : 100 Example : 500 |
| fields | query |
string
|
The fields parameter lets you fetch only the data you need. By default, the payload will always contains basis information as offerId, sellerExternalReference and offerState Example : condition, product, salesChannelFeedback.competingOffers |
| expand | query |
string|enum
|
In order to display the sales channel feedback information in addition of the standard payload you must fill the expand parameter with salesChannelFeedback Example : salesChannelFeedback Available values : ["salesChannelFeedback"] |
| offerIds | query |
string
|
Offers identifiers you want to retrieve, separated by a comma. Example : 1234_HAM0028178207328_6_SCIDFR,1234_AUC4894626011153_6_SCIDFR |
| offerStates | query |
string
|
Offers state you want to retrieve, separated by a comma. Example : inactive,active |
| gtins | query |
string
|
Products gtin you want to retrieve, separated by a comma. Example : 1234567890123, 2345678901234 |
| sellerExternalReferences | query |
string
|
Seller external references you want to retrieve, separated by a comma. Example : REF001,REF002 |
| updatedAtMin | query |
string
|
Format - date-time (as date-time in RFC3339). Return offers only if "updatedAt" property is bigger or equal to parameter value. Example : 2023-04-20T10:10:00.0000000+00:00 |
Response codes
200 - Successapplication/json
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
400 - Bad Requestapplication/problem+json |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
401 - Unauthorizedapplication/problem+json |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
403 - Forbiddenapplication/problem+json |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
500 - Internal Server Errorapplication/problem+json |
Example:
GET /offers?salesChannelId=CDISFR&expand=salesChannelFeedback
Important notes
-
This feature is only available on Cdiscount for now. Support for other channels is planned.
-
Fields in
salesChannelFeedbackare asynchronous and may be delayed by a few hours. -
Buy box data is provided in
salesChannelFeedback.bestOfferDetails, not in the top-levelisBestOffer.
Retrieve Competing Offers
Prerequisites
-
salesChannelId=CDISFRrequired (only Cdiscount supports competing offer insights). -
expand=salesChannelFeedbackmust be added. -
Filter with
sellerExternalReferences,offerIds, or GTINs to target specific offers.
This use case retrieves competing offer data for a given offer — including price, seller rating, and promotional information of other offers on the same product.
This allows the seller to:
-
Monitor pricing pressure
-
Identify Buy Box winners
-
Adjust their own strategy (price or delivery)
Functional Rules
-
The
salesChannelFeedback.competingOffersarray is only returned when:-
The
expand=salesChannelFeedbackis used -
The sales channel provides such data (currently only Cdiscount)
-
-
Each competing offer includes:
-
Seller name, price, delivery cost, ratings
-
Loyalty & promotional flags
-
Whether it’s the Buy Box winner
-
Endpoint to use
Retrieves offers that match the query from the offer repository.
Please note:
-
The limit of offers per request has increased. You can now paginate your results up to 1 000 offers.
-
If parameters
fieldsandexpandare both sent, theexpandparameter will be ignored.
Functional rules:
There are some differences in the attributes you can retrieve from Cdiscount (CDISFR) compared with other channels
-
Attributes only available on Cdiscount:
-
comments -
offerCompetition -
Best offer information into
salesChannelFeedback.bestOfferDetails -
expandparameter withsalesChannelFeedbackvalue -
Qualiscore: more details on offerQuality.scoreReasons into the FAQ
-
-
Attributes only available on other sales channels:
-
salesChannelAcceptanceStatus -
deliveryOffers.storageCountry -
Best offer information into
isBestOffer&BestOffer
-
New features:
-
Fields parameter:
The
fieldsparameter lets you fetch only the data you need.The payload will always contain basis information as:
-
offerId -
sellerExternalReference -
offerState -
createdAt -
updatedAt
To retrieve only the useful information, specify the field (e.g.,
condition) or the node name (e.g.,salesChannelFeedback) or the node name with the field name separated by a dot (e.g.,facialPrice.price). -
-
Expand parameter (Cdiscount Only):
To include sales-channel feedback information, set the
expandparameter to:salesChannelFeedback
This node contains information returned by the sales channels' APIs. Because this data may take time to update, several
updatedAtfields are provided.If the sales channel does not return the information, the fields will be
null.Please note: Sales channel feedbacks are currently only available for Cdiscount, but other channels will be added soon.
Examples:
-
Retrieve the first 1 000 offers on Cdiscount:
/offers?salesChannelId=CDISFR&limit=1000 -
Retrieve an offer based on it external reference on saleschannel Seller Sandbox:
/offers?salesChannelId=SELLZZ&sellerExternalReferences=ABC1234 -
Retrieve the first 1 000 offers with only specific attributes (offerId & integrationPrice):
/offers?salesChannelId=SELLZZ&fields=integrationPrice.price -
[Cdiscount Only] Retrieve the first 1 000 offers with saleschannel feedbacks:
/offers?salesChannelId=CDISFR&expand=salesChannelFeedback
Parameters - Headers
| Name | In | Type | Description |
|---|---|---|---|
| SellerId* | header |
string
|
Octopia Seller Identifier. Example : 98979 |
Parameters - Query
| Name | In | Type | Description |
|---|---|---|---|
| salesChannelId* | query |
string
|
Sales channel identifier you want to retrieve,. Example : SCIDFR |
| limit | query |
number
|
Limits the number of offers per page, maximum 1000, default 100 Default : 100 Example : 500 |
| fields | query |
string
|
The fields parameter lets you fetch only the data you need. By default, the payload will always contains basis information as offerId, sellerExternalReference and offerState Example : condition, product, salesChannelFeedback.competingOffers |
| expand | query |
string|enum
|
In order to display the sales channel feedback information in addition of the standard payload you must fill the expand parameter with salesChannelFeedback Example : salesChannelFeedback Available values : ["salesChannelFeedback"] |
| offerIds | query |
string
|
Offers identifiers you want to retrieve, separated by a comma. Example : 1234_HAM0028178207328_6_SCIDFR,1234_AUC4894626011153_6_SCIDFR |
| offerStates | query |
string
|
Offers state you want to retrieve, separated by a comma. Example : inactive,active |
| gtins | query |
string
|
Products gtin you want to retrieve, separated by a comma. Example : 1234567890123, 2345678901234 |
| sellerExternalReferences | query |
string
|
Seller external references you want to retrieve, separated by a comma. Example : REF001,REF002 |
| updatedAtMin | query |
string
|
Format - date-time (as date-time in RFC3339). Return offers only if "updatedAt" property is bigger or equal to parameter value. Example : 2023-04-20T10:10:00.0000000+00:00 |
Response codes
200 - Successapplication/json
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
400 - Bad Requestapplication/problem+json |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
401 - Unauthorizedapplication/problem+json |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
403 - Forbiddenapplication/problem+json |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
500 - Internal Server Errorapplication/problem+json |
Example to competing data only:
GET /offers?salesChannelId=CDISFR&fields=salesChannelFeedback.competingOffers
Important notes
-
If multiple offers match the same product, they will all be returned.
-
Best offer data is separate from your own offer status, and always refers to the channel’s current top performer.
-
You can use this insight to adjust
offerCompetitionparameters dynamically.
FAQ
Use GET /offers?salesChannelId=XXXX. Add limit=1000 to retrieve the maximum allowed per page.
You’ll receive the first 100 offers (default pagination) with basic fields:offerId, sellerExternalReference, offerState, createdAt, updatedAt.
Use the fields query param. Example:fields=condition,product,salesChannelFeedback.bestOfferDetails
These are always returned:
-
offerId -
sellerExternalReference -
offerState -
createdAt -
updatedAt
-
integrationPrice= What you sent in your offer payload (your source of truth) -
facialPrice= What’s actually shown to customers (can include rounding, FX conversion, channel-specific rules)
It returns detailed channel feedback from Cdiscount:
-
Is the offer online?
-
Is it the Buy Box winner?
-
What’s its
offerQualityscore? -
Who are the competing offers?
Only supported for Cdiscount (salesChannelId=CDISFR).
Not yet. Today, salesChannelFeedback is Cdiscount only, but it’s planned to expand to other channels.
expand will be ignored. You must choose one.
Each sub-node (e.g., bestOfferDetails, productInformation, offerQuality) includes an updatedAt field. This indicates when the feedback was last refreshed.
Yes. Use:
-
deliveryOffers.quantity -
deliveryOffers.preparationTime -
deliveryOffers.deliveryModes
Use the Link header to fetch the next page (rel="next"). Cursor-based pagination is used — extract the cursor value from the Link.
Use expand=salesChannelFeedback and check:
-
salesChannelFeedback.isOnline -
salesChannelFeedback.offlineReason.reason