Party API - Apigee (1.1.0)
Download OpenAPI specification:Download
Party API documentation
Authentication & Authorization
You will need to be identified before calling any endpoints.
In order to be recognized and authorized to access our Party 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.
Create retail customer.
This endpoint allows to create or update a retail customer.
Authorizations:
Request Body schema: application/json
externalRef required | string (externalRef) <= 255 characters External reference identifier |
membership | string (membership) <= 255 characters Membership program of the party |
title | string (title) <= 255 characters The title of the contact (e.g., Mr., Mrs., Ms.) |
firstName | string (firstName) <= 255 characters The first name of the contact |
lastName | string (lastName) <= 255 characters The last name of the contact |
secondLastName | string (secondLastName) <= 255 characters The second last name of the contact |
nationalIdentificationNumber | string (nationalIdentificationNumber) <= 255 characters The national identification number of the contact |
string (email) <= 255 characters The email address of the contact | |
phoneNumber | string (phoneNumber) <= 255 characters The phone number of the contact |
mobilePhoneNumber | string (mobilePhoneNumber) <= 255 characters Mobile phone number of the contact |
birthDate | string <date> (birthDate) The birth date of the contact |
addressLine1 | string (addressLine1) <= 255 characters The first line of the address |
addressLine2 | string (addressLine2) <= 255 characters The second line of the address |
addressLine3 | string (addressLine3) <= 255 characters The third line of the address |
postalCode | string (postalCode) <= 255 characters The postal code of the address |
city | string (city) <= 255 characters The city of the address |
subdivision | string (subdivision) <= 255 characters The subdivision (e.g., state, province) of the address |
countryCode required | string (countryCode) <= 255 characters The country code of the address |
object The contact's communication preferences | |
object GDPR consent details. |
Responses
Request samples
- Payload
{- "externalRef": "12345678",
- "membership": "Michelin",
- "title": "M",
- "firstName": "John",
- "lastName": "DOE",
- "secondLastName": null,
- "nationalIdentificationNumber": "12345678E",
- "email": "mail@email.com",
- "phoneNumber": "00 001 1111111",
- "mobilePhoneNumber": null,
- "birthDate": "1990-10-10",
- "addressLine1": "Neumarkter Str.",
- "addressLine2": null,
- "addressLine3": null,
- "postalCode": "44666",
- "city": "City",
- "subdivision": null,
- "countryCode": "DE",
- "communicationChannel": {
- "sms": {
- "authorized": true,
- "marketingConsent": true,
- "consentDate": "2024-09-10"
}, - "email": {
- "authorized": true,
- "marketingConsent": true,
- "consentDate": null
}, - "postal": {
- "authorized": true,
- "marketingConsent": true,
- "consentDate": null
}
}, - "gdpr": {
- "signed": true,
- "signedDate": "2024-12-27"
}
}
Response samples
- 200
- 400
- 401
- 500
{- "code": "10001111"
}
Get parties data
Get parties data filtered by parameters
Authorizations:
query Parameters
pageNumber | integer <int32> (PageNumberQueryParam) [ 1 .. 1000 ] Default: 1 Example: pageNumber=2 The page number |
pageSize | integer <int32> (PageSizeQueryParam) [ 1 .. 1000 ] Default: 1000 Example: pageSize=2 The page size |
lastModifiedDateFrom | string <date-time> (LastModifiedDateFromQueryParam) Example: lastModifiedDateFrom=2024-05-02T10:00:00 Date from for last update date of data |
lastModifiedDateTo | string <date-time> (LastModifiedDateToQueryParam) Example: lastModifiedDateTo=2024-05-02T10:00:00 Date to for last update date of data |
externalRef | string (externalRef) <= 255 characters Example: externalRef=12345678 external ref of the party |
source | string (source) <= 255 characters Example: source=GENES source of the party |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "pagination": {
- "next": "/party-erm/v1/parties/extended?page=3&size=50",
- "previous": "/party-erm/v1/parties/extended?page=1&size=50",
- "pageTotal": "3",
- "totalElements": "125"
}, - "parties": [
- {
- "code": "100001",
- "type": "B2C",
- "active": true,
- "membership": "Michelin",
- "sites": [
- {
- "code": "100011",
- "name": "John DOE",
- "addressLine1": "Neumarkter Str.",
- "addressLine2": null,
- "addressLine3": null,
- "postalCode": "44666",
- "city": "City",
- "subdivision": null,
- "countryCode": "DE",
- "contact": [
- {
- "code": "100111",
- "title": "M",
- "firstName": "John",
- "lastName": "DOE",
- "secondLastName": null,
- "nationalIdentificationNumber": "12345678E",
- "email": "mail@email.com",
- "phoneNumber": "00 001 1111111",
- "mobilePhoneNumber": null,
- "birthDate": "1990-10-10",
- "communicationChannel": {
- "sms": {
- "authorized": true,
- "marketingConsent": true,
- "consentDate": "2024-09-10"
}, - "email": {
- "authorized": true,
- "marketingConsent": true,
- "consentDate": "2024-09-11"
}, - "postal": {
- "authorized": true,
- "marketingConsent": true,
- "consentDate": "2024-09-12"
}
}, - "gdpr": {
- "signed": true,
- "signedDate": "2024-12-27"
}
}
]
}
], - "references": [
- {
- "source": "GENES",
- "externalRef": "12345678",
- "countryCode": "ES",
- "lastModifiedDate": "2024-12-27T12:23:23"
}
]
}
]
}
Create party data
Create party external
Authorizations:
Request Body schema: application/json
externalRef required | string (externalRef) <= 255 characters External reference identifier |
functionalRef | string (functionalRef) <= 255 characters Functional reference identifier |
type required | string (TypeEnum) Enum: "B2B" "B2C" The type of the party |
name | string (name) <= 255 characters The name |
Responses
Request samples
- Payload
Create a party with the given informations
{- "externalRef": "YEIZR",
- "functionalRef": "B1234",
- "type": "B2B",
- "name": "TRANSPORT NICOLAS"
}
Response samples
- 200
- 400
- 401
- 500
{- "code": 10001111
}
Quick search parties data
Quick search parties data (name and code) filtered by parameters
Authorizations:
query Parameters
value required | string (ValueQueryParam) [ 1 .. 255 ] characters Example: value=Transp The value contained in the party's name |
limit | integer <int32> (LimitQueryParam) [ 1 .. 1000 ] Default: 100 Example: limit=2 The limit size |
Responses
Response samples
- 200
- 400
- 401
- 500
[- {
- "code": 100001,
- "name": "TRANSPORT NICOLAS"
}, - {
- "code": 100006,
- "name": "TRANSPORT XXX"
}
]
Create a party.
This endpoint allows to create a party.
Authorizations:
Request Body schema: application/json
functionalRef | string (functionalRef) <= 255 characters Functional reference identifier |
type required | string (TypeEnum) Enum: "B2B" "B2C" The type of the party |
name | string (name) <= 255 characters The name |
Responses
Request samples
- Payload
{- "functionalRef": "B1234",
- "type": "B2B",
- "name": "TRANSPORT NICOLAS"
}
Response samples
- 200
- 400
- 401
- 500
{- "code": 100001,
- "functionalRef": "B1234",
- "type": "B2B",
- "active": true,
- "name": "TRANSPORT NICOLAS",
- "lastModifiedDate": "2024-12-27:12:23:23"
}
Get parties data
Get parties data filtered by parameters
Authorizations:
query Parameters
pageNumber | integer <int32> (PageNumberQueryParam) [ 1 .. 1000 ] Default: 1 Example: pageNumber=2 The page number |
pageSize | integer <int32> (PageSizeQueryParam) [ 1 .. 1000 ] Default: 1000 Example: pageSize=2 The page size |
lastModifiedDateFrom | string <date-time> (LastModifiedDateFromQueryParam) Example: lastModifiedDateFrom=2024-05-02T10:00:00 Date from for last update date of data |
lastModifiedDateTo | string <date-time> (LastModifiedDateToQueryParam) Example: lastModifiedDateTo=2024-05-02T10:00:00 Date to for last update date of data |
functionalRef | string (functionalRef) <= 255 characters Example: functionalRef=B1234 Functional reference |
type | string (TypeEnum) Enum: "B2B" "B2C" Example: type=B2B Type of parties |
withInactive | boolean (WithInactiveQueryParam) Default: false Example: withInactive=true If filled then return active and inactive parties (default false) |
withExternalRef | boolean (WithExternalRefQueryParam) Default: false Example: withExternalRef=true If filled then return external references for each party (default false) |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "pagination": {
- "next": "/party-erm/v1/parties?page=3&size=50",
- "previous": "/party-erm/v1/parties?page=1&size=50",
- "pageTotal": "3",
- "totalElements": "125"
}, - "parties": [
- {
- "code": "100001",
- "functionalRef": "B1234",
- "type": "B2C",
- "active": true,
- "name": "Michelin",
- "lastModifiedDate": "2024-12-27:12:23:23",
- "references": [
- {
- "source": "GENES",
- "externalRef": "12345678",
- "countryCode": "ES",
- "lastModifiedDate": "2024-12-27T12:23:23"
}
]
}
]
}
Get a party
Retrieve a party by his code
Authorizations:
path Parameters
partyCode required | integer <int32> (PartyCodeQueryParam) Example: 1000001 Targeted party code |
Responses
Response samples
- 200
- 401
- 404
- 500
{- "code": 100001,
- "functionalRef": "B1234",
- "type": "B2B",
- "active": true,
- "name": "Euromaster Kepler",
- "lastModifiedDate": "2024-12-27:12:23:23"
}
Update a party
Update a party by his code
Authorizations:
path Parameters
partyCode required | integer <int32> (PartyCodeQueryParam) Example: 1000001 Targeted party code |
Request Body schema: application/json
functionalRef | string (functionalRef) <= 255 characters Functional reference identifier |
type required | string (TypeEnum) Enum: "B2B" "B2C" The type of the party |
name | string (name) <= 255 characters The name |
Responses
Request samples
- Payload
{- "functionalRef": "B1234",
- "type": "B2B",
- "name": "TRANSPORT NICOLAS"
}
Response samples
- 200
- 401
- 404
- 500
{- "code": 100001,
- "functionalRef": "B1234",
- "type": "B2B",
- "active": true,
- "name": "TRANSPORT NICOLAS",
- "lastModifiedDate": "2024-12-27:12:23:23"
}
Delete a party
Update a party to set his active attribute to false
Authorizations:
path Parameters
partyCode required | integer <int32> (PartyCodeQueryParam) Example: 1000001 Targeted party code |
Responses
Response samples
- 404
- 500
{- "errors": [
- {
- "error": "The party code XXABCXX cannot be found",
- "property": "partyCode"
}
]
}
Get sites for a party
Retrieve sites by party code
Authorizations:
path Parameters
partyCode required | integer <int32> (PartyCodeQueryParam) Example: 1000001 Targeted party code |
Responses
Response samples
- 200
- 401
- 404
- 500
[- {
- "code": 100023,
- "partyCode": 1000032,
- "name": "Euromaster Kepler",
- "addressLine1": "Industrichone",
- "addressLine2": null,
- "addressLine3": null,
- "postalCode": "42697",
- "city": "Solingen"
}, - {
- "code": 100024,
- "partyCode": 1000033,
- "name": "Euromaster Neumarkt",
- "addressLine1": "Industrichone",
- "addressLine2": null,
- "addressLine3": null,
- "postalCode": "92318",
- "city": "Neumarkt"
}
]
Get sites data
Get sites data filtered by parameters
Authorizations:
query Parameters
pageNumber | integer <int32> (PageNumberQueryParam) [ 1 .. 1000 ] Default: 1 Example: pageNumber=2 The page number |
pageSize | integer <int32> (PageSizeQueryParam) [ 1 .. 1000 ] Default: 1000 Example: pageSize=2 The page size |
lastModifiedDateFrom | string <date-time> (LastModifiedDateFromQueryParam) Example: lastModifiedDateFrom=2024-05-02T10:00:00 Date from for last update date of data |
lastModifiedDateTo | string <date-time> (LastModifiedDateToQueryParam) Example: lastModifiedDateTo=2024-05-02T10:00:00 Date to for last update date of data |
name | string (name) <= 255 characters Example: name=Euromaster Kepler The value contained in the site's name |
functionalRef | string (functionalRef) <= 255 characters Example: functionalRef=B1234 functional ref of the site |
externalRef | string (externalRef) <= 255 characters Example: externalRef=12345678 external ref of the site |
source | string (source) <= 255 characters Example: source=GENES source of the site |
withInactive | boolean (WithInactiveQueryParam) Default: false Example: withInactive=true Retrieve inactive site or not |
withExternalRef | boolean (WithExternalRefQueryParam) Default: false Example: withExternalRef=true Retrieve external ref data or not |
codes | Array of integers <int64> (SiteCodeListQueryParameter) [ 1 .. 100 ] items [ items <int64 > ] Example: codes=123,234 List of site code |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "pagination": {
- "next": "/party-erm/v1/sites?page=3&size=50",
- "previous": "/party-erm/v1/sites?page=1&size=50",
- "pageTotal": "3",
- "totalElements": "125"
}, - "sites": [
- {
- "partyCode": 100001,
- "code": 100023,
- "functionalRef": "B1234",
- "active": true,
- "name": "Euromaster Kepler",
- "addressLine1": "Industrichone",
- "addressLine2": null,
- "addressLine3": null,
- "postalCode": "42697",
- "city": "Solingen",
- "subdivision": null,
- "countryCode": "DE",
- "lastModifiedDate": "2024-12-27:12:23:23",
- "references": [
- {
- "source": "ES_EQUITY",
- "externalRef": "20831238",
- "countryCode": "ES",
- "lastModifiedDate": "2024-12-27:12:23:23"
}
]
}
]
}
Create a site.
This endpoint allows to create a site.
Authorizations:
Request Body schema: application/json
partyCode required | integer <int64> (partyCode) Party code of the source |
functionalRef | string (functionalRef) <= 255 characters Functional reference identifier |
name required | string (name) <= 255 characters The name |
addressLine1 | string (addressLine1) <= 255 characters The first line of the address |
addressLine2 | string (addressLine2) <= 255 characters The second line of the address |
addressLine3 | string (addressLine3) <= 255 characters The third line of the address |
postalCode | string (postalCode) <= 255 characters The postal code of the address |
city | string (city) <= 255 characters The city of the address |
subdivision | string (subdivision) <= 255 characters The subdivision (e.g., state, province) of the address |
countryCode required | string (countryCode) <= 255 characters The country code of the address |
Responses
Request samples
- Payload
{- "partyCode": 1000032,
- "functionalRef": "B1234",
- "name": "Euromaster Kepler",
- "addressLine1": "Industrichone",
- "addressLine2": null,
- "addressLine3": null,
- "postalCode": "42697",
- "city": "Solingen",
- "subdivision": null,
- "countryCode": "DE"
}
Response samples
- 200
- 400
- 401
- 500
{- "code": 100023,
- "partyCode": 1000032,
- "functionalRef": "B1234",
- "active": true,
- "name": "Euromaster Kepler",
- "addressLine1": "Industrichone",
- "addressLine2": null,
- "addressLine3": null,
- "postalCode": "42697",
- "city": "Solingen",
- "subdivision": null,
- "countryCode": "DE",
- "lastModifiedDate": "2024-12-27:12:23:23"
}
Create site data
Create site external
Authorizations:
Request Body schema: application/json
partyCode required | integer <int64> (partyCode) Party code of the source |
externalRef required | string (externalRef) <= 255 characters External reference identifier |
functionalRef | string (functionalRef) <= 255 characters Functional reference identifier |
name | string (name) <= 255 characters The name |
addressLine1 | string (addressLine1) <= 255 characters The first line of the address |
addressLine2 | string (addressLine2) <= 255 characters The second line of the address |
addressLine3 | string (addressLine3) <= 255 characters The third line of the address |
postalCode | string (postalCode) <= 255 characters The postal code of the address |
city | string (city) <= 255 characters The city of the address |
subdivision | string (subdivision) <= 255 characters The subdivision (e.g., state, province) of the address |
countryCode required | string (countryCode) <= 255 characters The country code of the address |
Responses
Request samples
- Payload
Create a site with the given informations
{- "externalRef": "UIOZE",
- "partyCode": 1000032,
- "functionalRef": "B1234",
- "name": "Euromaster Kepler",
- "addressLine1": "Industrichone",
- "addressLine2": null,
- "addressLine3": null,
- "postalCode": "42697",
- "city": "Solingen",
- "subdivision": null,
- "countryCode": "DE"
}
Response samples
- 200
- 400
- 401
- 404
- 500
{- "code": 10001111
}
Get a site
Retrieve a site by his code
Authorizations:
path Parameters
siteCode required | integer <int64> (SiteCodeQueryParam) Example: 1000032 Targeted site code |
Responses
Response samples
- 200
- 401
- 404
- 500
{- "code": 100023,
- "partyCode": 1000032,
- "functionalRef": "B1234",
- "active": true,
- "name": "Euromaster Kepler",
- "addressLine1": "Industrichone",
- "addressLine2": null,
- "addressLine3": null,
- "postalCode": "42697",
- "city": "Solingen",
- "subdivision": null,
- "countryCode": "DE",
- "lastModifiedDate": "2024-12-27:12:23:23"
}
Update a site
Update a site by his code
Authorizations:
path Parameters
siteCode required | integer <int64> (SiteCodeQueryParam) Example: 1000032 Targeted site code |
Request Body schema: application/json
partyCode required | integer <int64> (partyCode) Party code of the source |
functionalRef | string (functionalRef) <= 255 characters Functional reference identifier |
name required | string (name) <= 255 characters The name |
addressLine1 | string (addressLine1) <= 255 characters The first line of the address |
addressLine2 | string (addressLine2) <= 255 characters The second line of the address |
addressLine3 | string (addressLine3) <= 255 characters The third line of the address |
postalCode | string (postalCode) <= 255 characters The postal code of the address |
city | string (city) <= 255 characters The city of the address |
subdivision | string (subdivision) <= 255 characters The subdivision (e.g., state, province) of the address |
countryCode required | string (countryCode) <= 255 characters The country code of the address |
Responses
Request samples
- Payload
{- "partyCode": "1000032",
- "functionalRef": "B1234",
- "name": "Euromaster Kepler",
- "addressLine1": "Industrichone",
- "addressLine2": null,
- "addressLine3": null,
- "postalCode": "42697",
- "city": "Solingen",
- "subdivision": null,
- "countryCode": "DE"
}
Response samples
- 200
- 401
- 404
- 500
{- "code": 100023,
- "partyCode": 1000032,
- "functionalRef": "B1234",
- "active": true,
- "name": "Euromaster Kepler",
- "addressLine1": "Industrichone",
- "addressLine2": null,
- "addressLine3": null,
- "postalCode": "42697",
- "city": "Solingen",
- "subdivision": null,
- "countryCode": "DE",
- "lastModifiedDate": "2024-12-27:12:23:23"
}
Delete a site
Update a site to set his active attribute to false
Authorizations:
path Parameters
siteCode required | integer <int64> (SiteCodeQueryParam) Example: 1000032 Targeted site code |
Responses
Response samples
- 404
- 500
{- "errors": [
- {
- "error": "The site code XXABCXX cannot be found",
- "property": "siteCode"
}
]
}
Get offers data
Get offers data filtered by parameters
Authorizations:
query Parameters
type | string (OfferTypeQueryParam) <= 255 characters Example: type=PROSPECTING The type of the offer |
customerType | string (CustomerTypeQueryParam) <= 255 characters Example: customerType=B2B The type of the customer |
Responses
Response samples
- 200
- 400
- 401
- 500
[- {
- "code": 100000,
- "name": "Master Care+",
- "type": "PROSPECTING",
- "vehicleCategory": "TRUCK",
- "customerType": "B2B",
- "lastModifiedDate": "2024-12-27T12:23:23"
}, - {
- "code": 100001,
- "name": "Master Premium",
- "type": "TRANSACTIONAL",
- "vehicleCategory": "TRUCK",
- "customerType": "B2B",
- "lastModifiedDate": "2024-12-27T12:23:23"
}
]