API WebServices SOAP v3
L'API WebServices SOAP v3 est utilisée pour interfacer un système d'information « client » à la plate-forme d'e-Attestations suivant le protocole SOAP.
Cette API WebServices présente un ensemble de méthodes permettant d'administrer (importer, suivre, archiver, etc...) les dossiers de suivi de conformité des tiers du compte client et de restituer des informations. La majorité des opérations sont synchrones.
Objectifs de cette documentation
Cette documentation a pour but de :
- Documenter les Web Services SOAP v3 proposés par e-Attestations.com
- Fournir des informations relatives à la sécurité des environnements disponibles
- Clarifier les mécanismes de support
- Décrire chaque méthode, les modèles associés et les erreurs liées
- Proposer des exemples de code pour faciliter le développement
Standards
Les WebServices s'appuient sur les standards SOAP 1.1 :
| Standard | Source |
|---|---|
| SOAP 1.1 | http://www.w3.org/TR/2000/NOTE-SOAP-20000508/ |
| WSDL 1.1 | http://www.w3.org/TR/2001/NOTE-wsdl-20010315 |
| WS-I Basic Profile 1.1 | http://www.ws-i.org/Profiles/BasicProfile-1.1.html |
L'implémentation inclut WS-Security pour l'identification de l'appelant.
Namespaces
| Préfixe | Namespace |
|---|---|
S11 | http://schemas.xmlsoap.org/soap/envelope/ |
wsse | http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd |
wsu | http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd |
srv | http://srv.v3.ws.ea.com/ |
Mise en place
La souscription nécessite de contacter votre gestionnaire de compte chez e-Attestations.com. Une discussion préalable sur la configuration des documents de conformité est recommandée.
Votre gestionnaire informera l'équipe technique pour la création de l'organisation, et les contacts techniques recevront des invitations au Tech'Desk.
Le support Tech'Desk e-Attestations
Ce système de ticketing fournit un support technique dédié aux APIs et WebServices. Soumettez vos demandes par email :
La plateforme sécurisée permet de partager les tickets de support au sein de votre organisation.
Collection Postman
Une collection Postman est fournie pour une intégration rapide et l'exploration de l'API. Variables requises : wsuser, wspassword, wsurl, plus un SIRET de test et un nom de dossier.
Utilisation avec newman
npx newman run "EA_WebServices_v3.postman_collection.json" \
--global-var wsuser="<user>" \
--global-var wspassword="<password>"Téléchargez Postman via getpostman.com ou newman via GitHub.
Environnements
Test
https://ws.test-e-attestations.com/v3.0/EAttestationsWS?wsdlInfrastructure partagée identique à la production. L'envoi d'emails est désactivé pour éviter les interférences de test.
Production
https://ws.e-attestations.com/v3.0/EAttestationsWS?wsdlPour l'utilisation avec votre compte live.
Sécurité
Les identifiants (username/password) sont transmis pour l'authentification des requêtes. Le filtrage par whitelist IP assure l'accès légitime depuis le système client.
Le chiffrement SSL/TLS supporte TLS 1.1 et TLS 1.2. Seul TLS 1.2 est considéré comme sécurisé par e-Attestations.
Sécurisation des flux - IP Trust
Communiquez les adresses IP des serveurs consommant les WebServices lors de la souscription. Chaque IP doit être ajoutée à la liste de confiance.
Format : Notation CIDR (exemple : 34.56.78.90/32)
Erreur HTTP 403
Indique que l'IP du serveur appelant n'est pas dans la liste de confiance. Vérifiez la déclaration de l'IP auprès d'e-Attestations via le Tech'Desk.
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<h1>Forbidden</h1>
<p>You don't have permission to access [...] on this server.</p>
</body>
</html>Authentification
Chaque appel aux WebServices nécessite des identifiants username/password valides fournis à l'ouverture du compte. Insérez-les dans le header SOAP comme UsernameToken.
Le type de mot de passe peut être PasswordDigest (recommandé — plus sécurisé, utilisant un hash du mot de passe, de la date et d'un nombre aléatoire) ou PasswordText.
<S11:Envelope xmlns:S11="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<S11:Header>
<wsse:Security>
<wsse:UsernameToken>
<wsse:Username>myUsername</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">
weYI3nXd8LjMNVksCKFV8t3rgHh3Rw==
</wsse:Password>
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">
WScqanjCEAC4mQoBE07sAQ==
</wsse:Nonce>
<wsu:Created>2003-07-16T01:24:32Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</S11:Header>
<S11:Body>
<!-- Contenu de la requête -->
</S11:Body>
</S11:Envelope>Erreur d'authentification
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Authentication failure</faultstring>
<detail/>
</soap:Fault>
</soap:Body>
</soap:Envelope>Vérifications en cas d'échec
- Identifiants présents dans le header SOAP
- Type de mot de passe correctement spécifié
- Identifiants correspondant à la plateforme appelée
Référence : Documentation OASIS WS Security
Méthodes disponibles
L'API SOAP v3 propose 11 méthodes pour gérer vos tiers et dossiers :
| Méthode | Description | Type |
|---|---|---|
importDossier | Import d'un dossier de suivi | Asynchrone |
getImportDossierResult | Résultat d'un import asynchrone | Synchrone |
getSupplierIdentifierList | Liste des identifiants fournisseurs | Synchrone |
getDossier | Informations d'un dossier | Synchrone |
getSupplierAccountInformation | Informations compte fournisseur | Synchrone |
getGlobalInformation | Statistiques globales du compte | Synchrone |
getAvailableDocuments | Documents disponibles | Synchrone |
updateDossier | Mise à jour d'un dossier | Synchrone |
stopDossier | Arrêt du suivi d'un dossier | Synchrone |
updateRequiredDocuments | Mise à jour des documents requis | Synchrone |
reactivateDossier | Réactivation d'un dossier | Synchrone |
Format de réponse standard
Toutes les méthodes retournent un objet Result :
| Attribut | Type | Description |
|---|---|---|
complete | Boolean | True quand le traitement est terminé |
success | Boolean | True si succès, False sinon |
listErrors | List<Error> | Liste des erreurs en cas d'échec |
Structure Error
| Attribut | Type | Description |
|---|---|---|
code | String | Code d'erreur |
additional | String | Contexte supplémentaire |
Active le suivi de conformité pour un dossier fournisseur. Le traitement est asynchrone, retournant un processId pour suivre le résultat via getImportDossierResult. La création de codes de dossier en doublon est interdite.
Flux de traitement asynchrone
→ retourne processId
avec processId
success=true
success=false
Paramètres - DossierImport
| Attribut | Type | Requis | Description |
|---|---|---|---|
supplierImport | SupplierImport | Oui | Informations d'identification du fournisseur |
dossierReference | String | Oui | Référence unique du dossier par fournisseur |
expirationDate | Date | Non | Date d'expiration du dossier |
description | String | Non | Description du dossier |
purchasingCategory | String | Non | Catégorie d'achat |
requiredDocuments | String[] | Non | Codes des documents requis (défaut si vide) |
supplierEmail | String | Non | Email(s) de contact du fournisseur |
userInCharge | String | Non | Email(s) du gestionnaire interne |
Paramètres - SupplierImport
| Attribut | Type | Requis | Description |
|---|---|---|---|
companyIDType | String | Oui | Type d'identifiant (CIT001, CIT002, CIT003) |
companyIDValue | String | Oui | Valeur de l'identifiant |
supplierCode | String | Non | Code fournisseur interne |
Requête
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:srv="http://srv.v3.ws.ea.com/">
<soapenv:Header />
<soapenv:Body>
<srv:importDossier>
<dossierImport>
<supplierImport>
<companyIDType>CIT001</companyIDType>
<companyIDValue>50382936800037</companyIDValue>
<supplierCode>SC_001</supplierCode>
</supplierImport>
<dossierReference>REF_001</dossierReference>
<expirationDate>2015-12-31</expirationDate>
<description>This is my description</description>
<purchasingCategory>Category n°1</purchasingCategory>
<requiredDocuments>ATT_VIGI</requiredDocuments>
<requiredDocuments>JUSTIF_IMM</requiredDocuments>
<requiredDocuments>ASSUR_RCPRO</requiredDocuments>
<supplierEmail>test@e-attestations.com</supplierEmail>
<userInCharge>test@mydomain.com</userInCharge>
</dossierImport>
</srv:importDossier>
</soapenv:Body>
</soapenv:Envelope>Réponse
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:importDossierResponse xmlns:ns1="http://srv.v3.ws.ea.com/">
<return xmlns:ns2="http://srv.v3.ws.ea.com/">
ff8081814f6e43ab014f6e4571630004
</return>
</ns1:importDossierResponse>
</soap:Body>
</soap:Envelope>Récupère le statut d'un import en attente en utilisant le processId retourné par importDossier.
Paramètres
| Attribut | Type | Requis | Description |
|---|---|---|---|
processId | String | Oui | Identifiant de la requête d'import |
Requête
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:srv="http://srv.v3.ws.ea.com/">
<soapenv:Header/>
<soapenv:Body>
<srv:getImportDossierResult>
<processId>ff8081814f6e43ab014f6e4571630004</processId>
</srv:getImportDossierResult>
</soapenv:Body>
</soapenv:Envelope>Réponse - En cours
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:getImportDossierResultResponse xmlns:ns1="http://srv.v3.ws.ea.com/">
<return xmlns:ns2="http://srv.v3.ws.ea.com/">
<complete>false</complete>
<success>false</success>
</return>
</ns1:getImportDossierResultResponse>
</soap:Body>
</soap:Envelope>Réponse - Succès
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:getImportDossierResultResponse xmlns:ns1="http://srv.v3.ws.ea.com/">
<return xmlns:ns2="http://srv.v3.ws.ea.com/">
<complete>true</complete>
<success>true</success>
</return>
</ns1:getImportDossierResultResponse>
</soap:Body>
</soap:Envelope>Réponse - Échec
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:getImportDossierResultResponse xmlns:ns1="http://srv.v3.ws.ea.com/">
<return xmlns:ns2="http://srv.v3.ws.ea.com/">
<complete>true</complete>
<listErrors>
<additional>REF_001</additional>
<code>E202</code>
</listErrors>
<success>false</success>
</return>
</ns1:getImportDossierResultResponse>
</soap:Body>
</soap:Envelope>Retourne tous les identifiants du référentiel fournisseur avec filtrage optionnel.
Paramètres - supplierIdentifierSearch
| Attribut | Type | Requis | Description |
|---|---|---|---|
monitoredSupplier | Boolean | Non | Filtrer fournisseurs suivis (true) ou non suivis (false) |
stateLastChangeDate | Date | Non | Filtrer par date de changement d'état |
supplierGlobalState | Boolean | Non | Filtrer par état de complétude |
subscriptionState | Boolean | Non | Filtrer par état d'inscription |
Requête
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:srv="http://srv.v3.ws.ea.com/">
<soapenv:Header/>
<soapenv:Body>
<srv:getSupplierIdentifierList>
<supplierIdentifierSearch>
<monitoredSupplier>true</monitoredSupplier>
</supplierIdentifierSearch>
</srv:getSupplierIdentifierList>
</soapenv:Body>
</soapenv:Envelope>Réponse - Succès
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:getSupplierIdentifierListResponse xmlns:ns1="http://srv.v3.ws.ea.com/">
<return xmlns:ns2="http://srv.v3.ws.ea.com/">
<supplierIdentifier>
<companyIDType>CIT001</companyIDType>
<companyIDValue>50382936800037</companyIDValue>
<supplierCode>SC_001</supplierCode>
</supplierIdentifier>
</return>
</ns1:getSupplierIdentifierListResponse>
</soap:Body>
</soap:Envelope>Récupère les informations de dossier pour un ou plusieurs fournisseurs avec options de filtrage flexibles.
Paramètres - DossierSearch
| Attribut | Type | Requis | Description |
|---|---|---|---|
supplierSearch | SupplierSearch | Oui | Identification du fournisseur |
dossierReference | String | Non | Filtre par référence de dossier |
monitoredDossier | Boolean | Non | Filtrer dossiers actifs (true) ou inactifs (false) |
stateLastChangeDate | Date | Non | Filtrer par date de changement d'état |
Paramètres - SupplierSearch
| Attribut | Type | Requis | Description |
|---|---|---|---|
companyIDType | String | Non* | Type d'identifiant |
companyIDValue | String | Non* | Valeur de l'identifiant |
supplierCode | String | Non* | Code fournisseur interne |
*Utilisez soit companyIDType+companyIDValue OU supplierCode
Requête
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:srv="http://srv.v3.ws.ea.com/">
<soapenv:Header/>
<soapenv:Body>
<srv:getDossier>
<dossierSearch>
<supplierSearch>
<companyIDType>CIT001</companyIDType>
<companyIDValue>48088206700014</companyIDValue>
</supplierSearch>
<dossierReference>REF001</dossierReference>
</dossierSearch>
</srv:getDossier>
</soapenv:Body>
</soapenv:Envelope>Réponse
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:getDossierResponse xmlns:ns1="http://srv.v3.ws.ea.com/">
<return xmlns:ns2="http://srv.v3.ws.ea.com/">
<result>
<complete>true</complete>
<success>true</success>
</result>
<supplier>
<companyCountryCode>FRA</companyCountryCode>
<companyIDType>CIT001</companyIDType>
<companyIDValue>48088206700014</companyIDValue>
<listDossiers>
<description>Ma description</description>
<dossierGlobalState>false</dossierGlobalState>
<dossierGlobalStateLastChangeDate>2016-02-11T11:57:40.094+01:00</dossierGlobalStateLastChangeDate>
<dossierId>57512</dossierId>
<dossierReference>REF001</dossierReference>
<listDocuments>
<askingDate>2016-02-11T11:57:40.270+01:00</askingDate>
<documentCode>JUSTIF_IMM</documentCode>
<listFileInformation>
<downloadLink>https://ws-test.e-attestations.com/webservices/download/[...]</downloadLink>
<expirationDate>2018-08-02T23:59:59.999+02:00</expirationDate>
<uploadDate>2018-02-02T01:30:17.634+01:00</uploadDate>
</listFileInformation>
<name>Justificatif d'immatriculation</name>
<present>true</present>
</listDocuments>
<listDocuments>
<askingDate>2016-02-11T11:57:40.515+01:00</askingDate>
<documentCode>ATT_VIGI</documentCode>
<name>Attestation de vigilance (6 mois)</name>
<present>false</present>
</listDocuments>
<listIndicators>
<indicatorCode>I001</indicatorCode>
<lastChangeDate>2016-02-11T11:57:40.094+01:00</lastChangeDate>
<state>false</state>
</listIndicators>
<monitoredDossier>true</monitoredDossier>
<purchasingCategory/>
<startingDate>2016-02-11T11:57:40.092+01:00</startingDate>
</listDossiers>
<monitoredSupplier>true</monitoredSupplier>
<supplierCode>A-GRAPH</supplierCode>
<supplierGlobalState>false</supplierGlobalState>
<supplierGlobalStateLastChangeDate>2016-02-11T11:57:40.257+01:00</supplierGlobalStateLastChangeDate>
</supplier>
</return>
</ns1:getDossierResponse>
</soap:Body>
</soap:Envelope>Structure de la réponse - Supplier
| Attribut | Type | Description |
|---|---|---|
companyIDType | String | Type d'identifiant |
companyIDValue | String | Valeur de l'identifiant |
companyCountryCode | String | Code pays ISO 3166-1 alpha-3 |
supplierCode | String | Code fournisseur interne |
monitoredSupplier | Boolean | Suivi si au moins un dossier actif |
supplierGlobalState | Boolean | Tous documents présents sur tous dossiers |
supplierGlobalStateLastChangeDate | Date | Dernier changement de complétude |
listDossiers | List<Dossier> | Dossiers correspondant aux filtres |
Structure de la réponse - Dossier
| Attribut | Type | Description |
|---|---|---|
dossierReference | String | Référence unique par fournisseur |
dossierId | String | ID système immutable |
startingDate | Date | Date de création/début de suivi |
expirationDate | Date | Date d'expiration (null si aucune) |
stoppingDate | Date | Date de désactivation (si inactif) |
stoppingReason | String | OUTOFBUSINESS, EXPIRATION, STOPREQUEST, UNKNOWN |
description | String | Description du dossier |
purchasingCategory | String | Catégorie d'achat |
monitoredDossier | Boolean | Dossier actif |
dossierGlobalState | Boolean | Tous documents demandés présents |
dossierGlobalStateLastChangeDate | Date | Dernier changement de complétude |
listIndicators | List<Indicator> | Indicateurs du dossier |
listDocuments | List<Document> | Documents demandés |
Structure - Document
| Attribut | Type | Description |
|---|---|---|
documentCode | String | Identifiant unique du document |
name | String | Nom du document |
askingDate | Date | Date de demande |
present | Boolean | Document valide et présent |
listFileInformation | List<FileInformation> | Détails des fichiers soumis |
Structure - FileInformation
| Attribut | Type | Description |
|---|---|---|
downloadLink | String | URL de téléchargement (restriction IP) |
uploadDate | Date | Date de soumission |
expirationDate | Date | Date d'expiration du document |
uploadUser | UserInformation | Utilisateur ayant soumis |
Retourne les informations d'identité du compte fournisseur et les utilisateurs enregistrés sur la plateforme.
Requête
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:srv="http://srv.v3.ws.ea.com/">
<soapenv:Header/>
<soapenv:Body>
<srv:getSupplierAccountInformation>
<supplierSearch>
<!--<companyIDType></companyIDType>-->
<!--<companyIDValue></companyIDValue>-->
<supplierCode>SC_001</supplierCode>
</supplierSearch>
</srv:getSupplierAccountInformation>
</soapenv:Body>
</soapenv:Envelope>Réponse - Succès
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:getSupplierAccountInformationResponse xmlns:ns1="http://srv.v3.ws.ea.com/">
<return xmlns:ns2="http://srv.v3.ws.ea.com/">
<result>
<complete>true</complete>
<success>true</success>
</result>
<supplierAccountInformation>
<addressCity>PARIS 14</addressCity>
<addressCountryCode>FRA</addressCountryCode>
<addressPostCode>75014</addressPostCode>
<addressStreet>VLA DE LOURCINE</addressStreet>
<companyCountryCode>FRA</companyCountryCode>
<companyIDType>CIT001</companyIDType>
<companyIDValue>50382936800037</companyIDValue>
<monitoredSupplier>false</monitoredSupplier>
<name>E-ATTESTATIONS.COM</name>
<outOfBusiness>false</outOfBusiness>
<subscriptionDate>2010-11-24T10:38:32.224+01:00</subscriptionDate>
<subscriptionState>true</subscriptionState>
<subscriptionKey>SXBQNTXKK6VM</subscriptionKey>
<supplierCode>SC_001</supplierCode>
<supplierUsers>
<email>contact@e-attestations.com</email>
<firstName>Jean</firstName>
<internationalPhone>+33 1 58 06 00 23</internationalPhone>
<lastName>Dupont</lastName>
</supplierUsers>
</supplierAccountInformation>
</return>
</ns1:getSupplierAccountInformationResponse>
</soap:Body>
</soap:Envelope>Structure - SupplierAccountInformation
| Attribut | Type | Description |
|---|---|---|
name | String | Dénomination sociale |
addressStreet | String | Adresse |
addressCity | String | Ville |
addressPostCode | String | Code postal |
addressCountryCode | String | Code pays |
supplierUsers | List<UserInformation> | Utilisateurs enregistrés |
subscriptionState | Boolean | Compte enregistré (true) ou non (false) |
subscriptionDate | Date | Date d'inscription |
subscriptionKey | String | Clé d'inscription pour l'enrôlement |
outOfBusiness | Boolean | Établissement fermé |
Retourne les statistiques au niveau du compte couvrant les fournisseurs actuellement suivis. Aucun paramètre requis.
Requête
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:srv="http://srv.v3.ws.ea.com/">
<soapenv:Header/>
<soapenv:Body>
<srv:getGlobalInformation/>
</soapenv:Body>
</soapenv:Envelope>Réponse
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:getGlobalInformationResponse xmlns:ns1="http://srv.v3.ws.ea.com/">
<return xmlns:ns2="http://srv.v3.ws.ea.com/">
<listIndicatorsStatistics>
<indicatorCode>I001</indicatorCode>
<numberOfCompleteDossier>244</numberOfCompleteDossier>
<numberOfCompleteSupplier>153</numberOfCompleteSupplier>
<numberOfDossier>447</numberOfDossier>
<numberOfSupplier>316</numberOfSupplier>
<numberOfSubscribedSupplier>252</numberOfSubscribedSupplier>
</listIndicatorsStatistics>
<numberOfCompleteDossier>222</numberOfCompleteDossier>
<numberOfCompleteSupplier>139</numberOfCompleteSupplier>
<numberOfDossier>448</numberOfDossier>
<numberOfSupplier>317</numberOfSupplier>
<numberOfSubscribedSupplier>252</numberOfSubscribedSupplier>
</return>
</ns1:getGlobalInformationResponse>
</soap:Body>
</soap:Envelope>Retourne les types de documents configurés pour le compte : documents autorisés (disponibles à la demande) et documents par défaut (demandés par défaut si aucun n'est spécifié).
Requête
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:srv="http://srv.v3.ws.ea.com/">
<soapenv:Header/>
<soapenv:Body>
<srv:getAvailableDocuments/>
</soapenv:Body>
</soapenv:Envelope>Réponse
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:getAvailableDocumentsResponse xmlns:ns1="http://srv.v3.ws.ea.com/">
<return xmlns:ns2="http://srv.v3.ws.ea.com/">
<availableDocuments>
<documentCode>ASSUR_RCPRO</documentCode>
<name>Attestation d'assurance RC Pro</name>
</availableDocuments>
<availableDocuments>
<documentCode>ASSUR_DECENNALE</documentCode>
<name>Attestation d'assurance décennale</name>
</availableDocuments>
<availableDocuments>
<documentCode>JUSTIF_IMM</documentCode>
<name>Justificatif d'immatriculation</name>
</availableDocuments>
<availableDocuments>
<documentCode>LST_SAL_ETR</documentCode>
<name>Déclaration des salariés</name>
</availableDocuments>
<availableDocuments>
<documentCode>ATT_MARCHE_PUBLIC</documentCode>
<name>Attestation de marché public</name>
</availableDocuments>
<availableDocuments>
<documentCode>ATT_VIGI</documentCode>
<name>Attestation de vigilance (6 mois)</name>
</availableDocuments>
<defaultDocuments>
<documentCode>JUSTIF_IMM</documentCode>
<name>Justificatif d'immatriculation</name>
</defaultDocuments>
<defaultDocuments>
<documentCode>LST_SAL_ETR</documentCode>
<name>Déclaration des salariés</name>
</defaultDocuments>
<defaultDocuments>
<documentCode>ATT_VIGI</documentCode>
<name>Attestation de vigilance (6 mois)</name>
</defaultDocuments>
</return>
</ns1:getAvailableDocumentsResponse>
</soap:Body>
</soap:Envelope>Modifie les informations d'un dossier actif : référence, description, expiration, catégorie, code fournisseur et invitations par email.
Paramètres - DataToUpdate (au moins 1 requis)
| Attribut | Type | Description |
|---|---|---|
newDescription | String | Nouvelle description |
newDossierReference | String | Nouvelle référence (non vide, espaces supprimés, majuscules) |
newExpirationDate | Date | Nouvelle date d'expiration |
nilExpirationDate | Boolean | Supprimer la date d'expiration si true |
newPurchasingCategory | String | Nouvelle catégorie d'achat |
newSupplierCode | String | Nouveau code fournisseur |
newSupplierEmail | String | Inviter un nouveau contact fournisseur (envoi email) |
Requête
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:srv="http://srv.v3.ws.ea.com/">
<soapenv:Header/>
<soapenv:Body>
<srv:updateDossier>
<dossierUpdate>
<dataToUpdate>
<newDescription>This is my updated description</newDescription>
<newDossierReference>NEW_REF_001</newDossierReference>
<newExpirationDate>2016-12-31</newExpirationDate>
</dataToUpdate>
<dossierReference>REF_001</dossierReference>
<supplierSearch>
<supplierCode>SC_001</supplierCode>
</supplierSearch>
</dossierUpdate>
</srv:updateDossier>
</soapenv:Body>
</soapenv:Envelope>Réponse - Succès
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:updateDossierResponse xmlns:ns1="http://srv.v3.ws.ea.com/">
<return xmlns:ns2="http://srv.v3.ws.ea.com/">
<complete>true</complete>
<success>true</success>
</return>
</ns1:updateDossierResponse>
</soap:Body>
</soap:Envelope>Désactive un ou tous les dossiers d'un fournisseur.
Paramètres - DossierStop
| Attribut | Type | Requis | Description |
|---|---|---|---|
supplierSearch | SupplierSearch | Oui | Identification du fournisseur |
dossierReference | String | Non | Dossier spécifique (tous si omis) |
Requête
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:srv="http://srv.v3.ws.ea.com/">
<soapenv:Header/>
<soapenv:Body>
<srv:stopDossier>
<dossierStop>
<dossierReference>NEW_REF_001</dossierReference>
<supplierSearch>
<companyIDType>CIT001</companyIDType>
<companyIDValue>50382936800037</companyIDValue>
</supplierSearch>
</dossierStop>
</srv:stopDossier>
</soapenv:Body>
</soapenv:Envelope>Réponse - Succès
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:stopDossierResponse xmlns:ns1="http://srv.v3.ws.ea.com/">
<return xmlns:ns2="http://srv.v3.ws.ea.com/">
<complete>true</complete>
<success>true</success>
</return>
</ns1:stopDossierResponse>
</soap:Body>
</soap:Envelope>Remplace la liste des documents demandés pour un dossier actif. Les documents doivent être préalablement configurés.
Paramètres - RequiredDocumentsUpdate
| Attribut | Type | Requis | Description |
|---|---|---|---|
supplierSearch | SupplierSearch | Oui | Identification du fournisseur |
dossierReference | String | Oui | Référence du dossier |
newRequiredDocuments | List<String> | Non | Nouveaux codes documents (remplace les précédents) |
Requête
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:srv="http://srv.v3.ws.ea.com/">
<soapenv:Header/>
<soapenv:Body>
<srv:updateRequiredDocuments>
<requiredDocumentsUpdate>
<dossierReference>NEW_REF_001</dossierReference>
<!-- Documents actuellement demandés-->
<newRequiredDocuments>ATT_VIGI</newRequiredDocuments>
<newRequiredDocuments>JUSTIF_IMM</newRequiredDocuments>
<newRequiredDocuments>ASSUR_RCPRO</newRequiredDocuments>
<!-- Nouveaux documents à demander -->
<newRequiredDocuments>ATT_MARCHE_PUBLIC</newRequiredDocuments>
<newRequiredDocuments>LST_SAL_ETR</newRequiredDocuments>
<supplierSearch>
<companyIDType>CIT001</companyIDType>
<companyIDValue>50382936800037</companyIDValue>
</supplierSearch>
</requiredDocumentsUpdate>
</srv:updateRequiredDocuments>
</soapenv:Body>
</soapenv:Envelope>Réponse - Succès
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:updateRequiredDocumentsResponse xmlns:ns1="http://srv.v3.ws.ea.com/">
<return xmlns:ns2="http://srv.v3.ws.ea.com/">
<complete>true</complete>
<success>true</success>
</return>
</ns1:updateRequiredDocumentsResponse>
</soap:Body>
</soap:Envelope>Réactive un dossier désactivé avec modification optionnelle de la date d'expiration.
Paramètres - DossierReactivate
| Attribut | Type | Requis | Description |
|---|---|---|---|
supplierSearch | SupplierSearch | Oui | Identification du fournisseur |
dossierReference | String | Non | Référence du dossier à réactiver |
expirationDate | Date | Non | Nouvelle expiration (conserve précédente si omis) |
nilExpirationDate | Boolean | Non | Supprimer expiration si true (priorité sur expirationDate) |
Requête
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:srv="http://srv.v3.ws.ea.com/">
<soapenv:Header/>
<soapenv:Body>
<srv:reActivateDossier>
<dossierReActivate>
<dossierReference>SUP008183</dossierReference>
<supplierSearch>
<companyIDType>CIT001</companyIDType>
<companyIDValue>50879531700017</companyIDValue>
</supplierSearch>
</dossierReActivate>
</srv:reActivateDossier>
</soapenv:Body>
</soapenv:Envelope>Réponse - Succès
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:reActivateDossierResponse xmlns:ns1="http://srv.v3.ws.ea.com/">
<return xmlns:ns2="http://srv.v3.ws.ea.com/">
<complete>true</complete>
<success>true</success>
</return>
</ns1:reActivateDossierResponse>
</soap:Body>
</soap:Envelope>Nomenclature
Types d'identifiants entreprise (companyIDType)
| Code | Description | Format |
|---|---|---|
CIT001 | SIRET (Identifiant établissement français) | 14 chiffres passant l'algorithme de Luhn |
CIT002 | Numéro TVA (Identifiant entreprise CEE) | Selon standard d'identification TVA |
CIT003 | DUNS (Dun & Bradstreet) | Identifiant commercial international |
Codes d'indicateur
| Code | Nom | Description |
|---|---|---|
I001 | Travail dissimulé | Complétude des documents selon la configuration du compte |
Codes d'erreur
Codes HTTP
| Code | Signification |
|---|---|
400 | Bad Request (protocole SOAP invalide) |
401 | Unauthorized (clé API invalide) |
403 | Forbidden (identifiants incorrects ou IP non trustée) |
418 | I'm a teapot |
500 | Internal Server Error |
503 | Service Unavailable |
Erreurs communes
| Code | Description | Info additionnelle |
|---|---|---|
E001 | Paramètre manquant | Nom du paramètre |
E002 | Paramètre inconnu | Nom/valeur du paramètre |
E003 | Paramètre vide | Nom du paramètre |
E010 | Format incorrect | Nom/valeur du paramètre |
E011 | Taille maximale dépassée | Nom du paramètre / taille max |
E021 | Date dans le passé (newExpirationDate) | Nom du paramètre |
E022 | Date dans le futur | Nom du paramètre |
E030 | Domaine email invalide | Valeur du paramètre |
Erreurs Fournisseur/Entité
| Code | Description | Info additionnelle |
|---|---|---|
E100 | Aucun fournisseur ne correspond aux critères | — |
E101 | Erreur de qualification établissement | — |
E102 | Établissement inexistant | Identifiant (companyIDType/companyIDValue) |
E103 | Établissement fermé | Identifiant |
E104 | Plusieurs fournisseurs correspondent | Identifiant |
E111 | SupplierCode différent de l'existant | Code existant |
E112 | SupplierCode déjà utilisé ailleurs | Autre identifiant fournisseur |
E113 | Compte fournisseur désactivé | — |
E121 | Impossible d'importer fournisseur FR avec TVA | Identifiant |
E122 | Fournisseurs étrangers désactivés | — |
Erreurs Dossier
| Code | Description | Info additionnelle |
|---|---|---|
E200 | Aucun dossier ne correspond aux critères | — |
E201 | Dossier désactivé | Référence du dossier |
E202 | Référence déjà existante pour ce fournisseur | Référence du dossier |
E203 | Aucun dossier avec cette référence | Référence du dossier |
E204 | Dossier déjà actif | Référence du dossier |
E205 | Date de réactivation dans le passé | Date d'expiration |
Erreurs Document
| Code | Description | Info additionnelle |
|---|---|---|
E301 | Document désactivé (non demandable) | Code du document |
E302 | Document non autorisé (pas dans la bibliothèque) | Code du document |
Support & Ressources
Bonnes pratiques
- Composer les recherches fournisseur via :
(companyIDType + companyIDValue)OUsupplierCode - Gérer l'asynchrone
importDossierviaprocessIdavec polling - Analyser
ResultetErrordans chaque réponse - Utiliser
PasswordDigestpour l'authentification (plus sécurisé) - Implémenter un proxy/cache pour les téléchargements de fichiers (whitelist IP requise)
- Respecter TLS 1.2 uniquement
- Paramétrer URLs et identifiants en configuration