Newsletter
Product management
  • Home
  • Product management

Introduction

produits.jpg

Last update :

Toolbox / Tips

Octopia allows sellers to create, modify and enrich product sheets before associating commercial offers (see Offer Management).

Product creation is separated from offer management, allowing sellers :

  • to propose new product sheets

  • to enrich the content of an existing product sheet (e.g., images, descriptions)

This feature is critical for maintaining a high-quality product catalog that aligns with marketplaces taxonomy, brand requirements, and sales channel standards.

Product Sheet

A product sheet is composed of data common to all categories and data specific to the given category.

  • Common data: gtin, title, description, first image, brand, category.

  • Category specific data: properties only availble for some categories, related to product type. Examples include: size, color, storage size, material, features … 

  • Additional information: non product oriented additional information (legal, certifications, licensing, …)

and depending on category:

  • attributes which can be Mandatory, Recommended or Optional

  • brand can be mandatory on some categories

  • color, size and variantGroupReference are mandatory for Variant Products (not for standard products)

To be able to sell a product, all mandatory data must be correctly filled in. (necessity:”Mandatory”)
It is strongly advised to also provide information on recommended attributes (necessity:”Recommended”)

Here is a sample of product data restitution on a sample marketplace product sheet, with differentiated offer information.

2026-Features-Product-Sheet.png

Type of product 

There are two types of products in the product catalog:

Standard Product

A standard product is the most common product type across categories.

It is standalone and displayed individually on the websites (as seen in the above example).

It does not belong to any product group and has no variation dimensions.

Variant Product

A variant product belongs to a family of similar products that differ only by specific variation attributes such as size and/or color which are enforced as mandatory properties.
All products within the same family are linked through a variantGroupReference, which acts as the identifier of the product family.
Only specific categories support product variations (e.g., fashion, footwear, …).

See category properties "isVariant": true/false

Role in Product Creation and Contribution

Octopia stores products in a globally shared catalog. This enables extensive product knowledge and federated base product data, under a single product sheet per GTIN.

Creation precedence applies for each additional information submitted to the catalog.

  • Unknow products will be created: the active seller account will be considered as the product sheet creator.

  • Existing products will be completed: the active seller account will be considered as a contributor for added properties

Depending on already known product information, some of the properties you reference will not be taken into account. Therefore Product information restituted can then differ from what was submitted

sellerProductReference remains unique for any given seller.

Permission levels are readable at the product level, in the product item (see permissions node) on GET /products calls.

Key attributes

Attribute

Description

gtin

Global Trade Item Number. Mandatory for creation.

productReference

Octopia reference for the product. Generated automatically upon creation, recommended when updating.

sellerProductReference

Seller’s own identifier. Useful for reconciliation and integration feedback.

It is recommended to put the same on products and offers and inventory updates on other endpoints.

Product attributes

Marketplaces websites use these to provide endcustomers with filters and navigation facets

Each category has a set of properties. Each property may be Mandatory, Recommended, or Optional. It may be ranged, multiple value, numeric, unit‑based, allow file types, etc.

Brand

The brand may be mandatory for certain categories.

variantGroupReference

Identifier to link a family of variants (e.g., same product in different sizes/colors).

Size, Color

These properties are mandatory to create a family of variants

richMarketingDescription

HTML-rich content block (optional). Can include styled content and media.

permissions.edit, permissions.enrich

Flags indicating whether the seller can edit or enrich the product.

Workflow

product_flow.png

In this section we will look at how to manage the following cases and ensure maximum control of your products:

Retrieve Brands

This endpoint returns the full list of brands available in the Octopia product referential.
This referential is essential for sellers wishing to submit or enrich product sheets, as every product must be associated with a valid brand.

Each brand object includes:

  • A brandReference (numeric string)

  • A name (localized string)

Functional Rules

  • Paginated response controlled by:

    • pageIndex — page to retrieve (default: 1)

    • pageSize — number of results per page (default: 25)

  • Optional filter fields=name limits response to brand name only (without reference)

  • Only validated and published brands are returned

