API REST/Json e-Attestations (v1.1.0)
PUBLIC - e-Attestations - Oct. 2019
Bienvenue !
##-----------------------------------------------------------------------------------------------
# e-Attestations.com Copyright (c) Since 2007
# All right reserved/Tous droits réservés
# _ _ _ _ _
# /\ | | | | | | | | (_)
# ___ / \ | |_| |_ ___ ___| |_ __ _| |_ _ ___ _ __ ___ ___ ___ _ __ ___
# / _ \ __ / /\ \| __| __/ _ \/ __| __/ _` | __| |/ _ \| '_ \/ __| / __/ _ \| '_ ` _ \
# | __//__ / ____ \ |_| || __/\__ \ || (_| | |_| | (_) | | | \__ \| (_| (_) | | | | | |
# \___/ /_/ \_\__|\__\___||___/\__\__,_|\__|_|\___/|_| |_|___(_)___\___/|_| |_| |_|
##-----------------------------------------------------------------------------------------------
L'API REST/Json e-Attestations est utilisée pour interfacer un système d'information 'client' à la plate-forme d'e-Attestations suivant le protocole HTTP.
REST (Representational State Transfer) ou RESTful est un style d'architecture permettant de construire des applications (Web, Intranet, Web Service) en exploitant des points terminateurs (des endpoints urls) et référençant des ressources à exploiter suivant les verbes du protocole HTTP (GET, POST, PUT, DELETE etc...).
Notre API contient des URL prévisibles orientées ressources, accepte les corps de requête codés au format JSON, renvoie les réponses codées JSON et utilise les codes de réponse HTTP standard, l'authentification et les verbes.
Les applications 'clientes' utilisant l'API REST e-Attestations enrichisent le Système d'Information du client avec le catalogue des données et services d'e-Attestations de façon sécurisée et très souple.
L'API peut également être utilisée par les intégrateurs, éditeurs logiciels, des solutions SAAS ou des connecteurs.
Versions
L'API REST/Json e-Attestations est actuellement en V1.1 et est proposée à l'ensemble des partenaires et clients e-Attestations.
L'API REST/Json e-Attestations évolue régulièrment et des versions ultérieures seront mise en ligne sans interruption de service.
Notre équipe technique apporte un soin tout particulier à ne pas propovoquer de regression ou de rupture.
Objectifs de cette documentation
- Donner des éléments de réponses sur la sécurité des environnements mis à disposition
- Expliciter la mise en place et le support de l'API
- Présenter les sources documentaires en ligne
- Décrire chaque ressource et chaque endpoint, les modèles associés et les erreurs liées
- Proposer des snippets de codes pour faciliter l'intégration de l'API
Collection Postman
Exemple d'utilisation de newman
npx newman run "EA_API_REST.postman_collection.json" \
--global-var username="<user>" \
--global-var password="<password>" \
--global-var server_url="https://rs.test-e-attestations.com"
Pour aller encore plus vite et faciliter l'intégration et l'exploration de notre API nous fournissons une collection Postman que vous pouvez importer dans postman et tester rapidement.
Vous devrez définir quelques variables (user, password et server_url) pour exploiter cette suite de test.
Vous pouvez aussi explorer chacun des scenarios pour foncionnellement comprendre l'usage possible de l'API.
Vous pouvez télécharger Postman via ce lien ou utiliser newman via ce lien.
Le support Tech'Desk e-Attestations
Un système de ticketing et de support TECHNIQUE dédié au API et WebServices e-Attestations où poster questions et demandes de mise en place.
Pour créer un ticket envoyez simplement un email à l'adresse api@eattestationscom.zohodesk.eu
Cette plateforme sécurisée vous permet aussi de partager dans votre organisation les tickets de support.
Note : les users et mots de passe de connexion ne sont fournis que dans le Tech'Desk.
Environnements
L'accès aux environnements est autorisé auprès d'e-Attestations.com et l'obtention d'un couple user/mot de passe transmis de façon sécurisée grace au Tech'Desk. Merci d'adresser vos demandes de user et mot de passe via ce biais uniquement (aucune partage de mot de passe par email).
e-Attestations met à disposition deux environnements :
TEST : Cet environnement vous permettra, de façon pleinement sécurisée, d'accéder à une infrastructure spécifique mais très semblable à celle de production, avec une base de données propre et ANONYMISEE garantissant qu'aucun email ne sera jamais expédié vers vos tiers.
PRODUCTION : L'ouverture d'un accès de PRODUCTION vous permettra d'accéder à un compte client et un seul. C'est dans ce cas la même base de données que celle des vos autres solutions e-Attestations.
Environnement | URL |
---|---|
TEST | https://rs.test-e-attestations.com/api/v1/ |
PRODUCTION | https://rs.e-attestations.com/api/v1/ |
Disponibilité des services eAttestations
Une page de status et d'information sur la disponibilité des services eAttestations est disponible ici :
https://status.e-attestations.com
Nous vous invitons à souscrire aux mises à jour afin d'être informés.
Format des réponses
Format des réponses
{
content: [
{
"companyIdType": "string",
"companyIdValue": "string",
"thirdpartyCode": "string"
}],
messages: {
warning: [
{
code: "W001",
message: "La clé d'API expire dans 3 jours"
}
]
}
}
Les réponses sont au format JSON composées des attributs optionnels suivants:
- content, contenant le résultat de l'opération, en cas de succès
- messages contenant d'éventuels messages d'information, d'avertissement ou d'erreur
- page, le numéro de la page. Renvoyé en cas de contenu paginé.
- size, taille de la page. Renvoyé en cas de contenu paginé.
- totalElements, le nombre total d'éléments. Renvoyé en cas de contenu paginé.
Pour plus de détails lisez la section Schemas et plus spécifiquement sur le format des Messages.
Message d'erreur protocolaire
{
"timestamp": "2019-02-05T09:06:15.245+0000",
"status": 404,
"error": "Not Found",
"message": "No message available",
"path": "/api/v1/account/1234567/876543"
}
Nous avons développé un contrat d'interface (présenté ci dessus) qui se veut le plus pratique pour le développeur. Un format 'standard' de message d'erreur protocolaire est aussi renvoyé dans le cas :
- d'une limite re requête qui aurait été atteinte (HTTP 429)
- d'une erreur serveur (HTTP 50X)
- d'une erreur dans la requête (HTTP 40x)
Encoding
L'API REST doit être utilisée et consommée en UTF8.
Sécurité
OpenID Connect (OIDC)
L'API REST e-Attestations utilise OpenID Connect (OIDC) pour identifier et authentifier les clients. Toute requête vers l'API doit obligatoirement inclure un Token (Json Web Token) valide.
Ce dernier doit être envoyé dans le header 'Authorization' (cf. l'exemple qui suit).
Si l'header n'est pas renseigner la requête sera considérée comme non authentifiée (HTTP code 401).
Plus d'informations sur OpenID Connect et JWT sur :
Les échanges sont sécurisés par un chiffrement SSL/TLS. Le certificat public 'e-attestations.com' supporte les protocoles TLS depuis le 1.0, 1.1 jusqu'au 1.2 pour s'adpater à la diversité de configuration de nos clients.
Obtenir un JSON Web Token
Obtenir un JWT
curl -X POST \
https://auth.test-e-attestations.com/auth/realms/eat_realm/protocol/openid-connect/token \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'cache-control: no-cache' \
-d 'client_id=ea-api-edge' \
-d 'username=<username>' \
-d 'password=<password>' \
-d 'grant_type=password'
L'obtention d'un token JWT repose sur l'envoi d'un requête de type POST avec transmission des user, mot de passe et quelques paramètres complémentaires au serveur d'authentification.
Vous devez transmettre une requete au format application/x-www-form-urlencoded
et portant les paramètres suivants, tous obligatoires :
- client_id :
ea-api-edge
, le nom de l'API. - grant_type :
password
, le mode d'authentification. - username : nom de votre utilisateur API
- password : mot de passe de votre utilisateur d'API
Le serveur d'authentification renverra un mot JSON dans lequel il faut préserver access_token
.
Ce token est temporaire et vous devrez en obtenir un nouveau dès qu'il sera périmé.
Vous pouvez aussi demander un token avant chaque requete, mais ce n'est pas forcément utile ou performant.
Réponse
{
"access_token":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI0V19kYjFzUmpISTc3SGc0SkRWclVLQXpaQlBnZjlpY2ZDcU5vQUxOZWhNIn0.eyJqdGkiOiI0ZGExNjE1NC04ZjQyLTQyNzQtOTM4Ny0wOGJiODk4MmE3MTMiLCJleHAiOjE1NTQyOTgyNTgsIm5iZiI6MCwiaWF0IjoxNTU0Mjk2NDU4LCJpc3MiOiJodHRwczovL2F1dGguZGV2LWUtYXR0ZXN0YXRpb25zLmNvbS9hdXRoL3JlYWxtcy9lYXRfcmVhbG0iLCJhdWQiOiJhY2NvdW50Iiwic3ViIjoiYzg0OGFiYmItYTIyOC00MmMxLWFkNzAtYjJiMDEwYzhlODUxIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiZWEtYXBpLWVkZ2UiLCJhdXRoX3RpbWUiOjAsInNlc3Npb25fc3RhdGUiOiI5YmEzYWFmNC0zYjU0LTQ5ZTctOTJiMC0xOTkwMGQxNWE5ZWIiLCJhY3IiOqsdqsdsdqsdqsdsaW5lX2FjY2VzcyIsInVtYV9hdXRob3JpemF0aW9uIiwiQURNSU4iLCJVU0VSIl19LCJyZXNvdXJjZV9hY2Nlc3MiOnsiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW50LWxpbmtzIiwidmlldy1wcm9maWxlIl19fSwic2NvcGUiOiJwcm9maWxlIGVtYWlsIiwiYWNjb3VudF9pZHMiOiIxMTg0NjYiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6IlZpbmNlbnQgREFHT1VSWSIsInByZWZlcnJlZF91c2VybmFtZSI6InYuZGFnb3VyeUBlLWF0dGVzdGF0aW9ucy5jb20iLCJnaXZlbl9uYW1lIjoiVmluY2VudCIsImZhbWlseV9uYW1lIjoiREFHT1VSWSIsImVtYWlsIjoidi5kYWdvdXJ5QGUtYXR0ZXN0YXRpb25zLmNvbSJ9.c-smWPif1YT9dKicAAJSsNwI-xCtZWV-r6QqYFSvkgHhPsgHc0gDLenMfQBgYPN_0jKW7FBJmse7fgAB4dnrqCOGM33cQ2wfYi37aXlDqz8l_aFamkEslGnKxw9QDOYSMQz52dD34yXQZGl0OxXE01PAquqKUEtnVG0Rz2SAB0qU5tAqsdqsdsd-rKpCYwKb_6-WwH2xN1B9lgLahZexprPvH25OXUcPJ0GSXCASpnSMxR3ziiv9AtX3R48rT4T_LTLlrKblT_cdZS-Z_uGgzP0pxT9yfqxSYn05haRLTL_grBDdt31ZIDnxiMFEg2UdDB1wzlJBOuOEmw",
"expires_in": 1800,
"refresh_expires_in": 1800,
"refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJiYTcxZWMyOC0wOTVkLTRkOWQtOWQwYi1jYjAyMTJmNjczYjcifQ.eyJqdGkiOiI2YmQ2ZThkYS1kOWNjLTRhNzgtODg1NS1iMzMwZWU0NDg1NjEiLCJleHAiOjE1NTQyOTgyNTgsIm5iZiI6MCwiaWF0IjoxNTU0Mjk2NDUqsdqsdqsdqsdOiJodHRwczovL2F1dGguZGV2LWUtYXR0ZXN0YXRpb25zLmNvbS9hdXRoL3JlYWxtcy9lYXRfcmVhbG0iLCJhdWQiOiJodHRwczovL2F1dGguZGV2LWUtYXR0ZXN0YXRpb25zLmNvbS9hdXRoL3JlYWxtcy9lYXRfcmVhbG0iLCJzdWIiOiJjODQ4YWJiYi1hMjI4LTQyYzEtYWQ3MC1iMmIwMTBjOGU4NTEiLCJ0eXAiOiJSZWZyZXNoIiwiYXpwIjoiZWEtYXBpLWVkZ2UiLCJhdXRoX3RpbWUiOjAsInNlc3Npb25fc3RhdGUiOiI5YmqsdqsdsqsdQ5ZTctOTJiMC0xOTkwMGQxNWE5ZWIiLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJ1bWFfYXV0aG9yaXphdGlvbiIsIkFETUlOIiwiVVNFUiJdfSwicmVzb3VyY2VfYWNjZXNzIjp7ImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sInNjb3BlIjoicHJvZmlsZSBlbWFpbCJ9.fpVVA-G-Fj9MDOB5ZneAGVRhkLk26hgCeZ4dqh3rEHs",
"token_type": "bearer",
"not-before-policy": 1550670103,
"session_state": "9ba3aaf4-3b54-49e7-92b0-19900d15a9eb",
"scope": "profile email"
}
URLs d'authentification
Pour chaque environnement, une URL spécifique vous permet de récupérer le JWT :
- Non PRODUCTION :
https://auth.test-e-attestations.com/auth/realms/eat_realm/protocol/openid-connect/token
- PRODUCTION :
https://auth.e-attestations.com/auth/realms/eat_realm/protocol/openid-connect/token
Utilisation du JSON Web Token
La propriété "access_token" du Json Web TOKEN (JWT) est à utiliser dans tous les requetes.
Elle doit être placée dans un header 'Authorize: Bearer {access_token}'
.
Authorization: Bearer TOKEN
Utilisation du JWT
curl -X GET \
https://api.e-attestations.com/v4/account/97862/dossiers \
-H "Authorization: Bearer <JWT_TOKEN>"
Ressources
Compte ("account")
Exemple de contenu "account_ids" du token JWT
{
"name": ".....",
"account_ids": "98545"
}
Exemple de contenu de '/account'
{
"content": [
{
"id": 34345345,
"creation": "2015-03-13T14:45:07.701",
"account": "CPTDO4F2789F06D8EDF146",
"name": "ENTREPRISE FICIVE",
"company": "ENTREPRISE FICTIVE",
"maxDossiers": 500,
"subscriptionDate": "2018-09-01T16:41:56.151235",
"subscriptionStatus": "ACTIVE"
}
]
}
Le compte e-Attestations donneur d'ordres et souscripteur au service.
Chaque compte dispose d'un identifiant de compte unique avec un identifiant.
Par construction, toutes les requêtes doivent obligatoirement inclure l'identifiant du client dans l'URL d'appel à l'exception du point terminateur /account pour obtenir les informations sur votre identifiant du compte.
Les urls sont ainsi toutes prefixées par /account/{account_id}/**
L'identifiant de compte (de type string) est renvoyé dans le payload du token JWT, comme illustré ci-dessous:
De façon complémentaire vous pouvez récupérer votre identifiant de compte via l'url /account (sans aucun paramètre).
Les données du TOKEN seront utilisées pour restituer et vérifier votre compte et la souscription au service.
Des informations complémentaires sur votre souscription au service sont aussi restituées.
Tiers ("thirdparties")
Le tiers, le fournisseur, le sous-traitant, etc... est en relation avec le compte donneur d'ordres et fait l'objet de l'évaluation continue au titre de sa conformité, suivant la souscription et/ou les option du compte e-Attestations.
Dans le cadre de cette relation, le compte e-Attestations utilisateur de l'API REST/JSON est aussi appelé compte "donneur d'ordres".
Dossiers ("dossiers")
Le dossier est une materialisation de la relation donneur d'ordres / tiers. Un dossier comporte des demandes (exigences de conformité) formulées par le donneur d'ordres auxquelles correspondent des réponses le plus souvent automatiquement apportée par le plateforme e-Attestations ou par le tiers (fichiers, signatures, autres données ...).
La référence d'un dossier est une donnée renseignée par le donneur d'ordres lors de la création d'un dossier ou la modification d'un dossier. La référence d'un dossier doit être unique pour un couple tiers/donneur d'ordres. Autrement dit, un tiers ne peut avoir plus d'un dossier portant la même référence par donneur d'ordres.
Cette référence de dossier peut être modifiée à n'importe quel moment sauf s'il a été archivé.
Exigences ("requirements")
L'exigence est un ensemble de demandes relevant généralement de la captation d'une preuve pour domaine spécifique (légale, compliance 'métier', iban, qualifications professionnelles, etc...).
La preuve est apportée automatiquement par e-Attestations dans la plus part des cas.
Dans le cas où elle n'est pas déjà présente et valide (durée de validité de la preuve), le tier sera alors mis à contribution pour qu'il apporte la preuve demandée au titre de l'exigence via une application gratuite.
Cette réponse peut être :
- une donnée spécifique
- un ou plusieurs documents et leur(s) fichier(s) lié(s)
- une signature
- ou tout autre élément demandé constituant un preuve de conformité dans le cadre du suivi.
Documents ("documents")
Les documents sont les éléments constituant une preuve répondant à la demande d'exigence de conformité. Le document est suivant un 'type de document' pour lequel une réponse est apportée par e-Attestations ou le tiers lui même.
Un document peut être une signature, une donnée, un ou plusieurs fichiers, un ensemble de données issues d'un formulaire à remplir par le déclarant.
Un document a une validité et donc une péremption que la plateforme e-Attestations surveille en continu.
Fichiers ("files")
Les fichiers attachés aux documents d'exigence de conformité sont majoritairement des PDF.
Comment créer un dossier de suivi ?
Création d'un dossier
curl --request POST \
--url https://rs.test-e-attestations.com/api/v1/account/119631/dossiers \
--header 'Authorization: Bearer {{token}}' \
--header 'Content-Type: application/json' \
--data '{\n "companyIdType": "CIT001",\n "companyIdValue": "50382936800045",\n "thirdpartyCode": "",\n "dossierReference": "DOSSIER_REST_9",\n "description": "Dossier #5 de test importé depuis l'\''API REST",\n "purchasingCategory": "",\n "expirationDate": "2020-05-31",\n "requiredDocuments": [ "JUSTIF_IMM" ],\n "thirdpartyEmail": ["v.dagoury@e-attestations.com"],\n "userInCharge": [\n "v.dagoury@e-attestations.com"\n ]\n}'
La création de dossier de suivi de la conformité des tiers est au coeur du processus de recrutement d'un tiers pour lequel vous souhaitez suivre la conformité et la principale étape permettant de démarrer le processus de suivi.
Elle est aussi la phase de recrutement de votre tiers qui sera alors informé par email qu'un dossier de suivi est encours.
Un workflow continu démarre alors pour le tiers qui devra alors déposer les preuves exigées par votre dossier.
Lors de la création d'un dossier le workflow déclenché est asynchrone et se décrit ainsi :
- la récupération automatique des données du tiers (y compris s'il n'est pas déjà dans la base e-Attestations)
- son invitation grâce à l'email de contact
- éventuellement l'envoi d'emails de demande pour les documents ou preuves demandés et non déjà présents
- la production d'un indicateur de complétude ('I001') représentant la bonne santé du suivi au regard de l'exigence du dossier de suivi
Mais aussi :
- des rappels réguliers par email envoyés aux tiers
- la mise à jour des données régulièrement ou sur événement
- la production d'indicateurs complexes
Le endpoint POST /account/{accountId}/dossiers permet de créer un dossier pour un tiers (thirdparty).
Vous trouverez toutes les informations complémentaire sur ce endpoint dans la section Importer un dossier.
Le traitement pouvant durer plusieurs minutes la réponse est asynchrone, comme illustré dans le schéma ci-dessous.
Lors de la création un identifiant de suivi du traitement de l'import (processId) est renvoyé. Il vous faudra l'utiliser pour connaître le résultat de l'import de façon asynchrone.
Le endpoint GET /account/{accountId}/dossier/process/{processId} permet de suivre le résultat de l'import grâce à l'identifiant du process d'import renvoyé lors de l'appel "Création d'un dossier" (POST /account/{accountId}/dossiers).
graph TB A((Start)) A --> B(POST to 'dossier' returns processId) B --processId--> C(Call Get import result endpoint for processId) C --> D{Status} D --complete=true AND success=true--> E D --complete=true AND success=false--> R D --complete=false--> C E((End)) R(Error Handling)
Il est important de bien vérifier les paramètres d'appel et de bien prendre en compte les codes d'erreurs et leur signification.
Autres définitions
Codes de type d'identifiant de compagnie
Lors de l'import ou de la recherche, une entreprise/un établissement et plus généralement une personne morale est indentifiée dans e-Attestations à l'aide d'un code qui peut être de 2 types :
- un identifiant national SIRET ou SIREN pour la France
- ou d'un numéro intracommunautaire, l'identifiant TVA, pour les personnes morales de l'EU
L'API e-Attestations propose deux codes pour ces types d'identifiants :
Type | Description |
---|---|
CIT001 | SIRET : l'identifiant utilisé en France pour qualifier les établissements, sous forme d'un nombre de 14 chiffres vérifiant l'algorithme de Luhn Wikipedia |
CIT002 | Numéro TVA : identifiant utilisé par l'Union Européenne pour les entreprises soumises à l'impôt sur les sociétés. Plus d'informations sur Wikipedia |
Des types d'identifiants nouveaux pourront être implémenté au fil des évolutions de l'API.
Les recherches de tiers ne sont pas limitées à ces codes de types d'identifiant.
Indicateur de complétude
L'indicateur de complétude e-Attestations permet de renseigner de façon simple que le tiers a répondu entièrement aux exigences ('requirements') au titre de la conformité exigée pour le dossier concerné.
Exemple : un dossier de surveillance d'un tiers est jugé complet pour l'indicateur "obligation de vigilance", si tous les documents relatifs à l'obligation de vigilance sont présents et validés.
Code indicateur | Description |
---|---|
I001 | Obligation de vigilance |
Compte
Relatif au compte eAttestations
Information du compte
Code samples
# You can also use wget
curl -X GET https://rs.e-attestations.com/api/v1/account \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
URL obj = new URL("https://rs.e-attestations.com/api/v1/account");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://rs.e-attestations.com/api/v1/account',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://rs.e-attestations.com/api/v1/account', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://rs.e-attestations.com/api/v1/account", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://rs.e-attestations.com/api/v1/account', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /account
Restituer les informations du compte associé au TOKEN validé dans la requete.
Les informations détaillent la souscription au service.
Example responses
200 Response
{
"content": {
"id": 0,
"account": "string",
"company": "string",
"creation": "2019-08-24T14:15:22Z",
"maxDossiers": 0,
"name": "string",
"subscriptionDate": "2019-08-24T14:15:22Z",
"subscriptions": [
{
"accountId": 0,
"endSubscriptionDate": "2019-08-24T14:15:22Z",
"key": "string",
"startSubscriptionDate": "2019-08-24T14:15:22Z",
"status": "string"
}
]
},
"messages": {
"info": [
{
"code": "string",
"message": "string"
}
],
"warning": [
{
"code": "string",
"message": "string"
}
],
"error": [
{
"code": "string",
"message": "string"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Les informations du compte associé au TOKEN permettent de connaitre l'id du compte et la souscription au service. | Inline |
400 | Bad Request | Requête mal formée | None |
401 | Unauthorized | Authorisation non comprise ou invalide | None |
404 | Not Found | Aucun compte avec cet identifiant (accountId). | Inline |
5XX | Unknown | Erreur inattendue | None |
Response Schema
Status Code 200
La réponse possède une propriété 'content' contenant les statistiques et un attribut optionel messages (info, warn ou error)
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» content | Account | false | none | Contient les informations du compte et de sa souscription. |
»» id | integer(int64) | false | none | Identifiant du compte. A utiliser dans tous les appels à l'API |
»» account | string | false | none | Appellation du compte eAttestations |
»» company | string | false | none | Nom de l'entité légale du compte |
»» creation | string(date-time) | false | none | Date de création du compte |
»» maxDossiers | integer(int32) | false | none | Limite en nombre de dossiers |
»» name | string | false | none | Nom du compte |
»» subscriptionDate | string(date-time) | false | none | Date de souscription au service |
»» subscriptions | [Subscription] | false | none | none |
»»» Subscription | Subscription | false | none | none |
»»»» accountId | integer(int64) | false | none | Le compte lié à la souscription. |
»»»» endSubscriptionDate | string(date-time) | false | none | Date de fin de la souscription. |
»»»» key | string | false | none | Code de la souscription |
»»»» startSubscriptionDate | string(date-time) | false | none | Date de début de la souscription. |
»»»» status | string | false | none | Statut de la souscription. |
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Status Code 404
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Statistiques globales
Code samples
# You can also use wget
curl -X GET https://rs.e-attestations.com/api/v1/account/{accountId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
URL obj = new URL("https://rs.e-attestations.com/api/v1/account/{accountId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://rs.e-attestations.com/api/v1/account/{accountId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://rs.e-attestations.com/api/v1/account/{accountId}', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://rs.e-attestations.com/api/v1/account/{accountId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://rs.e-attestations.com/api/v1/account/{accountId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /account/{accountId}
Restituer les statistiques globales du compte. Les statistiques concernent uniquement les tiers suivis. Un tiers suivi est un tiers pour lequel il existe au moins un dossier actif. Les statistiques portent sur les tiers et les dossiers et leurs complétudes.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | integer | true | Identifiant du compte. |
Example responses
200 Response
{
"content": {
"numberOfThirdparties": 0,
"numberOfSubscribedThirdparties": 0,
"numberOfCompleteThirdparties": 0,
"numberOfDossiers": 0,
"numberOfCompleteDossiers": 0,
"listIndicatorsStatistics": [
{
"indicatorCode": "string",
"numberOfThirdparties": 0,
"numberOfSubscribedThirdparties": 0,
"numberOfCompleteThirdparties": 0,
"numberOfDossiers": 0,
"numberOfCompleteDossiers": 0
}
]
},
"messages": {
"info": [
{
"code": "string",
"message": "string"
}
],
"warning": [
{
"code": "string",
"message": "string"
}
],
"error": [
{
"code": "string",
"message": "string"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Statistiques gloables et statistiques par indicateurs. Un indicateur fait référence à un sous-ensemble de documents requis. E.g. Pour l'indicateur "obligation de vigilance", les statistiques vont porter uniquement sur les documents de l'obligation de vigilance, à savoir l'attestation de vigilance, le justificatif d'immatriculation et la liste des salariés étrangers soumis à autorisation de travail. | Inline |
400 | Bad Request | Requête mal formée | None |
401 | Unauthorized | Authorisation non comprise ou invalide | None |
404 | Not Found | Aucun compte avec cet identifiant (accountId). | Inline |
5XX | Unknown | Erreur inattendue | None |
Response Schema
Status Code 200
La réponse possède une propriété 'content' contenant les statistiques et un attribut optionel messages (info, warn ou error)
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» content | GlobalInformation | false | none | Ce mot JSON contient les statistiques globales et les statistiques par indicateur. |
»» numberOfThirdparties | integer(int64) | false | none | Le nombre total de tiers du compte. |
»» numberOfSubscribedThirdparties | integer(int64) | false | none | Le nombre total de tiers inscrits pour un donneur d'ordres. |
»» numberOfCompleteThirdparties | integer(int64) | false | none | Le nombre total de tiers dont tous les dossiers actifs sont complets. Autrement dit, les tiers qui ont déposé tous les documents requis par ce donneur d'ordres. |
»» numberOfDossiers | integer(int64) | false | none | Le nombre total de dossiers actifs. |
»» numberOfCompleteDossiers | integer(int64) | false | none | Le nombre total de dossiers complets. Autrement dit, les dossiers pour lesquels tous les documents requis ont été déposés. |
»» listIndicatorsStatistics | [StatisticsIndicator] | false | none | Tableau contenant des statistiques par indicateur (E.g. Obligation de vigilance). |
»»» Indicateur de statistiques | StatisticsIndicator | false | none | Mot Json contenant des statistiques sur un indicateur (E.g. Obligation de vigilance). |
»»»» indicatorCode | string | false | none | Code de l'indicateur. |
»»»» numberOfThirdparties | integer(int64) | false | none | Le nombre de tiers du compte donneurs d'ordres restreint sur cet indicateur. |
»»»» numberOfSubscribedThirdparties | integer(int64) | false | none | Le nombre de tiers inscrits restreints sur cet indicateur. |
»»»» numberOfCompleteThirdparties | integer(int64) | false | none | Le nombre de tiers dont tous les dossiers sont complets, restreints sur cet indicateur. |
»»»» numberOfDossiers | integer(int64) | false | none | Le nombre de dossiers du compte, restreints sur cet indicateur. |
»»»» numberOfCompleteDossiers | integer(int64) | false | none | Le nombre de dossiers complets du compte, restreints sur cet indicateur. |
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Status Code 404
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Tiers
Relatif aux tiers du compte
Liste des tiers
Code samples
# You can also use wget
curl -X GET https://rs.e-attestations.com/api/v1/account/{accountId}/thirdparties \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
URL obj = new URL("https://rs.e-attestations.com/api/v1/account/{accountId}/thirdparties");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://rs.e-attestations.com/api/v1/account/{accountId}/thirdparties',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://rs.e-attestations.com/api/v1/account/{accountId}/thirdparties', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://rs.e-attestations.com/api/v1/account/{accountId}/thirdparties", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://rs.e-attestations.com/api/v1/account/{accountId}/thirdparties', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /account/{accountId}/thirdparties
Restituer le référentiel tiers du compte. Ce point terminateur permet de récupérer uniquement les informations d'identification des tiers. Pour obtenir des informations plus détaillées sur le tiers, il faudra utiliser le point terminateur (GET '/account/{accountId}/thirdparty/{thirdpartyId}')
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | integer | true | Identifiant du compte. |
monitored | query | boolean | false | Permet de filtrer sur les tiers suivis (monitored=true) ou non suivis (monitored=false) |
companyIdType | query | string | false | Type d'identifiant compagnie. |
name | query | string | false | Le nom du tiers |
siren | query | string | false | Le siren du tiers (pour les français) |
siret | query | string | false | Le siret (de l'établissement) du tiers (pour les français) |
tva | query | string | false | L'identifiant intra communautaire TVA (pour les tiers de l'EU) |
companyIdValue | query | string | false | Permet de filtrer par identifiant compagnie du tiers. L'identifiant peut être un SIRET ou un Numéro TVA. |
stateLastChangeDate | query | string(date) | false | Filtre permettant de retourner les tiers dont le statut global a évolué depuis cette date. |
thirdpartyGlobalState | query | boolean | false | Filtre permettant de retourner les tiers dont l'état de complétude global est "complet" (true) ou "incomplet" (false) |
subscriptionState | query | boolean | false | Permet de filtrer sur le statut d'inscription d'un tiers. Ce paramètre permet de retourner les tiers inscrits (subscriptionState=true) ou non inscrits (subscriptionState=false) |
page | query | integer | false | Paramètre de pagination indiquant le numéro de page. |
pageSize | query | integer | false | Paramètre de pagination indiquant la taille de page souhaité. |
Example responses
200 Response
{
"content": [
{
"thirdpartyId": 0,
"companyIdType": "string",
"companyIdValue": "string",
"thirdpartyCode": "string"
}
],
"page": 0,
"pageSize": 0,
"totalElements": 0,
"messages": {
"info": [
{
"code": "string",
"message": "string"
}
],
"warning": [
{
"code": "string",
"message": "string"
}
],
"error": [
{
"code": "string",
"message": "string"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Retourne un tableau d'objets JSON. Chaque item contient les informations d'identification d'un tiers (L'identifiant eAttestations du tiers, le type d'identifiant compagnie, l'identifiant compagnie du tiers et le code tiers). | Inline |
400 | Bad Request | Requête mal formée | None |
401 | Unauthorized | Authorisation non comprise ou invalide | None |
404 | Not Found | Aucun compte avec cet identifiant (accountId). | Inline |
5XX | Unknown | Erreur inattendue | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» content | [ThirdpartyIdentifier] | false | none | [Mot JSON représentant les informations d'identification d'un tiers.] |
»» Identifiant tiers | ThirdpartyIdentifier | false | none | Mot JSON représentant les informations d'identification d'un tiers. |
»»» thirdpartyId | integer | false | none | Identifiant eAttestations du tiers. Celui-ci est différent du companyIdValue. Le thirdpartyId est un identifiant technique qui identifie de façon unique le tiers dans la plateforme eAttestations. |
»»» companyIdType | string | false | none | Type d'identifiant compagnie. |
»»» companyIdValue | string | false | none | Identifiant compagnie du tiers (SIRET ou TVA intra communautaire). |
»»» thirdpartyCode | string | false | none | Code tiers. Il s'agit d'un identifiant interne au client. |
» page | integer | false | none | Numéro de page. |
» pageSize | integer | false | none | taille de la page |
» totalElements | integer | false | none | nombre total d'éléments |
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Status Code 404
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Détails d'un tiers
Code samples
# You can also use wget
curl -X GET https://rs.e-attestations.com/api/v1/account/{accountId}/thirdparties/{thirdpartyId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
URL obj = new URL("https://rs.e-attestations.com/api/v1/account/{accountId}/thirdparties/{thirdpartyId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://rs.e-attestations.com/api/v1/account/{accountId}/thirdparties/{thirdpartyId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://rs.e-attestations.com/api/v1/account/{accountId}/thirdparties/{thirdpartyId}', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://rs.e-attestations.com/api/v1/account/{accountId}/thirdparties/{thirdpartyId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://rs.e-attestations.com/api/v1/account/{accountId}/thirdparties/{thirdpartyId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /account/{accountId}/thirdparties/{thirdpartyId}
Permet de restituer les informations détaillées d'un tiers. Sont remontées:
- Les informations "identité" du tiers
- L'adresse du tiers
- La liste des utilisateurs du tiers
- Différents états (En activité ?, Inscrit ? ...)
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | integer | true | Identifiant du compte. |
thirdpartyId | path | integer | true | Identifiant eAttestations du tiers. |
Example responses
200 Response
{
"content": {
"thirdpartyId": 0,
"accountId": 0,
"companyIdType": "string",
"companyIdValue": "string",
"thirdpartyCode": "string",
"monitored": true,
"name": "string",
"addressStreet": "string",
"addressCity": "string",
"addressPostCode": "string",
"addressCountryCode": "string",
"subscriptionState": true,
"subscriptionDate": "2019-08-24",
"subscriptionKey": "string",
"outOfBusiness": true,
"stateLastChangeDate": "2019-08-24",
"thirdpartyGlobalState\"": true,
"acronym": "string",
"activityCode": "string",
"activityLabel": "string",
"capital": 0,
"capitalCurrency": "string",
"ceo": "string",
"datecreation": "2019-08-24",
"lastBalanceSheetDate": "2019-08-24",
"legalCategoryCode": "string",
"legalCategoryLabel": "string",
"siren": "string",
"siret": "string",
"turnover": 0,
"turnoverCurrency": "string",
"tva": "string",
"workforce": 0,
"thirdpartyUsers": [
{
"firstname": "string",
"lastname": "string",
"email": "user@example.com",
"phone": "string"
}
]
},
"messages": {
"info": [
{
"code": "string",
"message": "string"
}
],
"warning": [
{
"code": "string",
"message": "string"
}
],
"error": [
{
"code": "string",
"message": "string"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Retourne un mot JSON contenant les informations détaillées du tiers. | Inline |
400 | Bad Request | Requête mal formée | None |
401 | Unauthorized | Authorisation non comprise ou invalide | None |
404 | Not Found | Aucun compte avec cet identifiant (accountId) ou aucun tiers avec cet identifiant(thirdpartyId). | Inline |
5XX | Unknown | Erreur inattendue | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» content | ThirdpartyDetails | false | none | Mot JSON représentant les détails d'un tiers. Les informations constituant l'adresse ainsi que la dénomination sociale du tiers sont fournis par notre Data Provider à partir de l'identifiant du tiers. |
»» thirdpartyId | integer(int64) | false | none | Identifiant eAttestations du tiers. Celui-ci est différent du companyIdValue. Le thirdpartyId est un identifiant technique qui identifie de façon unique le tiers dans la plateforme eAttestations. |
»» accountId | integer(int64) | false | none | Identifiant du compte. |
»» companyIdType | string | false | none | Type d'identifiant compagnie. |
»» companyIdValue | string | false | none | Identifiant compagnie du tiers (SIRET ou TVA intra communautaire). |
»» thirdpartyCode | string | false | none | Code tiers. Il s'agit d'un identifiant interne au client. |
»» monitored | boolean | false | none | Indique si le tiers est suivi. Cet attribut est à true si le tiers est suivi, false sinon. Un tiers est suivi dès lors qu'il a un dossier suivi. |
»» name | string | false | none | Dénomination sociale du tiers. Celle-ci est automatiquement fournie par notre data provider à partir de l'identifiant du tiers (Numéro Siret ou Numéro TVA) |
»» addressStreet | string | false | none | Elément "Rue" de l'adresse du tiers. |
»» addressCity | string | false | none | Elément "Ville" de l'adresse du tiers. |
»» addressPostCode | string | false | none | Elément "Code postal" de l'adresse du tiers. |
»» addressCountryCode | string | false | none | Elément "Pays" de l'adresse du tiers. |
»» subscriptionState | boolean | false | none | Statut d'inscription du tiers. True si le tiers est inscrit, False sinon. |
»» subscriptionDate | string(date) | false | none | Date d'inscription du tiers. |
»» subscriptionKey | string | false | none | Clé d'inscription. Elle est demandée au tiers au moment de son adhésion. Elle doit lui être communiquée lors de relances d'inscription. |
»» outOfBusiness | boolean | false | none | Indique si l'établissement est fermé. True si c'est le cas, False sinon. |
»» stateLastChangeDate | string(date) | false | none | Dernière date à laquelle l'état global du tiers a changé. |
»» thirdpartyGlobalState" | boolean | false | none | Etat de complétude global du tiers. Une valeur true (Complet) signifie que tous les dossiers sont dans l'état complet. Une valeur false (Incomplet) signifie qu'au moins un ou plusieurs dossiers sont dans l'état incomplet. |
»» acronym | string | false | none | Acronym du tiers |
»» activityCode | string | false | none | Code APE de l'activité du tiers |
»» activityLabel | string | false | none | Libellé APE de l'activité du tiers |
»» capital | integer(int64) | false | none | Capital connu pour le tiers |
»» capitalCurrency | string | false | none | Devise du capital connu pour le tiers |
»» ceo | string | false | none | Dirigeant |
»» datecreation | string(date) | false | none | Date de création du tiers dans la base eAttestations |
»» lastBalanceSheetDate | string(date) | false | none | Dernier date du résultat d'exploitation connu |
»» legalCategoryCode | string | false | none | Code jurisique d'activité |
»» legalCategoryLabel | string | false | none | Libellé jurisique d'activité |
»» siren | string | false | none | Identifiant SIREN (pour les français) |
»» siret | string | false | none | Identifiant SIRET de l'établissement (pour les français) |
»» turnover | number(double) | false | none | Dernier chiffre d'affaire connu du tiers |
»» turnoverCurrency | string | false | none | Devise du dernier chiffre d'affaire connu du tiers |
»» tva | string | false | none | Identifiant intra communautaire |
»» workforce | integer(int32) | false | none | Effectifs du tiers |
»» thirdpartyUsers | [UserInformation] | false | none | Informations sur les utilisateurs du compte tiers. |
»»» Informations utilisateur | UserInformation | false | none | Mot JSON contenant des informations sur les utilisateurs du tiers. |
»»»» firstname | string | false | none | Prénom de l'utilisateur. |
»»»» lastname | string | false | none | Nom de l'utilisateur. |
string(email) | false | none | E-mail de l'utilisateur. | |
»»»» phone | string | false | none | Numéro de téléphone de l'utilisateur au format international. |
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Status Code 404
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Dossiers
Relatif aux dossiers du compte
Importer un dossier
Code samples
# You can also use wget
curl -X POST https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
URL obj = new URL("https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
const inputBody = '{
"companyIdType": "string",
"companyIdValue": "string",
"thirdpartyCode": "string",
"dossierReference": "string",
"description": "string",
"purchasingCategory": "string",
"expirationDate": "2019-08-24",
"requiredDocuments": [
"string"
],
"thirdpartyEmail": [
"user@example.com"
],
"userInCharge": [
"user@example.com"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
POST /account/{accountId}/dossiers
Permet de créer un dossier pour un tiers. Un dossier permet à un donneur d'ordre de suivre un tiers sur un certain nombre de pièces demandées (appelées également Requirements).
Si le tiers n'existe pas, celui-ci est créé dans la plateforme eAttestations.
L'import de dossier est un processus asynchrone. Cet asynchronisme est induit par le processus (lui même de nature asynchone) de qualification des informations du tiers par notre Data Provider.
Ce point terminateur lance le processus d'import et renvoie un identifiant de process (processId). Le traitement pouvant durer plusieurs minutes, ainsi pour suivre l'état d'avancement du processus d'import et pour connaître son résultat, un client peut utiliser le point terminateur (GET '/account/{accountId}/dossier/{processId}') décrit ci-dessous.
Body parameter
{
"companyIdType": "string",
"companyIdValue": "string",
"thirdpartyCode": "string",
"dossierReference": "string",
"description": "string",
"purchasingCategory": "string",
"expirationDate": "2019-08-24",
"requiredDocuments": [
"string"
],
"thirdpartyEmail": [
"user@example.com"
],
"userInCharge": [
"user@example.com"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | integer | true | Identifiant du compte. |
body | body | NewDossier | true | Le dossier à importer. Contient les informations du dossier, mais également les informations d'identification du tiers. |
Example responses
200 Response
{
"content": {
"processId": "string"
},
"messages": {
"info": [
{
"code": "string",
"message": "string"
}
],
"warning": [
{
"code": "string",
"message": "string"
}
],
"error": [
{
"code": "string",
"message": "string"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Renvoie un mot JSON contenant l'identifiant du process d'import. | Inline |
400 | Bad Request | Requête mal formée | None |
401 | Unauthorized | Authorisation non comprise ou invalide | None |
404 | Not Found | Aucun compte avec cet identifiant (accountId). | Inline |
5XX | Unknown | Erreur inattendue | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» content | DossierProcess | false | none | Mot Json contenant l'identifiant du process d'import de dossier. |
»» processId | string | false | none | Identifiant du process d'import de dossier. |
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Status Code 404
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Recherche dossiers (multi-critères)
Code samples
# You can also use wget
curl -X GET https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
URL obj = new URL("https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /account/{accountId}/dossiers
Permet de restituer les informations d'un ou plusieurs dossiers. Il est possible de combiner les filtres disponibles afin d'affiner le résultat.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | integer | true | Identifiant du compte. |
thirdpartyId | query | integer | false | Identifiant eAttestations du tiers. Celui-ci est différent du companyIdValue. Le thirdpartyId est un identifiant technique qui identifie de façon unique le tiers dans la plateforme eAttestations. |
companyIdType | query | string | false | Permet de filtrer par type d'identifiant compagnie du tiers. |
companyIdValue | query | string | false | Permet de filtrer par l'identifiant compagnie du tiers (SIRET ou Numéro TVA). |
thirdpartyCode | query | string | false | Code tiers. Il s'agit d'un identifiant interne au client. |
dossierReference | query | string | false | Permet de filtrer par référence du dossier. La référence de dossier étant unique pour un tiers/dossier, si ce paramètre est renseigné, au maximum un dossier sera renvoyé. |
monitored | query | boolean | false | Filtre permettant de retourner les dossiers suivis (monitored=true) ou non suivis (monitored=false) |
stateLastChangeDate | query | string(date) | false | Filtre permettant de ne retourner que les dossiers dont l'état de complétude a changé depuis une date donnée. |
siren | query | string | false | Le siren du tiers recherché |
siret | query | string | false | Le siren du tiers recherché |
tva | query | string | false | Le numéro TVA du tiers recherché |
page | query | integer | false | Paramètre de pagination indiquant le numéro de page. |
pageSize | query | integer | false | Paramètre de pagination indiquant la taille de page souhaité. |
Example responses
200 Response
{
"content": [
{
"dossierId": 0,
"accountId": 0,
"thirdpartyId": 0,
"companyIdType": "string",
"companyIdValue": "string",
"thirdpartyCode": "string",
"companyCountryCode": "string",
"monitored": true,
"dossierReference": "string",
"description": "string",
"purchasingCategory": "string",
"startingDate": "2019-08-24",
"expirationDate": "2019-08-24",
"stoppingDate": "2019-08-24",
"stoppingReason": "string",
"state": true,
"stateLastChangeDate": "2019-08-24",
"indicators": [
{
"indicatorCode": "string",
"state": true,
"lastChangeDate": "2019-08-24"
}
],
"documents": [
{
"documentId": 0,
"documentCode": "string",
"name": "string",
"requestDate": "2019-08-24",
"present": true,
"listFileInformation": [
{
"fileId": 0,
"uploadDate": "2019-08-24",
"fileUUID": "string",
"fileCreation": "2019-08-24",
"fileSize": 0,
"expirationDate": "2019-08-24"
}
]
}
]
}
],
"messages": {
"info": [
{
"code": "string",
"message": "string"
}
],
"warning": [
{
"code": "string",
"message": "string"
}
],
"error": [
{
"code": "string",
"message": "string"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Retourne un tableau d'objets JSON. Chaque item contient les informations d'un dossier. | Inline |
400 | Bad Request | Requête mal formée | None |
401 | Unauthorized | Authorisation non comprise ou invalide | None |
404 | Not Found | Aucun compte avec cet identifiant (accountId). | Inline |
5XX | Unknown | Erreur inattendue | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» content | [Dossier] | false | none | [Mot JSON représentant un dossier.] |
»» Dossier | Dossier | false | none | Mot JSON représentant un dossier. |
»»» dossierId | integer(int64) | false | none | Identifiant du dossier. |
»»» accountId | integer(int64) | false | none | Identifiant du compte. |
»»» thirdpartyId | integer(int64) | false | none | Identifiant eAttestations du tiers. Celui-ci est différent du companyIdValue. Le thirdpartyId est un identifiant technique qui identifie de façon unique le tiers dans la plateforme eAttestations. |
»»» companyIdType | string | false | none | Type d'identifiant compagnie. |
»»» companyIdValue | string | false | none | Identifiant compagnie du tiers (SIRET ou TVA intra communautaire). |
»»» thirdpartyCode | string | false | none | Code tiers. Il s'agit d'un identifiant interne au client. |
»»» companyCountryCode | string | false | none | Code pays du tiers. Il s'agit d'un code alpha-3 du standard ISO 3166-1. |
»»» monitored | boolean | false | none | Indique si le dossier est suivi (True) ou non suivi (False) |
»»» dossierReference | string | false | none | Référence du dossier. |
»»» description | string | false | none | Description du dossier. |
»»» purchasingCategory | string | false | none | Catégorie achat du dossier. |
»»» startingDate | string(date) | false | none | Date de début de suivi du dossier. |
»»» expirationDate | string(date) | false | none | Date d'expiration du suivi du dossier. A partir de cette date, le dossier passe automatiquement à l'état "non suivi". |
»»» stoppingDate | string(date) | false | none | Date d'arrêt de suivi du dossier. |
»»» stoppingReason | string | false | none | Détails concernant l'arrêt du dossier: OUTOFBUSINESS (entreprise radiée), EXPIRATION (le dossier a atteint sa date d'expiration), STOPREQUEST (une demande d'arrêt a été faite de manière explicite et immédiate), UNKNOWN (information absente). Non nul uniquement si dossier désactivé. |
»»» state | boolean | false | none | Indicateur de complétude du dossier. True si l'ensemble des documents demandés sont présents, false sinon. |
»»» stateLastChangeDate | string(date) | false | none | Date du dernier changement de l'état de complétude du dossier. |
»»» indicators | [DossierIndicator] | false | none | Liste des indicateurs du dossier. |
»»»» Indicateur de dossier | DossierIndicator | false | none | Un indicateur un dossier. |
»»»»» indicatorCode | string | false | none | Code de l'indicateur |
»»»»» state | boolean | false | none | État de l'indicateur. True si l'ensemble des documents demandés de l'indicateur sont présents, false sinon. |
»»»»» lastChangeDate | string(date) | false | none | Date du dernier changement de l'état de l'indicateur. |
»»» documents | [Document] | false | none | Liste des documents demandés pour le dossier. |
»»»» Document ou preuve demandée pour le dossier | Document | false | none | Une exigence comme un document demandé, une signature, une donnée à apporter au dossier |
»»»»» documentId | integer(int64) | false | none | Identifiant unique du document. |
»»»»» documentCode | string | false | none | Code qui identifie le document. |
»»»»» name | string | false | none | Nom du document. |
»»»»» requestDate | string(date) | false | none | Date à laquelle le document a été demandé. |
»»»»» present | boolean | false | none | Présence ou non du document. True si document présent, False sinon. |
»»»»» listFileInformation | [FileInformation] | false | none | Informations du (ou des) fichiers présents pour ce document. |
»»»»»» Information du document présent | FileInformation | false | none | Informations d'un fichier déposé pour un document ou une preuve. |
»»»»»»» fileId | integer(int64) | false | none | Identifiant du fichier. |
»»»»»»» uploadDate | string(date) | false | none | Date de dépôt du document. |
»»»»»»» fileUUID | string(string) | false | none | Identifiant UUID du fichier. |
»»»»»»» fileCreation | string(date) | false | none | Date de création du fichier. |
»»»»»»» fileSize | integer(int64) | false | none | Taille en octet du fichier. |
»»»»»»» expirationDate | string(date) | false | none | Date d'expiration du document. |
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Status Code 404
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Détails d'un dossier
Code samples
# You can also use wget
curl -X GET https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
URL obj = new URL("https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /account/{accountId}/dossiers/{dossierId}
Restituer les informations d'un dossier.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | integer(int64) | true | Identifiant du compte. |
dossierId | path | integer(int64) | true | Identifiant d'un dossier. |
Example responses
200 Response
{
"content": {
"dossierId": 0,
"accountId": 0,
"thirdpartyId": 0,
"companyIdType": "string",
"companyIdValue": "string",
"thirdpartyCode": "string",
"companyCountryCode": "string",
"monitored": true,
"dossierReference": "string",
"description": "string",
"purchasingCategory": "string",
"startingDate": "2019-08-24",
"expirationDate": "2019-08-24",
"stoppingDate": "2019-08-24",
"stoppingReason": "string",
"state": true,
"stateLastChangeDate": "2019-08-24",
"indicators": [
{
"indicatorCode": "string",
"state": true,
"lastChangeDate": "2019-08-24"
}
],
"documents": [
{
"documentId": 0,
"documentCode": "string",
"name": "string",
"requestDate": "2019-08-24",
"present": true,
"listFileInformation": [
{
"fileId": 0,
"uploadDate": "2019-08-24",
"fileUUID": "string",
"fileCreation": "2019-08-24",
"fileSize": 0,
"expirationDate": "2019-08-24"
}
]
}
]
},
"messages": {
"info": [
{
"code": "string",
"message": "string"
}
],
"warning": [
{
"code": "string",
"message": "string"
}
],
"error": [
{
"code": "string",
"message": "string"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Retourne les informations d'un dossier. | Inline |
400 | Bad Request | Requête mal formée | None |
401 | Unauthorized | Authorisation non comprise ou invalide | None |
404 | Not Found | Aucun compte avec cet identifiant (accountId), ou aucun dossier avec cet identifiant (dossierId). | Inline |
5XX | Unknown | Erreur inattendue | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» content | Dossier | false | none | Mot JSON représentant un dossier. |
»» dossierId | integer(int64) | false | none | Identifiant du dossier. |
»» accountId | integer(int64) | false | none | Identifiant du compte. |
»» thirdpartyId | integer(int64) | false | none | Identifiant eAttestations du tiers. Celui-ci est différent du companyIdValue. Le thirdpartyId est un identifiant technique qui identifie de façon unique le tiers dans la plateforme eAttestations. |
»» companyIdType | string | false | none | Type d'identifiant compagnie. |
»» companyIdValue | string | false | none | Identifiant compagnie du tiers (SIRET ou TVA intra communautaire). |
»» thirdpartyCode | string | false | none | Code tiers. Il s'agit d'un identifiant interne au client. |
»» companyCountryCode | string | false | none | Code pays du tiers. Il s'agit d'un code alpha-3 du standard ISO 3166-1. |
»» monitored | boolean | false | none | Indique si le dossier est suivi (True) ou non suivi (False) |
»» dossierReference | string | false | none | Référence du dossier. |
»» description | string | false | none | Description du dossier. |
»» purchasingCategory | string | false | none | Catégorie achat du dossier. |
»» startingDate | string(date) | false | none | Date de début de suivi du dossier. |
»» expirationDate | string(date) | false | none | Date d'expiration du suivi du dossier. A partir de cette date, le dossier passe automatiquement à l'état "non suivi". |
»» stoppingDate | string(date) | false | none | Date d'arrêt de suivi du dossier. |
»» stoppingReason | string | false | none | Détails concernant l'arrêt du dossier: OUTOFBUSINESS (entreprise radiée), EXPIRATION (le dossier a atteint sa date d'expiration), STOPREQUEST (une demande d'arrêt a été faite de manière explicite et immédiate), UNKNOWN (information absente). Non nul uniquement si dossier désactivé. |
»» state | boolean | false | none | Indicateur de complétude du dossier. True si l'ensemble des documents demandés sont présents, false sinon. |
»» stateLastChangeDate | string(date) | false | none | Date du dernier changement de l'état de complétude du dossier. |
»» indicators | [DossierIndicator] | false | none | Liste des indicateurs du dossier. |
»»» Indicateur de dossier | DossierIndicator | false | none | Un indicateur un dossier. |
»»»» indicatorCode | string | false | none | Code de l'indicateur |
»»»» state | boolean | false | none | État de l'indicateur. True si l'ensemble des documents demandés de l'indicateur sont présents, false sinon. |
»»»» lastChangeDate | string(date) | false | none | Date du dernier changement de l'état de l'indicateur. |
»» documents | [Document] | false | none | Liste des documents demandés pour le dossier. |
»»» Document ou preuve demandée pour le dossier | Document | false | none | Une exigence comme un document demandé, une signature, une donnée à apporter au dossier |
»»»» documentId | integer(int64) | false | none | Identifiant unique du document. |
»»»» documentCode | string | false | none | Code qui identifie le document. |
»»»» name | string | false | none | Nom du document. |
»»»» requestDate | string(date) | false | none | Date à laquelle le document a été demandé. |
»»»» present | boolean | false | none | Présence ou non du document. True si document présent, False sinon. |
»»»» listFileInformation | [FileInformation] | false | none | Informations du (ou des) fichiers présents pour ce document. |
»»»»» Information du document présent | FileInformation | false | none | Informations d'un fichier déposé pour un document ou une preuve. |
»»»»»» fileId | integer(int64) | false | none | Identifiant du fichier. |
»»»»»» uploadDate | string(date) | false | none | Date de dépôt du document. |
»»»»»» fileUUID | string(string) | false | none | Identifiant UUID du fichier. |
»»»»»» fileCreation | string(date) | false | none | Date de création du fichier. |
»»»»»» fileSize | integer(int64) | false | none | Taille en octet du fichier. |
»»»»»» expirationDate | string(date) | false | none | Date d'expiration du document. |
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Status Code 404
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Mettre à jour un dossier
Code samples
# You can also use wget
curl -X POST https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
URL obj = new URL("https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
const inputBody = '{
"dossierReference": "string",
"description": "string",
"purchasingCategory": "string",
"expirationDate": "2019-08-24",
"thirdpartyCode": "string",
"thirdpartyEmail": [
"user@example.com"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
POST /account/{accountId}/dossiers/{dossierId}
Mettre à jour les informations d’un dossier suivi (monitored=true).
Body parameter
{
"dossierReference": "string",
"description": "string",
"purchasingCategory": "string",
"expirationDate": "2019-08-24",
"thirdpartyCode": "string",
"thirdpartyEmail": [
"user@example.com"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | integer(int64) | true | Identifiant du compte. |
dossierId | path | integer(int64) | true | Identifiant du dossier. |
body | body | DossierUpdate | true | données à mettre à jour dans le dossier. |
Example responses
200 Response
{
"messages": {
"info": [
{
"code": "string",
"message": "string"
}
],
"warning": [
{
"code": "string",
"message": "string"
}
],
"error": [
{
"code": "string",
"message": "string"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Mise à jour du dossier effectuée avec succès. | Inline |
400 | Bad Request | Erreurs dans les valeurs transmises au serveur. Voir la liste des erreurs. | None |
401 | Unauthorized | Authorisation non comprise ou invalide | None |
404 | Not Found | Aucun compte avec cet identifiant (accountId), ou aucun dossier avec cet identifiant (dossierId). | Inline |
5XX | Unknown | Erreur inattendue | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Status Code 404
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Documents d'un dossier
Code samples
# You can also use wget
curl -X GET https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/documents \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
URL obj = new URL("https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/documents");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/documents',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/documents', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/documents", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/documents', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /account/{accountId}/dossiers/{dossierId}/documents
Restituer les documents d'un dossier.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | integer(int64) | true | Identifiant du compte. |
dossierId | path | integer(int64) | true | Identifiant d'un dossier. |
Example responses
200 Response
{
"content": [
{
"documentId": 0,
"documentCode": "string",
"name": "string",
"requestDate": "2019-08-24",
"present": true,
"listFileInformation": [
{
"fileId": 0,
"uploadDate": "2019-08-24",
"fileUUID": "string",
"fileCreation": "2019-08-24",
"fileSize": 0,
"expirationDate": "2019-08-24"
}
]
}
],
"messages": {
"info": [
{
"code": "string",
"message": "string"
}
],
"warning": [
{
"code": "string",
"message": "string"
}
],
"error": [
{
"code": "string",
"message": "string"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Retourne les documents d'un dossier. | Inline |
400 | Bad Request | Requête mal formée | None |
401 | Unauthorized | Authorisation non comprise ou invalide | None |
404 | Not Found | Aucun compte avec cet identifiant (accountId), ou aucun dossier avec cet identifiant (dossierId). | Inline |
5XX | Unknown | Erreur inattendue | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» content | [Document] | false | none | [Une exigence comme un document demandé, une signature, une donnée à apporter au dossier] |
»» Document ou preuve demandée pour le dossier | Document | false | none | Une exigence comme un document demandé, une signature, une donnée à apporter au dossier |
»»» documentId | integer(int64) | false | none | Identifiant unique du document. |
»»» documentCode | string | false | none | Code qui identifie le document. |
»»» name | string | false | none | Nom du document. |
»»» requestDate | string(date) | false | none | Date à laquelle le document a été demandé. |
»»» present | boolean | false | none | Présence ou non du document. True si document présent, False sinon. |
»»» listFileInformation | [FileInformation] | false | none | Informations du (ou des) fichiers présents pour ce document. |
»»»» Information du document présent | FileInformation | false | none | Informations d'un fichier déposé pour un document ou une preuve. |
»»»»» fileId | integer(int64) | false | none | Identifiant du fichier. |
»»»»» uploadDate | string(date) | false | none | Date de dépôt du document. |
»»»»» fileUUID | string(string) | false | none | Identifiant UUID du fichier. |
»»»»» fileCreation | string(date) | false | none | Date de création du fichier. |
»»»»» fileSize | integer(int64) | false | none | Taille en octet du fichier. |
»»»»» expirationDate | string(date) | false | none | Date d'expiration du document. |
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Status Code 404
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Détails d'un document d'un dossier
Code samples
# You can also use wget
curl -X GET https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/documents/{documentId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
URL obj = new URL("https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/documents/{documentId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/documents/{documentId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/documents/{documentId}', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/documents/{documentId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/documents/{documentId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /account/{accountId}/dossiers/{dossierId}/documents/{documentId}
Restituer les détails d'un document d'un dossier.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | integer(int64) | true | Identifiant du compte. |
dossierId | path | integer(int64) | true | Identifiant d'un dossier. |
documentId | path | integer(int64) | true | Identifiant d'un document. |
Example responses
200 Response
{
"content": {
"documentId": 0,
"documentCode": "string",
"name": "string",
"requestDate": "2019-08-24",
"present": true,
"listFileInformation": [
{
"fileId": 0,
"uploadDate": "2019-08-24",
"fileUUID": "string",
"fileCreation": "2019-08-24",
"fileSize": 0,
"expirationDate": "2019-08-24"
}
]
},
"messages": {
"info": [
{
"code": "string",
"message": "string"
}
],
"warning": [
{
"code": "string",
"message": "string"
}
],
"error": [
{
"code": "string",
"message": "string"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Retourne les détails d'un documents d'un dossier. | Inline |
400 | Bad Request | Requête mal formée | None |
401 | Unauthorized | Authorisation non comprise ou invalide | None |
404 | Not Found | Aucun compte avec cet identifiant (accountId), ou aucun dossier avec cet identifiant (dossierId) ou aucun document avec et identiant | Inline |
5XX | Unknown | Erreur inattendue | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» content | Document | false | none | Une exigence comme un document demandé, une signature, une donnée à apporter au dossier |
»» documentId | integer(int64) | false | none | Identifiant unique du document. |
»» documentCode | string | false | none | Code qui identifie le document. |
»» name | string | false | none | Nom du document. |
»» requestDate | string(date) | false | none | Date à laquelle le document a été demandé. |
»» present | boolean | false | none | Présence ou non du document. True si document présent, False sinon. |
»» listFileInformation | [FileInformation] | false | none | Informations du (ou des) fichiers présents pour ce document. |
»»» Information du document présent | FileInformation | false | none | Informations d'un fichier déposé pour un document ou une preuve. |
»»»» fileId | integer(int64) | false | none | Identifiant du fichier. |
»»»» uploadDate | string(date) | false | none | Date de dépôt du document. |
»»»» fileUUID | string(string) | false | none | Identifiant UUID du fichier. |
»»»» fileCreation | string(date) | false | none | Date de création du fichier. |
»»»» fileSize | integer(int64) | false | none | Taille en octet du fichier. |
»»»» expirationDate | string(date) | false | none | Date d'expiration du document. |
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Status Code 404
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Arrêter le suivi d'un dossier.
Code samples
# You can also use wget
curl -X POST https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/stop \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
URL obj = new URL("https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/stop");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/stop',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/stop', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/stop", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/stop', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
POST /account/{accountId}/dossiers/{dossierId}/stop
Arrêter le suivi d'un dossier
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | integer(int64) | true | Identifiant du compte. |
dossierId | path | integer(int64) | true | Identifiant du dossier. |
Example responses
200 Response
{
"messages": {
"info": [
{
"code": "string",
"message": "string"
}
],
"warning": [
{
"code": "string",
"message": "string"
}
],
"error": [
{
"code": "string",
"message": "string"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Arrêt de la surveillance du dossier effectuée avec succès. | Inline |
400 | Bad Request | Requête mal formée ou Dossier déjà non suivi. | None |
401 | Unauthorized | Authorisation non comprise ou invalide | None |
404 | Not Found | Aucun compte avec cet identifiant (accountId), ou aucun dossier avec cet identifiant (dossierId). | None |
5XX | Unknown | Erreur inattendue | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Réactiver un dossier
Code samples
# You can also use wget
curl -X POST https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/reactivate \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
URL obj = new URL("https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/reactivate");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
const inputBody = '{
"expirationDate": "2019-08-24"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/reactivate',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/reactivate', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/reactivate", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/reactivate', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
POST /account/{accountId}/dossiers/{dossierId}/reactivate
Réactiver le suivi d'un dossier.
Body parameter
{
"expirationDate": "2019-08-24"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | integer(int64) | true | Identifiant du compte. |
dossierId | path | integer(int64) | true | Identifiant du dossier. |
body | body | ReactivateDossierData | true | Attributs du dossier à mettre à jour lors de la réactivation du suivi. |
Example responses
200 Response
{
"messages": {
"info": [
{
"code": "string",
"message": "string"
}
],
"warning": [
{
"code": "string",
"message": "string"
}
],
"error": [
{
"code": "string",
"message": "string"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Réactivation du suivi du dossier avec succès. | Inline |
400 | Bad Request | Requête mal formée ou Dossier déjà suivi ou date d'expiration dans le passé. | None |
401 | Unauthorized | Authorisation non comprise ou invalide | None |
404 | Not Found | Aucun compte avec cet identifiant (accountId), ou aucun dossier avec cet identifiant (dossierId). | None |
5XX | Unknown | Erreur inattendue | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Documents requis pour un dossier
Code samples
# You can also use wget
curl -X GET https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/requirements \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
URL obj = new URL("https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/requirements");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/requirements',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/requirements', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/requirements", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/requirements', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /account/{accountId}/dossiers/{dossierId}/requirements
Restituer les documents demandés pour un dossier actif.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | integer(int64) | true | Identifiant du compte. |
dossierId | path | integer(int64) | true | Identifiant du dossier |
Example responses
200 Response
{
"content": [
{
"documentId": 0,
"accountId": 0,
"code": "string",
"name": "string",
"descriptionCategoryFr": "string",
"descriptionCategoryEn": "string",
"descriptionFr": "string",
"descriptionEn": "string"
}
],
"messages": {
"info": [
{
"code": "string",
"message": "string"
}
],
"warning": [
{
"code": "string",
"message": "string"
}
],
"error": [
{
"code": "string",
"message": "string"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Retourne un tableau JSON. Chaque item contient un document requis pour le dossier. | Inline |
400 | Bad Request | Requête mal formée | None |
401 | Unauthorized | Authorisation non comprise ou invalide | None |
404 | Not Found | Aucun compte avec cet identifiant (accountId), ou aucun dossier avec cet identifiant (dossierId). | None |
5XX | Unknown | Erreur inattendue | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» content | [Requirement] | false | none | [Une exigence (un document/preuve requis/e)] |
»» Requirement | Requirement | false | none | Une exigence (un document/preuve requis/e) |
»»» documentId | integer | false | none | id interne |
»»» accountId | integer | false | none | id du compte |
»»» code | string | false | none | Code identifiant le document. |
»»» name | string | false | none | Nom de l'exigence |
»»» descriptionCategoryFr | string | false | none | Description de la catégorie de l'exigence en français |
»»» descriptionCategoryEn | string | false | none | Description de la catégorie de de l'exigence en anglais |
»»» descriptionFr | string | false | none | Description de l'exigence en français |
»»» descriptionEn | string | false | none | Description de l'exigence en anglais |
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Mettre à jour les documents requis
Code samples
# You can also use wget
curl -X POST https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/requirements \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
URL obj = new URL("https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/requirements");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
const inputBody = '[
"string"
]';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/requirements',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/requirements', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/requirements", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/requirements', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
POST /account/{accountId}/dossiers/{dossierId}/requirements
Mettre à jour les documents demandés pour un dossier actif.
Body parameter
[
"string"
]
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | integer(int64) | true | Identifiant du compte. |
dossierId | path | integer(int64) | true | Identifiant du dossier |
body | body | array[string] | false | Liste des requirements (documents demandés). |
Example responses
200 Response
{
"messages": {
"info": [
{
"code": "string",
"message": "string"
}
],
"warning": [
{
"code": "string",
"message": "string"
}
],
"error": [
{
"code": "string",
"message": "string"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Les documents requis pour le dossier ont été mis à jour avec succès. | Inline |
400 | Bad Request | Requête mal formée ou Erreurs dans les valeurs transmises au serveur. Voir la liste des erreurs. | None |
401 | Unauthorized | Authorisation non comprise ou invalide | None |
404 | Not Found | Aucun dossier ayant cet identifiant | None |
5XX | Unknown | Erreur inattendue | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Statut de création d'un dossier
Code samples
# You can also use wget
curl -X GET https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/process/{processId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
URL obj = new URL("https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/process/{processId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/process/{processId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/process/{processId}', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/process/{processId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/process/{processId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /account/{accountId}/dossiers/process/{processId}
Permet de connaître le statut et le résultat d'un import de dossier à partir de l'identifiant d'import.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | integer(int64) | true | Identifiant du compte. |
processId | path | integer(int64) | true | none |
Example responses
200 Response
{
"content": {
"processId": "string",
"complete": true,
"success": true,
"errors": [
{
"code": "string",
"message": "string"
}
]
},
"messages": {
"info": [
{
"code": "string",
"message": "string"
}
],
"warning": [
{
"code": "string",
"message": "string"
}
],
"error": [
{
"code": "string",
"message": "string"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | envoie un mot JSON indiquant le statut et le résultat de l'import. | Inline |
400 | Bad Request | Requête mal formée | None |
401 | Unauthorized | Authorisation non comprise ou invalide | None |
404 | Not Found | Aucun process avec cet identifiant | None |
5XX | Unknown | Erreur inattendue | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» content | DossierProcessResult | false | none | Mot JSON contenant l'identifiant et le statut du process d'import de dossier. |
»» processId | string | false | none | Identifiant du process d'import de dossier. |
»» complete | boolean | false | none | True si le process d'import s'est terminé, false sinon. |
»» success | boolean | false | none | True si le dossier a été importé avec succès. False sinon. |
»» errors | [Message] | false | none | Erreurs survenues lors de l'import de dossier. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Statut de création de dossiers
Code samples
# You can also use wget
curl -X GET https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/processes \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
URL obj = new URL("https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/processes");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/processes',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/processes', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/processes", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/processes', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /account/{accountId}/dossiers/processes
Permet de connaître les résultats d'import de plusieurs dossiers.
Si le paramètre fromDate est renseigné, les résultats d'imports qui seront retournée sont ceux qui ont été lancés à partir de cette date.
Par défaut, les résultats d'imports lancés dans les dernières 24h sont retrounés.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | integer(int64) | true | Identifiant du compte. |
fromDate | query | string(date) | false | Date de lancement min des imports. |
Example responses
200 Response
{
"content": [
{
"processId": "string",
"complete": true,
"success": true,
"errors": [
{
"code": "string",
"message": "string"
}
]
}
],
"messages": {
"info": [
{
"code": "string",
"message": "string"
}
],
"warning": [
{
"code": "string",
"message": "string"
}
],
"error": [
{
"code": "string",
"message": "string"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Renvoie un tableau d'objets JSON, indiquant le statut et le résultat des imports. | Inline |
400 | Bad Request | Requête mal formée | None |
401 | Unauthorized | Authorisation non comprise ou invalide | None |
404 | Not Found | Aucun process avec cet identifiant | None |
5XX | Unknown | Erreur inattendue | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» content | [DossierProcessResult] | false | none | Tableau contenant des objets JSON, indiquant les statuts d'import d'un ou plusieurs dossiers. |
»» DossierProcessResult | DossierProcessResult | false | none | Mot JSON contenant l'identifiant et le statut du process d'import de dossier. |
»»» processId | string | false | none | Identifiant du process d'import de dossier. |
»»» complete | boolean | false | none | True si le process d'import s'est terminé, false sinon. |
»»» success | boolean | false | none | True si le dossier a été importé avec succès. False sinon. |
»»» errors | [Message] | false | none | Erreurs survenues lors de l'import de dossier. |
»»»» code | string | false | none | Code du message. |
»»»» message | string | false | none | texte du message. |
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Fichiers
Relatif aux fichiers d'un document d'un dossier d'un compte
Téléchargement d'un fichier d'un document d'un dossier
Code samples
# You can also use wget
curl -X GET https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/documents/{documentId}/files/{fileId} \
-H 'Accept: application/octet-stream' \
-H 'Authorization: Bearer {access-token}'
URL obj = new URL("https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/documents/{documentId}/files/{fileId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
const headers = {
'Accept':'application/octet-stream',
'Authorization':'Bearer {access-token}'
};
fetch('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/documents/{documentId}/files/{fileId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/octet-stream',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/documents/{documentId}/files/{fileId}', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/octet-stream"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/documents/{documentId}/files/{fileId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/octet-stream',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://rs.e-attestations.com/api/v1/account/{accountId}/dossiers/{dossierId}/documents/{documentId}/files/{fileId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /account/{accountId}/dossiers/{dossierId}/documents/{documentId}/files/{fileId}
Télécharger le fichier
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | integer(int64) | true | Identifiant du compte. |
dossierId | path | integer(int64) | true | Identifiant d'un dossier. |
documentId | path | integer(int64) | true | Identifiant d'un document. |
fileId | path | integer(int64) | true | Identifiant d'un fichier. |
Example responses
200 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Retourne le fichier | string |
400 | Bad Request | Requête mal formée | None |
401 | Unauthorized | Authorisation non comprise ou invalide | None |
404 | Not Found | Aucun fichier avec cet identifiant (accountId), ou aucun dossier avec cet identifiant (dossierId) ou aucun document avec cet identiant (documentId) ou aucun fichier avec cet identiant (fileId) | None |
5XX | Unknown | Erreur inattendue | None |
Requirements
Relatif aux type de document de conformité exigés aux tiers
Documents requis
Code samples
# You can also use wget
curl -X GET https://rs.e-attestations.com/api/v1/account/{accountId}/requirements \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
URL obj = new URL("https://rs.e-attestations.com/api/v1/account/{accountId}/requirements");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://rs.e-attestations.com/api/v1/account/{accountId}/requirements',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://rs.e-attestations.com/api/v1/account/{accountId}/requirements', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://rs.e-attestations.com/api/v1/account/{accountId}/requirements", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://rs.e-attestations.com/api/v1/account/{accountId}/requirements', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /account/{accountId}/requirements
Liste des documents requis, disponibles pour un donneur d'ordres
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | integer(int64) | true | Identifiant du compte. |
Example responses
200 Response
{
"content": [
{
"documentId": 0,
"accountId": 0,
"code": "string",
"name": "string",
"descriptionCategoryFr": "string",
"descriptionCategoryEn": "string",
"descriptionFr": "string",
"descriptionEn": "string"
}
],
"messages": {
"info": [
{
"code": "string",
"message": "string"
}
],
"warning": [
{
"code": "string",
"message": "string"
}
],
"error": [
{
"code": "string",
"message": "string"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Retourne un tableau JSON. Chaque item contient un document requis. | Inline |
400 | Bad Request | Requête mal formée | None |
401 | Unauthorized | Authorisation non comprise ou invalide | None |
404 | Not Found | Aucun compte avec cet identifiant (accountId). | None |
5XX | Unknown | Erreur inattendue | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» content | [Requirement] | false | none | [Une exigence (un document/preuve requis/e)] |
»» Requirement | Requirement | false | none | Une exigence (un document/preuve requis/e) |
»»» documentId | integer | false | none | id interne |
»»» accountId | integer | false | none | id du compte |
»»» code | string | false | none | Code identifiant le document. |
»»» name | string | false | none | Nom de l'exigence |
»»» descriptionCategoryFr | string | false | none | Description de la catégorie de l'exigence en français |
»»» descriptionCategoryEn | string | false | none | Description de la catégorie de de l'exigence en anglais |
»»» descriptionFr | string | false | none | Description de l'exigence en français |
»»» descriptionEn | string | false | none | Description de l'exigence en anglais |
» messages | Messages | false | none | Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs. |
»» info | [Message] | false | none | Tableau contenant les messages d'information. |
»»» code | string | false | none | Code du message. |
»»» message | string | false | none | texte du message. |
»» warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
»» error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Schemas
Account
{
"id": 0,
"account": "string",
"company": "string",
"creation": "2019-08-24T14:15:22Z",
"maxDossiers": 0,
"name": "string",
"subscriptionDate": "2019-08-24T14:15:22Z",
"subscriptions": [
{
"accountId": 0,
"endSubscriptionDate": "2019-08-24T14:15:22Z",
"key": "string",
"startSubscriptionDate": "2019-08-24T14:15:22Z",
"status": "string"
}
]
}
Compte eAttestations
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | integer(int64) | false | none | Identifiant du compte. A utiliser dans tous les appels à l'API |
account | string | false | none | Appellation du compte eAttestations |
company | string | false | none | Nom de l'entité légale du compte |
creation | string(date-time) | false | none | Date de création du compte |
maxDossiers | integer(int32) | false | none | Limite en nombre de dossiers |
name | string | false | none | Nom du compte |
subscriptionDate | string(date-time) | false | none | Date de souscription au service |
subscriptions | [Subscription] | false | none | none |
GlobalInformation
{
"numberOfThirdparties": 0,
"numberOfSubscribedThirdparties": 0,
"numberOfCompleteThirdparties": 0,
"numberOfDossiers": 0,
"numberOfCompleteDossiers": 0,
"listIndicatorsStatistics": [
{
"indicatorCode": "string",
"numberOfThirdparties": 0,
"numberOfSubscribedThirdparties": 0,
"numberOfCompleteThirdparties": 0,
"numberOfDossiers": 0,
"numberOfCompleteDossiers": 0
}
]
}
Informations globales
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
numberOfThirdparties | integer(int64) | false | none | Le nombre total de tiers du compte. |
numberOfSubscribedThirdparties | integer(int64) | false | none | Le nombre total de tiers inscrits pour un donneur d'ordres. |
numberOfCompleteThirdparties | integer(int64) | false | none | Le nombre total de tiers dont tous les dossiers actifs sont complets. Autrement dit, les tiers qui ont déposé tous les documents requis par ce donneur d'ordres. |
numberOfDossiers | integer(int64) | false | none | Le nombre total de dossiers actifs. |
numberOfCompleteDossiers | integer(int64) | false | none | Le nombre total de dossiers complets. Autrement dit, les dossiers pour lesquels tous les documents requis ont été déposés. |
listIndicatorsStatistics | [StatisticsIndicator] | false | none | Tableau contenant des statistiques par indicateur (E.g. Obligation de vigilance). |
StatisticsIndicator
{
"indicatorCode": "string",
"numberOfThirdparties": 0,
"numberOfSubscribedThirdparties": 0,
"numberOfCompleteThirdparties": 0,
"numberOfDossiers": 0,
"numberOfCompleteDossiers": 0
}
Indicateur de statistiques
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
indicatorCode | string | false | none | Code de l'indicateur. |
numberOfThirdparties | integer(int64) | false | none | Le nombre de tiers du compte donneurs d'ordres restreint sur cet indicateur. |
numberOfSubscribedThirdparties | integer(int64) | false | none | Le nombre de tiers inscrits restreints sur cet indicateur. |
numberOfCompleteThirdparties | integer(int64) | false | none | Le nombre de tiers dont tous les dossiers sont complets, restreints sur cet indicateur. |
numberOfDossiers | integer(int64) | false | none | Le nombre de dossiers du compte, restreints sur cet indicateur. |
numberOfCompleteDossiers | integer(int64) | false | none | Le nombre de dossiers complets du compte, restreints sur cet indicateur. |
NewDossier
{
"companyIdType": "string",
"companyIdValue": "string",
"thirdpartyCode": "string",
"dossierReference": "string",
"description": "string",
"purchasingCategory": "string",
"expirationDate": "2019-08-24",
"requiredDocuments": [
"string"
],
"thirdpartyEmail": [
"user@example.com"
],
"userInCharge": [
"user@example.com"
]
}
Nouveau dossier
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
companyIdType | string | true | none | Type d'identifiant compagnie. |
companyIdValue | string | true | none | Identifiant compagnie du tiers (SIRET ou TVA intra communautaire). |
thirdpartyCode | string | false | none | Code tiers. Il s'agit d'un identifiant interne au donneur d'ordres. |
dossierReference | string | true | none | Référence du dossier. |
description | string | false | none | Description du dossier. |
purchasingCategory | string | false | none | Catégorie achat du dossier. |
expirationDate | string(date) | false | none | Date d'expiration du dossier. Passée cette date, le dossier n'est plus suivi (Attribut "monitored" du dossier passe à false) |
requiredDocuments | [string] | false | none | Liste des documents (requirements) demandés dans ce dossier pour ce tiers. Si aucun document n'est demandé, le set de documents par défault est demandé, c'est-à-dire les documents de l'obligation de vigilance. |
thirdpartyEmail | [string] | false | none | Liste des emails de contacts tiers. Si un tiers est non inscrit, ces emails serviront à envoyer les invitations. |
userInCharge | [string] | false | none | Liste des emails des responsables du dossier côté donneur d'ordres. Si un email ne correspond à aucun utilisateur inscrit, une invitation à s'inscrire sur le plateforme eAttestations donneur d'ordres, est envoyé à cet Email. |
DossierProcess
{
"processId": "string"
}
Process Dossier
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
processId | string | false | none | Identifiant du process d'import de dossier. |
DossierProcessResult
{
"processId": "string",
"complete": true,
"success": true,
"errors": [
{
"code": "string",
"message": "string"
}
]
}
DossierProcessResult
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
processId | string | false | none | Identifiant du process d'import de dossier. |
complete | boolean | false | none | True si le process d'import s'est terminé, false sinon. |
success | boolean | false | none | True si le dossier a été importé avec succès. False sinon. |
errors | [Message] | false | none | Erreurs survenues lors de l'import de dossier. |
ThirdpartyIdentifier
{
"thirdpartyId": 0,
"companyIdType": "string",
"companyIdValue": "string",
"thirdpartyCode": "string"
}
Identifiant tiers
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
thirdpartyId | integer | false | none | Identifiant eAttestations du tiers. Celui-ci est différent du companyIdValue. Le thirdpartyId est un identifiant technique qui identifie de façon unique le tiers dans la plateforme eAttestations. |
companyIdType | string | false | none | Type d'identifiant compagnie. |
companyIdValue | string | false | none | Identifiant compagnie du tiers (SIRET ou TVA intra communautaire). |
thirdpartyCode | string | false | none | Code tiers. Il s'agit d'un identifiant interne au client. |
ThirdpartyDetails
{
"thirdpartyId": 0,
"accountId": 0,
"companyIdType": "string",
"companyIdValue": "string",
"thirdpartyCode": "string",
"monitored": true,
"name": "string",
"addressStreet": "string",
"addressCity": "string",
"addressPostCode": "string",
"addressCountryCode": "string",
"subscriptionState": true,
"subscriptionDate": "2019-08-24",
"subscriptionKey": "string",
"outOfBusiness": true,
"stateLastChangeDate": "2019-08-24",
"thirdpartyGlobalState\"": true,
"acronym": "string",
"activityCode": "string",
"activityLabel": "string",
"capital": 0,
"capitalCurrency": "string",
"ceo": "string",
"datecreation": "2019-08-24",
"lastBalanceSheetDate": "2019-08-24",
"legalCategoryCode": "string",
"legalCategoryLabel": "string",
"siren": "string",
"siret": "string",
"turnover": 0,
"turnoverCurrency": "string",
"tva": "string",
"workforce": 0,
"thirdpartyUsers": [
{
"firstname": "string",
"lastname": "string",
"email": "user@example.com",
"phone": "string"
}
]
}
Détails d'un tiers
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
thirdpartyId | integer(int64) | false | none | Identifiant eAttestations du tiers. Celui-ci est différent du companyIdValue. Le thirdpartyId est un identifiant technique qui identifie de façon unique le tiers dans la plateforme eAttestations. |
accountId | integer(int64) | false | none | Identifiant du compte. |
companyIdType | string | false | none | Type d'identifiant compagnie. |
companyIdValue | string | false | none | Identifiant compagnie du tiers (SIRET ou TVA intra communautaire). |
thirdpartyCode | string | false | none | Code tiers. Il s'agit d'un identifiant interne au client. |
monitored | boolean | false | none | Indique si le tiers est suivi. Cet attribut est à true si le tiers est suivi, false sinon. Un tiers est suivi dès lors qu'il a un dossier suivi. |
name | string | false | none | Dénomination sociale du tiers. Celle-ci est automatiquement fournie par notre data provider à partir de l'identifiant du tiers (Numéro Siret ou Numéro TVA) |
addressStreet | string | false | none | Elément "Rue" de l'adresse du tiers. |
addressCity | string | false | none | Elément "Ville" de l'adresse du tiers. |
addressPostCode | string | false | none | Elément "Code postal" de l'adresse du tiers. |
addressCountryCode | string | false | none | Elément "Pays" de l'adresse du tiers. |
subscriptionState | boolean | false | none | Statut d'inscription du tiers. True si le tiers est inscrit, False sinon. |
subscriptionDate | string(date) | false | none | Date d'inscription du tiers. |
subscriptionKey | string | false | none | Clé d'inscription. Elle est demandée au tiers au moment de son adhésion. Elle doit lui être communiquée lors de relances d'inscription. |
outOfBusiness | boolean | false | none | Indique si l'établissement est fermé. True si c'est le cas, False sinon. |
stateLastChangeDate | string(date) | false | none | Dernière date à laquelle l'état global du tiers a changé. |
thirdpartyGlobalState" | boolean | false | none | Etat de complétude global du tiers. Une valeur true (Complet) signifie que tous les dossiers sont dans l'état complet. Une valeur false (Incomplet) signifie qu'au moins un ou plusieurs dossiers sont dans l'état incomplet. |
acronym | string | false | none | Acronym du tiers |
activityCode | string | false | none | Code APE de l'activité du tiers |
activityLabel | string | false | none | Libellé APE de l'activité du tiers |
capital | integer(int64) | false | none | Capital connu pour le tiers |
capitalCurrency | string | false | none | Devise du capital connu pour le tiers |
ceo | string | false | none | Dirigeant |
datecreation | string(date) | false | none | Date de création du tiers dans la base eAttestations |
lastBalanceSheetDate | string(date) | false | none | Dernier date du résultat d'exploitation connu |
legalCategoryCode | string | false | none | Code jurisique d'activité |
legalCategoryLabel | string | false | none | Libellé jurisique d'activité |
siren | string | false | none | Identifiant SIREN (pour les français) |
siret | string | false | none | Identifiant SIRET de l'établissement (pour les français) |
turnover | number(double) | false | none | Dernier chiffre d'affaire connu du tiers |
turnoverCurrency | string | false | none | Devise du dernier chiffre d'affaire connu du tiers |
tva | string | false | none | Identifiant intra communautaire |
workforce | integer(int32) | false | none | Effectifs du tiers |
thirdpartyUsers | [UserInformation] | false | none | Informations sur les utilisateurs du compte tiers. |
UserInformation
{
"firstname": "string",
"lastname": "string",
"email": "user@example.com",
"phone": "string"
}
Informations utilisateur
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
firstname | string | false | none | Prénom de l'utilisateur. |
lastname | string | false | none | Nom de l'utilisateur. |
string(email) | false | none | E-mail de l'utilisateur. | |
phone | string | false | none | Numéro de téléphone de l'utilisateur au format international. |
DossierUpdate
{
"dossierReference": "string",
"description": "string",
"purchasingCategory": "string",
"expirationDate": "2019-08-24",
"thirdpartyCode": "string",
"thirdpartyEmail": [
"user@example.com"
]
}
Mise à jour du dossier
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
dossierReference | string | false | none | Référence du dossier. |
description | string | false | none | Description du dossier. |
purchasingCategory | string | false | none | Catégorie achat du dossier. |
expirationDate | string(date) | false | none | Date d'expiration du dossier. Passée cette date, le dossier n'est plus suivi (Attribut "monitored" du dossier passe à false) |
thirdpartyCode | string | false | none | Code tiers. Il s'agit d'un identifiant interne au client. |
thirdpartyEmail | [string] | false | none | Liste des emails de contacts tiers. Si un tiers est n'est pas inscrit, ces emails serviront à envoyer les invitations. |
Dossier
{
"dossierId": 0,
"accountId": 0,
"thirdpartyId": 0,
"companyIdType": "string",
"companyIdValue": "string",
"thirdpartyCode": "string",
"companyCountryCode": "string",
"monitored": true,
"dossierReference": "string",
"description": "string",
"purchasingCategory": "string",
"startingDate": "2019-08-24",
"expirationDate": "2019-08-24",
"stoppingDate": "2019-08-24",
"stoppingReason": "string",
"state": true,
"stateLastChangeDate": "2019-08-24",
"indicators": [
{
"indicatorCode": "string",
"state": true,
"lastChangeDate": "2019-08-24"
}
],
"documents": [
{
"documentId": 0,
"documentCode": "string",
"name": "string",
"requestDate": "2019-08-24",
"present": true,
"listFileInformation": [
{
"fileId": 0,
"uploadDate": "2019-08-24",
"fileUUID": "string",
"fileCreation": "2019-08-24",
"fileSize": 0,
"expirationDate": "2019-08-24"
}
]
}
]
}
Dossier
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
dossierId | integer(int64) | false | none | Identifiant du dossier. |
accountId | integer(int64) | false | none | Identifiant du compte. |
thirdpartyId | integer(int64) | false | none | Identifiant eAttestations du tiers. Celui-ci est différent du companyIdValue. Le thirdpartyId est un identifiant technique qui identifie de façon unique le tiers dans la plateforme eAttestations. |
companyIdType | string | false | none | Type d'identifiant compagnie. |
companyIdValue | string | false | none | Identifiant compagnie du tiers (SIRET ou TVA intra communautaire). |
thirdpartyCode | string | false | none | Code tiers. Il s'agit d'un identifiant interne au client. |
companyCountryCode | string | false | none | Code pays du tiers. Il s'agit d'un code alpha-3 du standard ISO 3166-1. |
monitored | boolean | false | none | Indique si le dossier est suivi (True) ou non suivi (False) |
dossierReference | string | false | none | Référence du dossier. |
description | string | false | none | Description du dossier. |
purchasingCategory | string | false | none | Catégorie achat du dossier. |
startingDate | string(date) | false | none | Date de début de suivi du dossier. |
expirationDate | string(date) | false | none | Date d'expiration du suivi du dossier. A partir de cette date, le dossier passe automatiquement à l'état "non suivi". |
stoppingDate | string(date) | false | none | Date d'arrêt de suivi du dossier. |
stoppingReason | string | false | none | Détails concernant l'arrêt du dossier: OUTOFBUSINESS (entreprise radiée), EXPIRATION (le dossier a atteint sa date d'expiration), STOPREQUEST (une demande d'arrêt a été faite de manière explicite et immédiate), UNKNOWN (information absente). Non nul uniquement si dossier désactivé. |
state | boolean | false | none | Indicateur de complétude du dossier. True si l'ensemble des documents demandés sont présents, false sinon. |
stateLastChangeDate | string(date) | false | none | Date du dernier changement de l'état de complétude du dossier. |
indicators | [DossierIndicator] | false | none | Liste des indicateurs du dossier. |
documents | [Document] | false | none | Liste des documents demandés pour le dossier. |
Requirement
{
"documentId": 0,
"accountId": 0,
"code": "string",
"name": "string",
"descriptionCategoryFr": "string",
"descriptionCategoryEn": "string",
"descriptionFr": "string",
"descriptionEn": "string"
}
Requirement
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
documentId | integer | false | none | id interne |
accountId | integer | false | none | id du compte |
code | string | false | none | Code identifiant le document. |
name | string | false | none | Nom de l'exigence |
descriptionCategoryFr | string | false | none | Description de la catégorie de l'exigence en français |
descriptionCategoryEn | string | false | none | Description de la catégorie de de l'exigence en anglais |
descriptionFr | string | false | none | Description de l'exigence en français |
descriptionEn | string | false | none | Description de l'exigence en anglais |
DossierIndicator
{
"indicatorCode": "string",
"state": true,
"lastChangeDate": "2019-08-24"
}
Indicateur de dossier
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
indicatorCode | string | false | none | Code de l'indicateur |
state | boolean | false | none | État de l'indicateur. True si l'ensemble des documents demandés de l'indicateur sont présents, false sinon. |
lastChangeDate | string(date) | false | none | Date du dernier changement de l'état de l'indicateur. |
Document
{
"documentId": 0,
"documentCode": "string",
"name": "string",
"requestDate": "2019-08-24",
"present": true,
"listFileInformation": [
{
"fileId": 0,
"uploadDate": "2019-08-24",
"fileUUID": "string",
"fileCreation": "2019-08-24",
"fileSize": 0,
"expirationDate": "2019-08-24"
}
]
}
Document ou preuve demandée pour le dossier
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
documentId | integer(int64) | false | none | Identifiant unique du document. |
documentCode | string | false | none | Code qui identifie le document. |
name | string | false | none | Nom du document. |
requestDate | string(date) | false | none | Date à laquelle le document a été demandé. |
present | boolean | false | none | Présence ou non du document. True si document présent, False sinon. |
listFileInformation | [FileInformation] | false | none | Informations du (ou des) fichiers présents pour ce document. |
FileInformation
{
"fileId": 0,
"uploadDate": "2019-08-24",
"fileUUID": "string",
"fileCreation": "2019-08-24",
"fileSize": 0,
"expirationDate": "2019-08-24"
}
Information du document présent
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
fileId | integer(int64) | false | none | Identifiant du fichier. |
uploadDate | string(date) | false | none | Date de dépôt du document. |
fileUUID | string(string) | false | none | Identifiant UUID du fichier. |
fileCreation | string(date) | false | none | Date de création du fichier. |
fileSize | integer(int64) | false | none | Taille en octet du fichier. |
expirationDate | string(date) | false | none | Date d'expiration du document. |
ReactivateDossierData
{
"expirationDate": "2019-08-24"
}
Informations du dossier à mettre à jour lors de la réactivation du suivi.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
expirationDate | string(date) | false | none | Date d'expiration du suivi du dossier. Passée cette date, le dossier n'est plus suivi (Attribut "monitored" du dossier passe à false). |
Message
{
"code": "string",
"message": "string"
}
Un message.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | Code du message. |
message | string | false | none | texte du message. |
Messages
{
"info": [
{
"code": "string",
"message": "string"
}
],
"warning": [
{
"code": "string",
"message": "string"
}
],
"error": [
{
"code": "string",
"message": "string"
}
]
}
Messages d'une réponse à un appel de l'API REST / JSON. Il contient des messages d'informations, d'avertissement et d'erreurs.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
info | [Message] | false | none | Tableau contenant les messages d'information. |
warning | [Message] | false | none | Tableau contenant les messages d'avertissement. |
error | [Message] | false | none | Tableau contenant les messages d'erreurs. |
Subscription
{
"accountId": 0,
"endSubscriptionDate": "2019-08-24T14:15:22Z",
"key": "string",
"startSubscriptionDate": "2019-08-24T14:15:22Z",
"status": "string"
}
Subscription
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
accountId | integer(int64) | false | none | Le compte lié à la souscription. |
endSubscriptionDate | string(date-time) | false | none | Date de fin de la souscription. |
key | string | false | none | Code de la souscription |
startSubscriptionDate | string(date-time) | false | none | Date de début de la souscription. |
status | string | false | none | Statut de la souscription. |
undefined
Codes
Les erreurs sont renvoyées dans le corps de la réponse, dans l'attribut messages.
Les codes d'erreurs ont une nomenclature qu'il faut prendre en compte pour les interpréter.
Codes | Description |
---|---|
E001 | Paramètre manquant |
E002 | Paramètre inconnu |
E003 | Paramètre vide |
E010 | Format incorrect |
E011 | Taille maximale dépassée |
E021 | Date d'expiration dans le passé |
E022 | Date dans le futur |
E030 | Domaine de l’e-mail invalide |
E101 | Erreur lors de la qualification de l'établissement |
E102 | L'établissement n'existe pas. |
E103 | L'établissement est fermé. |
E112 | Le code fournisseur (thirdpartyCode) déjà utilisé pour un autre fournisseur. |
E113 | Compte donneur d'ordres non actif |
E201 | Le dossier est désactivé |
E202 | La référence du dossier existe déjà pour ce couple donneur d'ordres / Fournisseur |
E301 | Le document (requirement) est désactivé |
E302 | Le document (requirement) n'est pas autorisé |