Article API - Apigee (1.2.0)
Download OpenAPI specification:Download
Article API documentation
Authentication & Authorization
You will need to be identified before calling any endpoints.
In order to be recognized and authorized to access our Sale API, we put in place 2 mechanisms:
- Authentication mechanism is done with a client id dedicated to you.
Remember that the client id provided should be shared with care.
The client id must be inserted in the header of the request in the appropriate field - Authorization mechanism is done by a well-known authorization flow for REST Web API: Basic auth flow.
Get article data
Get articles data filtered by parameters
Authorizations:
query Parameters
| pageNumber | integer <int32> (PageNumberParam) [ 1 .. 1000 ] Default: 1 Example: pageNumber=2 The page number |
| pageSize | integer <int32> (PageSizeParam) [ 1 .. 1000 ] Default: 1000 Example: pageSize=2 The page size |
| lastModifiedDateFrom | string <date-time> (lastModifiedDateFromParam) Example: lastModifiedDateFrom=2024-05-02T10:00:00 Date from for last update date of data |
| lastModifiedDateTo | string <date-time> (lastModifiedDateToParam) Example: lastModifiedDateTo=2024-05-02T10:00:00 Date to for last update date of data |
| externalRef | string (ExternalRefQueryParam) <= 255 characters Example: externalRef=1000045 Article reference code of the source |
| source | string (SourceQueryParam) <= 255 characters Example: source=GENES Source application and instance |
| codes | Array of integers <int64> (CodeListQueryParameter) [ 1 .. 100 ] items [ items <int64 > ] Example: codes=123,234 List of article code |
| ean | Array of strings (EanListQueryParameter) [ 1 .. 100 ] items [ items <= 255 characters ] Example: ean=32974327943,789456 List of ean |
| withExternalRef | boolean (WithExternalRefQueryParam) Default: false Example: withExternalRef=true Return the external reference if set to true |
| type | string (TypeQueryParam) [ 1 .. 255 ] characters Example: type=PRODUCT The type of the article |
| category | string (CategoryQueryParam) [ 1 .. 255 ] characters Example: category=TYRE The category of the article |
| withAbbreviations | boolean (WithAbbreviationsQueryParam) Default: false Example: withAbbreviations=true Return two additional fields with brand abbreviation and model abbreviation. |
Responses
Response samples
- 200
- 400
- 500
{- "pagination": {
- "next": "/article-erm/v1/articles?pageNumber=3&pageSize=50",
- "previous": "/article-erm/v1/articles?pageNumber=1&pageSize=50",
- "pageTotal": "3",
- "totalElements": "125"
}, - "articles": [
- {
- "code": "1000001",
- "name": "MICHELIN CROSSCLIMATE 2 205/55 R16 94 V",
- "brandAbbreviation": "MICH",
- "modelAbbreviation": "X LINE ENERGY D",
- "brand": "Michelin",
- "ean": "32974327943",
- "type": "PRODUCT",
- "category": "TYRE",
- "clearClassCode": "LTA11124",
- "lastModifiedDate": "2024-12-27T12:23:23",
- "references": [
- {
- "source": "ES_EQUITY",
- "externalRef": "12345",
- "countryCode": "ES",
- "lastModifiedDate": "2024-12-27T12:23:23"
}
]
}
]
}Create an article or batch create articles
Create a single article using JSON payload or create multiple articles using CSV file upload.
Authorizations:
Request Body schema: application/json
| active | boolean (ArticleActive) Default: true Indicates if the article is active |
| name required | string (ArticleName) <= 255 characters Article name |
| ean | string (ArticleEan) <= 255 characters Article ean |
| brand | string (ArticleBrand) <= 255 characters Article brand |
| model | string (ArticleModel) <= 255 characters Model of the article |
| type | string (ArticleTypeEnum) Enum: "PRODUCT" "PACKAGE" "SERVICE" Type of the article |
| category | string (ArticleCategoryEnum) Enum: "TYRE" "OIL" "WIPER" "PADS" "DISK" Category of the article |
| clearClassCode | string (ArticleClearClassCode) <= 255 characters Article clear class code |
Responses
Request samples
- Payload
Create an article with the given informations
{- "active": "true",
- "name": "Michelin CrossClimate 2 205/55R16 91V",
- "ean": "3528702522950",
- "brand": "MICHELIN",
- "model": "CROSS CONTROL S2",
- "type": "PRODUCT",
- "category": "TYRE",
- "clearClassCode": "LTA11124"
}Response samples
- 201
- 400
- 401
- 500
{- "code": "100001",
- "active": true,
- "name": "Michelin CrossClimate 2 205/55R16 91V",
- "ean": "3528702522950",
- "brand": "MICHELIN",
- "model": "CROSS CONTROL S2",
- "type": "PRODUCT",
- "category": "TYRE",
- "clearClassCode": "LTA11124",
- "lastModifiedDate": "2025-07-10T14:30:00Z",
- "lastModifiedBy": "user1"
}Create article data
Create article
Authorizations:
Request Body schema: application/json
| externalRef required | string (ExternalRef) <= 255 characters Article reference code of the source |
| name | string (ArticleName) <= 255 characters Article name |
| brand | string (ArticleBrand) <= 255 characters Article brand |
| ean | string (ArticleEan) <= 255 characters Article ean |
| clearClassCode | string (ArticleClearClassCode) <= 255 characters Article clear class code |
Responses
Request samples
- Payload
Create an article with the given informations
{- "externalRef": "12345"
}Response samples
- 200
- 400
- 500
{- "code": "1000293"
}Quick search articles data
Quick search articles data (name and code) filtered by parameters
Authorizations:
query Parameters
| value required | string (ValueQueryParam) [ 1 .. 255 ] characters Example: value=MIC%20205%20CROSS The value contained in the article's name |
| category required | string (CategoryQueryParam) [ 1 .. 255 ] characters Example: category=TYRE The category of the article |
| type required | string (TypeQueryParam) [ 1 .. 255 ] characters Example: type=PRODUCT The type of the article |
| limit | integer <int32> (LimitQueryParam) [ 1 .. 1000 ] Default: 100 Example: limit=2 The limit size |
Responses
Response samples
- 200
- 400
- 401
- 500
[- {
- "code": 100001,
- "name": "MICHELIN CROSSCLIMATE 2 205/55 R16 91W"
}, - {
- "code": 100002,
- "name": "MICHELIN CROSSCLIMATE 2 225/55 R17 91W"
}
]Get an article
Retrieve an article by its code
Authorizations:
path Parameters
| articleCode required | integer <int64> (ArticleCodeParam) Example: 100000 Targeted article code |
query Parameters
| withAbbreviations | boolean (WithAbbreviationsQueryParam) Default: false Example: withAbbreviations=true Return two additional fields with brand abbreviation and model abbreviation. |
Responses
Response samples
- 200
- 401
- 404
- 500
{- "code": "1000001",
- "active": true,
- "name": "MICHELIN X LINE ENERGY D 315/80 R22.5 156L",
- "brandAbbreviation": "MICH",
- "modelAbbreviation": "X LINE ENERGY D",
- "brand": "MICHELIN",
- "ean": "3528701653389",
- "type": "PRODUCT",
- "category": "TYRE",
- "clearClassCode": "LTA11124",
- "lastModifiedDate": "2024-12-27:12:23:23",
- "lastModifiedBy": "user1"
}Quick search tyre dimensions data
Quick search tyre dimensions data
Authorizations:
query Parameters
| value required | string (SearchTyreDimensionQueryParam) <= 255 characters Example: value=315 80 22 The tyre dimension to search for |
| limit | integer <int32> (LimitQueryParam) [ 1 .. 1000 ] Default: 100 Example: limit=2 The limit size |
Responses
Response samples
- 200
- 400
- 401
- 500
[- {
- "dimension": "315/80 R22.5"
}, - {
- "dimension": "315/90 R22.5"
}
]