Endpoint to use

Important notes

  • When creating a product, the brand field is free text.

  • Submitted value is matched against existing brands in the referential

    • capitalization, formatting, variations are analysed

  • Fully unknown brands will pass validation checks before being added to the referential

Retrieve Categories

Prerequisites

  • Optional header Accept‑Language to request localization of labels (EN, FR, ES).

    • See also Recommandation on Product creation Localization

This endpoint allows sellers to retrieve a paginated list of categories available in Octopia’s product referential.

Each category entry includes its reference, label, category level (1‑3), whether it is active, brand presence requirement, and other category specific settings or product management rules.

Sellers use this list to know what categories they can assign to new products and which rules apply.

Usage capabilities

  • Sorting on properties: reference, label, level, isActive, isBrandMandatory, parentReference.

  • Returned properties with fields parameter: minimizes payload by specifing which fields to return (e.g. label, isDeleted, etc.).

  • Output language with Accept‑Language header; defaults to fr‑FR .

Endpoint to use

Important notes

  • Category trees have parentReferences: you may need to reconstruct hierarchy client‑side.

  • Active vs inactive categories: some categories may not be available, check isActive.

  • There are less than 10000 categories.

Retrieve Category by Reference

Prerequisites

  • Valid categoryReference path parameter (must be string of 2, 4 or 6 alphanumeric uppercase chars).

  • Accept‑Language header to localize (EN, FR, ES).

This endpoint allows sellers to retrieve the full metadata for a single category, given its reference.

This includes its reference, label, category level (1‑3), whether it is active, brand presence requirement, and other category specific settings or product management rules.

It is essential for building product sheets so that sellers know exactly what rules apply when they pick a category for a new product.

Functional Rules

  • Validation on categoryReference: wrong format leads to 400.

  • If category does not exist → 404.

  • Accept‑Language influences the label.

  • Response includes parentReference, parentReferences list.

Endpoint to use

Important notes

  • On Octopia, product creation requires a level-3 category, which must be a 6-character alphanumeric code (e.g., 1D0903). Categories at level 1 or 2 are not eligible for product submission.

  • If you pick a category that is variant, you must ensure your product variantGroupReference and variant property values are coherent.

  • Labels may not exist in all languages; fallback may occur.

Retrieve Category Properties

Prerequisites

  • Valid categoryReference (formatted correctly).

  • Accept‑Language header.

This endpoint allows sellers to retrieve the list of properties applicable for a given category, including for each property if it’s Mandatory / Recommended / Optional; whether it’s ranged; allowed choices (for ranged props), units; whether multiple values are allowed; whether it is used as variation axis; allowed file types if file attachments allowed; whether numerical, etc.

This informs sellers what attribute data they must or should fill when creating or enriching a product sheet.

Functional Rules

  • If categoryReference invalid → 400.

  • Response includes for each property: propertyReference, index, necessity, label, unit, isRanged, isNumeric, isMultiple, choices (if isRanged:true), allowedFileTypes, isVariation, isSize, isTranslated.

  • Accept‑Language to localize label.

  • The number of properties may be large for some categories and not all properties have to be set upon product creation

    • You may want to filter only those marked as necessity:"Mandatory" or necessity:"Recommended".

Endpoint to use

Important notes

  • Filling all Mandatory fields accurately is required for product creation.

  • Recommended / Optional properties improve visibility or completeness but do not block creation.

  • For variation properties, make sure they match across variants if using variant product type.

  • Some selling countries require some “Recommended” properties to be filled.
    Common examples:

    • Safety warnings

    • Data relating to the connected product

Retrieve seller Products

This endpoint allows a seller to retrieve a list of product sheets they either created or enriched.
The returned dataset includes:

  • Products owned by the seller (i.e., created directly by them)

  • Products that the seller has modified or enriched (e.g., images, attributes)

