Download OpenAPI specification:Download
Cette API offre différents services permettant de gérer des utilisateurs O2S ainsi que les informations liées.
Pour ce faire, plusieurs ressources sont à disposition, à savoir :
Utilisateur
: Permet de gérer l'entité de base de cette API que sont les utilisateurs.Agence
: Permet de gérer les agences.Profil
: Permet de gérer les profils.Dans le cadre de la mise à disposition de l’API, HARVEST s’engage à effectuer pour le compte du Client responsable de traitement, les opérations de traitement de données à caractère personnel en qualité de sous-traitant. A ce titre, HARVEST et le Client s’engagent à respecter la réglementation en vigueur applicable au traitement de données à caractère personnel en particulier, le règlement (UE) 2016/679 du Parlement européen et du Conseil du 27 avril 2016 (ci-après le « RGPD »).
L’API peut vous permettre de renseigner librement des propriétés typées et non typées. HARVEST attire votre attention sur la nécessité, lors de la complétude de ces propriétés, de respecter les dispositions du RGPD. Dès lors, seules les données adéquates, pertinentes et strictement nécessaires au regard de la finalité des traitements réalisés par l’API doivent être transmises.
L’API contient par ailleurs des zones de commentaires libres dans lesquelles vous devez impérativement rédiger des commentaires objectifs, jamais excessifs ou insultants. Aussi, vous devez exclure toute donnée considérée comme sensible (origine raciale ou ethnique, opinions politiques, philosophiques ou religieuses, appartenance syndicale, données relatives à la santé ou à la vie sexuelle, infractions, condamnations, mesure de sûreté). En cas de doute, vous pouvez contacter votre DPO qui vous indiquera ce qu’il est possible de rédiger pour ne pas porter atteinte aux droits des personnes concernées.
Pour utiliser l'API O2S, vous devez préalablement vous authentifier en suivant le protocole OAuth2 "password grant type" afin de récupérer un jeton (JWT) d'accès.
Les informations nécessaires à l'obtention d'un jeton sont constituées :
Il vous faut renseigner ces informations dans la ressource en entrée du service d'obtention d'un nouveau jeton.
Le jeton JWT doit être fourni lors de l'appel de chaque requête à l'API. Il doit être ajouté dans
l'entête HTTP Authorization comme ceci :
Authorization: Bearer <JWT>
Le jeton JWT d'accès à exploiter est retourné dans valeur de la propriété access_token
.
Il doit être précisé dans l'entête HTTP de toutes les requêtes (sauf celle d'authentification) comme ceci :
Authorization: Bearer <access_token>
grant_type required | string Value: "password" Méthode d'authentification OAuth à définir obligatoirement à |
client_id required | string Identifiant de l'application cliente. |
client_secret required | string Secret de l'application cliente. |
username required | string Identifiant de connexion de l'utilisateur. |
password required | string Mot de passe de l'utilisateur. |
grant_type=password&client_id=clientId&client_secret=clientSecret&username=username&password=password
{- "access_token": "eyJhbGciOi...fgWOZZmV7Q",
- "expires_in": 86400,
- "refresh_expires_in": 86400,
- "refresh_token": "eyJhbGciOi...KiIVIifWw",
- "token_type": "bearer",
- "not-before-policy": 1602682985,
- "session_state": "85d20350-891b-4dad-b6ed-c411c6ac870c",
- "scope": "..."
}
Les réponses principales de l'API sont décrites au niveau de chacune de ses ressources (GET, POST, PUT, DELETE...).
Celles qui n'y sont pas spécifiées sont celles retournées en cas de problème soit avec la requête elle-même soit avec le serveur ou son environnement.
Les statuts HTTP concernés par ces dernières sont les 4xx (hors 404) et 5xx.
Le format des réponses répond au schéma Problem Zalando.
Récupère une liste d'Utilisateur
correspondant aux critères facultatifs de recherche.
Par défaut :
refext | string^.+:.*$ Example: refext=SI:12345 Référence externe de l'utilisateur recherché (de la forme |
responsableId | string (TypeId) [ 1 .. 100 ] characters Référence (id) de l'utilisateur responsable hiérarchique des utilisateurs recherchés |
agenceId | string (TypeId) [ 1 .. 100 ] characters Référence (id) d'une agence de rattachement des utilisateurs recherchés |
profilId | string (TypeId) [ 1 .. 100 ] characters Référence (id) du profil des utilisateurs recherchés |
limit | integer Default: 20 Nombre maximum d'utilisateurs à retourner |
offset | integer Default: 0 Indice (0-based) du premier utilisateur à retourner |
[- {
- "id": "string",
- "libelle": "string",
- "dateCreation": "2019-08-24T14:15:22Z",
- "dateMaj": "2019-08-24T14:15:22Z",
- "login": "string",
- "profilId": "string",
- "refExternes": {
- "property1": "string",
- "property2": "string"
}, - "statut": "ACTIVE",
- "responsableId": "string",
- "agenceIds": [
- "string"
], - "donneesPersonnelles": {
- "civilite": "M",
- "nom": "string",
- "nomNaissance": "string",
- "prenoms": [
- "string"
], - "moyensContact": {
- "adresse": {
- "intitule": "string",
- "identification": "string",
- "immeuble": "string",
- "voie": "string",
- "codePostal": "06400",
- "localite": "string",
- "lieuDit": "string",
- "codePays": "stri"
}, - "telephones": [
- {
- "type": "DOMICILE",
- "numero": "string",
- "usages": {
- "property1": "string",
- "property2": "string"
}
}
], - "emails": [
- {
- "type": "PERSONNEL",
- "adresse": "string",
- "libelle": "string",
- "usages": {
- "property1": "string",
- "property2": "string"
}
}
]
}
}
}
]
Crée un nouvel Utilisateur
.
Les données d'un Utilisateur
à créer.
libelle | string (TypeLibelle) [ 1 .. 200 ] characters Le libellé de l'entité. |
login | string <= 50 characters Login utilisé pour la connexion à l'application |
profilId required | string [ 1 .. 100 ] characters Référence (id) d'un profil utilisateur |
object (TypeReferencesExternes) Collection d'identifiants de la ressource dans plusieurs référentiels. Chaque référence externe est constituée :
| |
statut | string (TypeStatutUtilisateur) Enum: "ACTIVE" "DESACTIVE" Permet de spécifier si le compte utilisateur est activé ou désactivé |
responsableId | string [ 1 .. 100 ] characters Référence (id) de l'utilisateur responsable hiérarchique |
agenceIds | Array of strings (TypeId) [ items [ 1 .. 100 ] characters ] Références (ids) des agences de rattachement |
object (DonneesPersonnelles) Données à caractère personnel |
{- "libelle": "string",
- "login": "string",
- "profilId": "string",
- "refExternes": {
- "property1": "string",
- "property2": "string"
}, - "statut": "ACTIVE",
- "responsableId": "string",
- "agenceIds": [
- "string"
], - "donneesPersonnelles": {
- "civilite": "M",
- "nom": "string",
- "nomNaissance": "string",
- "prenoms": [
- "string"
], - "moyensContact": {
- "adresse": {
- "intitule": "string",
- "identification": "string",
- "immeuble": "string",
- "voie": "string",
- "codePostal": "06400",
- "localite": "string",
- "lieuDit": "string",
- "codePays": "stri"
}, - "telephones": [
- {
- "type": "DOMICILE",
- "numero": "string",
- "usages": {
- "property1": "string",
- "property2": "string"
}
}
], - "emails": [
- {
- "type": "PERSONNEL",
- "adresse": "string",
- "libelle": "string",
- "usages": {
- "property1": "string",
- "property2": "string"
}
}
]
}
}
}
Récupère les données d'un unique Utilisateur
.
utilisateurId required | string (TypeId) [ 1 .. 100 ] characters Référence (id) de l'utilisateur si la valeur est connue. Mettre la valeur 'myself' pour le GET afin de retourner les informations sur l'utilisateur connecté |
{- "id": "string",
- "libelle": "string",
- "dateCreation": "2019-08-24T14:15:22Z",
- "dateMaj": "2019-08-24T14:15:22Z",
- "login": "string",
- "profilId": "string",
- "refExternes": {
- "property1": "string",
- "property2": "string"
}, - "statut": "ACTIVE",
- "responsableId": "string",
- "agenceIds": [
- "string"
], - "donneesPersonnelles": {
- "civilite": "M",
- "nom": "string",
- "nomNaissance": "string",
- "prenoms": [
- "string"
], - "moyensContact": {
- "adresse": {
- "intitule": "string",
- "identification": "string",
- "immeuble": "string",
- "voie": "string",
- "codePostal": "06400",
- "localite": "string",
- "lieuDit": "string",
- "codePays": "stri"
}, - "telephones": [
- {
- "type": "DOMICILE",
- "numero": "string",
- "usages": {
- "property1": "string",
- "property2": "string"
}
}
], - "emails": [
- {
- "type": "PERSONNEL",
- "adresse": "string",
- "libelle": "string",
- "usages": {
- "property1": "string",
- "property2": "string"
}
}
]
}
}
}
Met à jour un Utilisateur
existant.
utilisateurId required | string (TypeId) [ 1 .. 100 ] characters Référence (id) de l'utilisateur si la valeur est connue. Mettre la valeur 'myself' pour le GET afin de retourner les informations sur l'utilisateur connecté |
Les données d'un Utilisateur
à mettre à jour.
libelle | string (TypeLibelle) [ 1 .. 200 ] characters Le libellé de l'entité. |
login | string <= 50 characters Login utilisé pour la connexion à l'application |
profilId required | string [ 1 .. 100 ] characters Référence (id) d'un profil utilisateur |
object (TypeReferencesExternes) Collection d'identifiants de la ressource dans plusieurs référentiels. Chaque référence externe est constituée :
| |
statut | string (TypeStatutUtilisateur) Enum: "ACTIVE" "DESACTIVE" Permet de spécifier si le compte utilisateur est activé ou désactivé |
responsableId | string [ 1 .. 100 ] characters Référence (id) de l'utilisateur responsable hiérarchique |
agenceIds | Array of strings (TypeId) [ items [ 1 .. 100 ] characters ] Références (ids) des agences de rattachement |
object (DonneesPersonnelles) Données à caractère personnel |
{- "libelle": "string",
- "login": "string",
- "profilId": "string",
- "refExternes": {
- "property1": "string",
- "property2": "string"
}, - "statut": "ACTIVE",
- "responsableId": "string",
- "agenceIds": [
- "string"
], - "donneesPersonnelles": {
- "civilite": "M",
- "nom": "string",
- "nomNaissance": "string",
- "prenoms": [
- "string"
], - "moyensContact": {
- "adresse": {
- "intitule": "string",
- "identification": "string",
- "immeuble": "string",
- "voie": "string",
- "codePostal": "06400",
- "localite": "string",
- "lieuDit": "string",
- "codePays": "stri"
}, - "telephones": [
- {
- "type": "DOMICILE",
- "numero": "string",
- "usages": {
- "property1": "string",
- "property2": "string"
}
}
], - "emails": [
- {
- "type": "PERSONNEL",
- "adresse": "string",
- "libelle": "string",
- "usages": {
- "property1": "string",
- "property2": "string"
}
}
]
}
}
}
Supprime un Utilisateur
existant.
utilisateurId required | string (TypeId) [ 1 .. 100 ] characters Référence (id) de l'utilisateur si la valeur est connue. Mettre la valeur 'myself' pour le GET afin de retourner les informations sur l'utilisateur connecté |
Met à jour le statut d'un Utilisateur
existant.
utilisateurId required | string (TypeId) [ 1 .. 100 ] characters Référence (id) de l'utilisateur si la valeur est connue. Mettre la valeur 'myself' pour le GET afin de retourner les informations sur l'utilisateur connecté |
statut | string (TypeStatutUtilisateur) Enum: "ACTIVE" "DESACTIVE" Permet de spécifier si le compte utilisateur est activé ou désactivé |
{- "statut": "ACTIVE"
}
Met à jour la référence au responsable hiérarchique d'un Utilisateur
existant.
utilisateurId required | string (TypeId) [ 1 .. 100 ] characters Référence (id) de l'utilisateur si la valeur est connue. Mettre la valeur 'myself' pour le GET afin de retourner les informations sur l'utilisateur connecté |
responsableId | string [ 1 .. 100 ] characters Référence (id) de l'utilisateur responsable hiérarchique |
{- "responsableId": "string"
}
Supprimer la référence au responsable hiérarchique d'un Utilisateur
existant.
utilisateurId required | string (TypeId) [ 1 .. 100 ] characters Référence (id) de l'utilisateur si la valeur est connue. Mettre la valeur 'myself' pour le GET afin de retourner les informations sur l'utilisateur connecté |
Crée une nouvelle Agence
.
Une Agence
à créer.
libelle | string (TypeLibelle) [ 1 .. 200 ] characters Le libellé de l'entité. |
object (TypeMoyensContact) Moyens de contact (adresse, emails, téléphones) |
{- "libelle": "string",
- "moyensContact": {
- "adresse": {
- "intitule": "string",
- "identification": "string",
- "immeuble": "string",
- "voie": "string",
- "codePostal": "06400",
- "localite": "string",
- "lieuDit": "string",
- "codePays": "stri"
}, - "telephones": [
- {
- "type": "DOMICILE",
- "numero": "string",
- "usages": {
- "property1": "string",
- "property2": "string"
}
}
], - "emails": [
- {
- "type": "PERSONNEL",
- "adresse": "string",
- "libelle": "string",
- "usages": {
- "property1": "string",
- "property2": "string"
}
}
]
}
}
Récupère les données d'une unique Agence
.
agenceId required | string L'identifiant unique et stable d'une |
{- "id": "string",
- "libelle": "string",
- "dateCreation": "2019-08-24T14:15:22Z",
- "dateMaj": "2019-08-24T14:15:22Z",
- "moyensContact": {
- "adresse": {
- "intitule": "string",
- "identification": "string",
- "immeuble": "string",
- "voie": "string",
- "codePostal": "06400",
- "localite": "string",
- "lieuDit": "string",
- "codePays": "stri"
}, - "telephones": [
- {
- "type": "DOMICILE",
- "numero": "string",
- "usages": {
- "property1": "string",
- "property2": "string"
}
}
], - "emails": [
- {
- "type": "PERSONNEL",
- "adresse": "string",
- "libelle": "string",
- "usages": {
- "property1": "string",
- "property2": "string"
}
}
]
}
}
Met à jour une Agence
existante.
agenceId required | string L'identifiant unique et stable d'une |
Les données d'une Agence
à mettre à jour.
libelle | string (TypeLibelle) [ 1 .. 200 ] characters Le libellé de l'entité. |
object (TypeMoyensContact) Moyens de contact (adresse, emails, téléphones) |
{- "libelle": "string",
- "moyensContact": {
- "adresse": {
- "intitule": "string",
- "identification": "string",
- "immeuble": "string",
- "voie": "string",
- "codePostal": "06400",
- "localite": "string",
- "lieuDit": "string",
- "codePays": "stri"
}, - "telephones": [
- {
- "type": "DOMICILE",
- "numero": "string",
- "usages": {
- "property1": "string",
- "property2": "string"
}
}
], - "emails": [
- {
- "type": "PERSONNEL",
- "adresse": "string",
- "libelle": "string",
- "usages": {
- "property1": "string",
- "property2": "string"
}
}
]
}
}