Each product includes a rich dataset, such as:

  • Basic identifiers: gtin, reference, variantGroupReference

  • Descriptions and titles (per language)

  • Brand, category

  • Attributes and pictures

  • Variant context and origin

  • Seller-specific permissions and creation status

Functional Rules

  • Uses cursor-based pagination:

    • cursor identifies where to resume the list

    • limit defines the number of products to return

  • Products are sorted by most recent update date (descending); no custom sorting is allowed

  • The filter gtin supports up to 10 comma-separated values

  • The following fields are shown only if the seller is the creator:

    • Full marketing description

    • Rich attributes and variants

    • Seller picture URLs

  • If the seller is not the creator, only a subset of read-only fields are returned

  • The deprecated filters isMarketable and pagination via pageIndex/pageSize are no longer supported

Endpoint to use

Important notes

  • Products are sorted by updatedAt

  • Always prefer cursor-based pagination for performance and consistency

  • Use the fields parameter (e.g. fields=label,brand) to minimize payload size

  • Combine this endpoint with GET /products/count to pre-calculate total result size

  • isMarketable, permissions.edit, and permissions.enrichhelp inform UI behaviors

Create / Enrich Product Sheets

Prerequisites

  • The Accept-Language header must be one of the following:

    • fr-FR (when selling cross channel – including Cdiscount)

    • en-US, es-ES (when selling only on localized channels)

    • See also Recommandations on Product Localization

  • The request body must be a valid JSON matching the product structure

  • Use correct:

    • 3rd level categoryCode on 6 characters

    • brand name

  • Respect all mandatory fields based on category definition

  • Provide all necessity:Mandatory attributes based on category properties

This endpoint allows the seller to create or enrich one or more product sheets in the Octopia shared catalog.
Product integration refers to the general product description (titles, attributes, images…) and does not include sale value details (pricing, shipping, taxes, promotions) which is managed through offers.

Product integration is necessary when:

  • A product does not yet exist in Octopia’s catalog

  • A product needs to be enriched (updated, completed)

  • A product requires additional media or documents on specific attributes

Each submission triggers asynchronous processing, using a packageId used to track results via GET /products-integration-reports.

Functional Rules

  • Number of products per call: minimum 1, maximum 10,000

  • For standard products: (see GET /category/{targetCategory} isVariant:false)

    • Provide gtin, title, brand, categoryCode, attributes

  • For variant products: (see GET /category/{targetCategory} isVariant:true)

    • Also include variantGroupReference to link product variants together

  • Images:

    • provide reachable URLs

    • max 5 MB per image

    • at least 1 and up to 6 images

    • resolution base 500*500px (no maximum limit)

    • image type jpg, png, gif, bmp, webp

  • File attachments (for eligible attributes):

    • reachable URLs only

    • correct MIME types (e.g. PDF) depending on attribute allowed file types

  • Products must comply with the necessity:Mandatory attributes of their category

  • Language chosen in Accept-Language dictates product visibility and applicable channels

Endpoint to use

  • Request body example (application/json):

{
  "products": [
    {
      "gtin": 1234567890123,
      "sellerProductReference": "AGRA39401",
      "title": "Cordless Electric Drill 18V",
      "description": "Powerful drill for home and professional use",
      "richMarketingDescription": "Long-lasting lithium battery, ergonomic grip, 2-speed settings",
      "brand": "BLACK+DECKER",
      "categoryCode": "010201",
      "variantGroupReference": "AGRA39401_GROUP",
      "attributes": [
        {
          "propertyReference": "24077",
          "values": ["Battery", "Cordless"]
        },
        {
          "propertyReference": "10293",
          "values": ["18V"]
        }
      ],
      "sellerPictureUrls": [
        {
          "index": 1,
          "url": "https://images.example.com/drill-front.jpg"
        },
        {
          "index": 2,
          "url": "https://images.example.com/drill-side.jpg"
        }
      ]
    }
  ]
}

Management rules and verification of product data

Field

Data type

Limitation

Mandatory in integration

Example

Comments

Language (Accept-Language header)

Alpha – RFC 5646

5 characters

ISO 639-1

ISO 3166-2

YES

fr-FR

Defines product language.

gtin

Digital

From 8 to 13 digits

YES

8002270014901

EAN barcode.

sellerProductReference

Alphanumeric

From 1 to 50 characters

Ascii range 33 to 127 except for 124

YES

TOP_CASE1234

Seller-side product identifier.

variantGroupReference

Alphanumeric

On variant product categories

TOP_CASE_lineup

See isVariant:true

Product identifier (SKU)

Alphanumeric

Defined by the product standard

NO

AAAAZ21805

Unique identifier of the product generated by the Octopia repository.

categoryCode

Alphanumeric

6 characters

YES

Garden furniture

Must be known from Octopia product referential.

title

Alphanumeric

132 characters max

YES

Round wooden table

Long version required.

description

Alphanumeric

2000 characters max

No HTML

YES

Wooden table made of particle board.

Product description.

richMarketingDescription

Alphanumeric

9000 characters max

Some HTML allowed

NO

Wooden TableHigh-quality, sustainable wood.

Highlights product assets.

Pictures

valid url

HTTPS

size 500*500

YES

https://….jpeg

At least one picture required (max 6).

brand

Alphanumeric

50 characters max

Category specific

JohnDoeApparel

Can be mandatory depending on category (isBrandMandatory).

attributes

Free or ranged values

Depends on mandatory attributes per category

Size = 36, Color = Blue

Some are mandatory per category (check category properties endpoint).

Details about marketing description

  • Unauthorized Links – Certain types of links are not allowed:

    • Links must be https

    • Other protocols are forbidden (mailto, ftp, file, …)

  • Unauthorized Special Characters – Only characters from the following Unicode ranges are permitted:

    • U+0000 to U+036F – Latin characters extended and spacing symbols

    • U+2000 to U+206F – common punctuation characters

    • U+2100 to U+214F – Letterlike Symbols

    • Any character outside these ranges will be rejected.

  • Prohibited HTML Tags – The following HTML tags are not allowed, whether opening or closing:

    • input

    • html

    • body

    • header

    • iframe

    • table

  • Additionally, HTML expressions containing invalid attributes are forbidden:

    • Tags containing comparison operators like ==

    • Improper or suspicious href attributes

  • Prohibited Scripts or Dangerous Behaviors :

    • Any attempt to inject code or scripts is strictly prohibited, including:

    • script tags (opening or closing)

    • CDATA sections

    • JavaScript event attributes (such as onclick="", onmouseover="", etc.)

Important notes

  • Monitor the integration result via GET /products‑integration‑reports using the returned packageId.

  • Partial failures may occur: products in the package may be Refused or Integrated.

  • Using wrong attributes or attributes values requires processing errors and warnings from the report; those need correction before full re‑submission.

Retrieve product Integration Reports

Prerequisites

  • The SellerId header is required to identify the product submission context

  • You must filter using at least one of the following:

    • packageId (recommended)

    • gtin (up to 10 comma-separated values)

Help Guide

  • If you encounter difficulties or errors during product integration, refer to the Help Guide

This endpoint allows the seller to retrieve detailed results of a previously submitted product integration via POST /products-integration.
Each result entry corresponds to a product submission attempt and includes information about its integration status, type of operation performed, potential errors or warnings.

Typical use cases include:

  • Reviewing whether products were successfully integrated into the Octopia catalog

  • Diagnosing failures (with specific error codes and rejected fields)

  • Monitoring enrichment or variant family status

  • Auditing content that was ignored, refused, or overwritten

Each item returned includes:

  • gtin, title, category, language, brand, and attributes

  • status (Refused, Validated, Integrated)

  • operationType (Creation, Modification, Identical)

  • submissionDate, packageId, completeness, and variant metadata

  • Lists of errors, warnings, infos tied to each product

Functional Rules

  • You must provide at least one filter: packageId, gtin, or cursor

  • Pagination supported using:

    • pageIndex and pageSize (default: 1, 25)

    • Or cursor and limit (preferred in newer versions)

  • Supports optional filters:

    • fields to limit returned fields (e.g., fields=gtin,title,status)

    • sort, desc to sort ascending/descending

  • status may be:

    • Refused: the product failed and was not created

    • Validated: the product was syntactically valid and processing has started

    • Integrated: the product is now live in the referential (with possible warnings)

Endpoint to use

Important notes

  • operationType=Identical means the submitted data matched the existing one — no changes made

  • Use errors[].field, errors[].message to explain why integration failed and warnings[] array for potential notifications

  • Combine this endpoint with packageId from submission response to build a seamless feedback loop

  • Reports may take several seconds to generate — check with retry logic if needed

  • Search by gtin can provide multiple submissions results

FAQ

 What is the difference between a product and an offer on Octopia?

A product defines the content of a product sheet: title, description, pictures, attributes, brand, etc.
An offer contains the commercial terms for that product: price, quantity, delivery, seller-specific data.
You must create a product first, before submitting an offer on it.

 What is the minimum required data to create a product?

You must provide:

  • A valid GTIN code (or EAN-8 EAN-12 EAN-13)

  • A level-3 category code (6 alphanumeric characters, e.g. 1D0903)

  • A title, description, and at least one picture

  • A language (e.g. fr-FR for Cdiscount)

  • A sellerProductReference

  • A brand (free text, validated automatically)

  • Optionally, attributes specific to the category (some may be mandatory)

 Product Localization – Can I create/read product data in different languages ?

Retrieving data can be done in 3 languages (FR,EN,ES) passed in queries as an Accept-Language header following RFC5646 as language (ISO 639) and country (ISO 3166-1); e.g. fr-FR, en-EN, es-ES. It applies to Categories, properties and product data.

Publishing product information follows the same rule.

However non-french product sheets are not accepted on all Octopia Network marketplaces.

Octopia does not translate to French, only translation from French is available.

Products not created in French will not be available in the French catalog.

 What is a level-3 category, and why is it required?

Level-3 categories are the most specific and detailed classification in the Octopia taxonomy.
They are identified by 6-character codes (e.g. 0D0502 for smartphones).
Product creation is only allowed for level-3 categories — level 1 and 2 are for navigation only.

 How does brand validation work?

The brand field is free text, but the value must pass validation:

  • If the brand already exists in the Octopia referential, it will be linked

  • If it does not exist but is valid, it will be added to the referential

  • If it fails validation, the product creation will be rejected

Use GET /brands to retrieve known brands – but this is not mandatory for submission.

There is no notification of approval or rejection.

Purely numeric values will be rejected.

 What is a variant group, and when should I use it?

You should use a variantGroupReference, Color and Size, to link similar products together (e.g., same T-shirt in different sizes).
Each variant must still have its own GTIN and title but will be grouped for display if the category allows variation.

 What are the rules for images?
  1. At least one image is required

  2. Allowed formats: JPEG, PNG, GIF, BMP, WEBP

  3. Dimensions must be upper than 500×500

  4. Provide URLs in sellerPictureUrls

  5. Provided URLs must be:

    1. reachable from Octopia’s infrastructure (IP range upon request)

    2. not enforce network redirects

    3. allow collection (GET queries) through calls without User-Agent

 How can I check if a product has been integrated successfully?

Use GET /products-integration-reports with:

  • A packageId

  • Or a list of gtin values

Each product will include a status (Integrated, Refused, Validated) and possible errors or warnings.

 Can I submit multiple products at once?

Yes. The POST /products-integration endpoint accepts up to 10000 products per request.
Each product must be a complete object — partial updates are not supported.

 What happens if I submit the same product twice?

If the product is identical to an existing one, the response will indicate OperationType = Identical.
If some data is different, the product will be updated (OperationType = Modification).
If it’s new, it will be created.