Documentation à l’adresse des développeurs pour l’utilisation de l’API de pilotage des données et des traitements pour le Fonds Réparations EEE.
Remarque |
---|
Avril 2024 Nous attirons votre attention qu'à partir de début Avril 2024,
|
Versions déployées de l’API GesCo Fonds Réparations EEE
PreProd =
État colour Green title 1.4 Prod =
attention la version 1.4 n’est pas encore déployée en ProductionÉtat colour Green title 1.3
Sommaire | ||||
---|---|---|---|---|
|
Historique des versions
prod / preprodÉtat colour Green title version 1.4 Création d’un dossier Claims (Demande de remboursement) sans création préalable d’un dossier Request (Demande de soutien)
Pendant encore quelques mois, les anciennes méthodes liées aux Requests (Demande de soutien) sont utilisables pour faciliter la transitioncalculateecosupport :
support de la date de réparation pour valider la période de prise en charge
État colour Green title version 1.3 Création ou mise à jour de Request sans usage du SMS => mode unique autorisé
État colour Green title version 1.2 calculateecosupport :
support des marques inconnues
détection des équipements pris en charge dans le cas d’une marque inconnue par Ecologic ou Eco System
CreateSupportRequest
support des marques inconnues
CreateClaim / UpdateClaim
support des marques inconnues
État colour Green title version 1.1 printproducttypewithlabellist : ajout d’une méthode permettant d’obtenir les codes symptomes et réparations avec leur intitulé afin de faciliter la présentation dans l’interface utilisateur
calculateecosupport : prise en compte du paramètre RepairCode pour définir la prise en charge de la panne si elle est identifiée à cette étape
submitclaim : ajout de cette méthode pour déclencher la soumission d’un dossier de remboursement en utilisant uniquement l’ID du dossier. L’usage de UpdateClaim avec le paramètre “submit=true” est toujours possible
Code HTTP 206 pour les réponses aux méthodes Create et Update pour les Request (dossier de demande soutien) et Claim (dossier de demande de remboursement)
État colour Green title version 1.01 getsupportrequestStatus = affichage des erreurs encore présentes (comme pour CreateSupportRequest ou UpdateSupportRequest)
getclaimstatus= affichage des erreurs encore présentes dans la demande de remboursement (comme pour CreateClaim ou UpdateClaim)
PostMan = mise à jour de la collection
version initialeÉtat colour Green title version 1.0
Objectifs
Cette API permet l’intégration des étapes de traitements et l'échange des données entre les applications métiers de réparateur et le système d’information gérant les données de soutien pour le Fond Réparations EEE.
Basée sur les standards JSON Rest, elle s’adresse aux intégrateurs et développeurs.
Diagramme de séquence
Drawio | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Le diagramme ci-contre, est une proposition de scénario de séquence des appels vers les méthodes de l’API.
La phase initiale consiste à récupérer les informations de référence devant être utilisée par l’application cliente.
Il est recommandé de consolider les référentiels au moins 1 fois par jour.
Une fois les informations sur le produit et l’estimation / devis pour la panne réalisée, la première étape est de s’assurer que la réparation va bien être prise en charge par Ecologic avec “CalculateEcoSupport”.
Si la réponse est positive vous avez le montant du soutien allouable à l’acte de réparation.
La demande de remboursement se crée avec “CreateClaim” et la réponse vous indique s’il vous manque des informations pour pouvoir la soumettre à la vérification (et alors si tout est OK, au paiement).
Généralement, il manque initialement les documents de type, facture, plaque de numéro de série…
Ces documents peuvent être intégrés à la demande de remboursement avec “AttachFile”.
Il est aussi possible de compléter la demande avec “UpdateClaim”.
Si la vérification est OK avec “GetClaimStatus”, vous pouvez faire un “SubmitClaim” en demandant la soumission du dossier.
Le dossier de remboursement passe ensuite dans les étapes de contrôle chez Ecologic.
Gestion des marques inconnues (ou dites Orphelines)
État | ||||
---|---|---|---|---|
|
L’API comme l’interface Web permet de gérer les dossiers de demandes de soutien (Request) ou de demandes de remboursement (Claim) en définissant pour un équipement donnée une marque inconnue.
Le mécanisme est testable en ligne sur le site Label QualiRepar = https://www.label-qualirepar.fr/remboursement-bonus/
Ecologic ou EcoSystems
Une marque est dites inconnue à partir du moment où elle n’est pas listée dans la réponse à la méthode printbrandlist.
Exemple :
produit smartphone avec le code EEE.M2.044
marque “SUPERPhone”
Ce couple n’est pas listé et doit être traité comme une marque inconnue.
Lorsqu’un produit est associé à une marque inconnue, pour savoir si Ecologic est en charge de celui-ci, il faut interroger la méthode calculateecosupport. La réponse peut être négative, dans ce cas, il faut faire appel à l’API d’EcoSystems.
Marques inconnues pour les Requests et les Claims
Cette définition de la marque inconnue peut être aussi appelée pour les Request et les Claims.
Voir plus en détails les ajouts spécifiques pour ces méthodes.
Environnement de développement (Pre Production)
Lexique
Request = demande de soutien
Claim =demande de remboursement
Accéder à l’environnement de développement
Pré requis
Le développement n’a de sens que s’il s’adresse à un réparateur qui dispose d’un compte sur le service e-reparateur.eco (https://www.e-reparateur.eco )
Le développeur doit contacter le support afin de se faire identifier : support@e-reparateur.eco
Procédure
contacter le support support@e-reparateur.eco en demandant à avoir accès à un environnement de pré-production
si votre demande est acceptée vous recevrez par email en réponse
une clé API de Pré-Production pour réaliser votre développement
un compte d’accès au service web e-reparateur de Pre-Production sur lequel vous pourrez gérer, vérifier, mettre à jour les différents objets du service
vous pouvez contacter le support par email sur support@e-reparateur.eco
Récupération de votre clé de Pre Production
Outils de tests
Une fois que vous avez vos accès vous pouvez tester les premiers éléments (notamment votre clé API) avec les outils suivants
SwaggerUI
SwaggerUI de l’API de Pre Production = https://preprod-apiecologic.e-reparateur.eco/apidoc/ui/index#/
Requis = disposer de votre clé d’autorisation d’usage de l’API (voir ci-dessu)
une fois votre clé entrée vous pourrez tester les méthodes de l’API
PostMan
Remarque |
---|
Les informations contenus dans les structures JSON et les paramètres POSTMAN peuvent contenir des paramètres liés aux produits, aux code symptomes, aux code pannes qui ne sont plus valides au moment où vous réaliserez vos tests. |
Environnement de Production
Récupération de votre clé de Production
Spécifications de l’API
Authentification
Appeler l’API depuis une service nécessite de disposer d’une clé d’authentification à passer dans l'entête HTTP de chacune des requêtes.
Nom de la clé d’entête = api_key
Valeur de la clé = <votre_clé_api> (GUID ex : C8E88146-AF8D-4E95-9B76-8C8FFF5A2C9B)
Info |
---|
<votre_clé_api> existe
Cette clé est unique pour chaque compte e-reparateur.eco. |
Vérification des sites
Récupération des informations du site associé à la clé API - /GetRepairSitesByATS
État | ||||
---|---|---|---|---|
|
URL Preprod = https://preprod-apiecologic.e-reparateur.eco/api/v1/ecosupport/getrepairsitesbyats
Fonctions
Permet de récupérer les ID des sites associés à la clé API utilisée.
Ce sera l’information qu’il faudra ensuite utiliser dans certaines méthodes dans le paramètre “RepairSiteId”
Ex réponse
Bloc de code | ||
---|---|---|
| ||
{ "ResponseData": [ { "SiteId": "02c867c0-0000-0000-000-3cf8de2dc1c8", "Name": "Test Reparateur", "CommercialName": "ECO REPARE", "Zip": "78280", "City": "GUYANCOURT" } ], "ResponseStatus": "S", "IsValid": true, "ResponseMessage": "", "ResponseErrorMessage": "" } |
Réponse avec plusieurs sites
Bloc de code | ||
---|---|---|
| ||
{ "ResponseData": [ { "SiteId": "9cc23555-0000-0000-0000-3279c2f57261", "Name": "Test Reparateur 1", "CommercialName": "ECO REPARE", "Zip": "12100", "City": "MILLAU" }, { "SiteId": "0590e586-0000-0000-0000-f94f4e1cb199", "Name": "Test Reparateur 1", "CommercialName": "ECO REPARE", "Zip": "12850", "City": "ONET-LE-CHATEAU" }, { "SiteId": "b14ca037-0000-0000-0000-54a3391ee624", "Name": "Test Reparateur 1", "CommercialName": "ECO REPARE", "Zip": "12200", "City": "VILLEFRANCHE-DE-ROUERGUE" } ], "ResponseStatus": "S", "IsValid": true, "ResponseMessage": "", "ResponseErrorMessage": "" } |
Référentiels des données
Les créations de dossier de demande de soutien et de remboursement nécessitent de s’appuyer sur des données de références utilisées par l’API.
Celle-ci permet par contre de récupérer ces référentiels mis à jour régulièrement (au moins 1 fois toutes les 24h).
Info |
---|
Prod vs PreProd attention les ID des entrées ne sont pas identiques entre les référentiels récupérés par l’API de Pre-Production et l’API de Production, donc veillez à bien récupérer ces référentiels pour chacun des contextes et à utiliser les bonnes valeurs associées. |
Récupération de la liste des marques - /PrintBrandList
État | ||||
---|---|---|---|---|
|
URL Preprod = https://preprod-apiecologic.e-reparateur.eco/api/v1/ecosupport/printbrandlist
URL Prod = https://apiecologic.e-reparateur.eco/api/v1/ecosupport/printbrandlist
Fonctions
Permet de récupérer la liste des marques supportées par Ecologic.
Appeler cette API vous permettra de disposer d'un code marque unique et de l'associer à votre référentiel.
Usage
entrée = pas de paramètre spécifique
Exemple de réponse
Bloc de code | ||
---|---|---|
| ||
{ "ResponseData": [ { "BrandName": "Acer", "BrandId": "1689" }, { "BrandName": "ADVANCE", "BrandId": "1922" }, { "BrandName": "AEG", "BrandId": "1690" }, ... ], "ResponseStatus": "S", "IsValid": true, "ResponseMessage": "", "ResponseErrorMessage": "" } |
🆕 Récupérer la liste des types de produit - /PrintProductTypeListWithLabelList
État | ||||
---|---|---|---|---|
|
État | ||||
---|---|---|---|---|
|
Info |
---|
Cette méthode est à préférer par rapport à la méthode /PrintProductTypeList, car elle permet de récupérer les intitulés des codes de symptomes et de pannes. |
URL Preprod = https://preprod-apiecologic.e-reparateur.eco/api/v1/ecosupport/printproducttypewithlabellist
URL Prod = https://apiecologic.e-reparateur.eco/api/v1/ecosupport/printproducttypewithlabellist
Fonctions
Permet de récupérer la liste des équipements avec
code unique de l'équipement
nom de l'équipement
date d'éligibilité au soutien
date de fin du soutien
Tableau des codes pannes
Tableau des codes symtomes
Exemple usage
entrée = pas de paramètre spécifique
sortie =
ProductId = Identifiant produit
ProductName =Désignation du type de produit (ex: Four (hors micro-ondes et mini-four))
EligibilityStartDate = Date de début d'éligibilité
EligibilityEndDate = Date de fin d'éligibilité
RepairCodes = Tableau d’une liste des codes pannes IRIS pouvant être utilisés dans la demande de remboursement (Claim) avec leur libellé
IRISSymptoms = Tableau d’une liste des codes symptôme IRIS éligibles pour le type de produits et pour Ecologic à utiliser dans la demande de soutien (Request) avec leur libellé
Info |
---|
vérifiez la date d'éligibilité afin de vous assurer de ne pas soumettre un dossier avec ce produit avant que celle-ci ne soit valide. |
Exemple de réponse
Bloc de code | ||
---|---|---|
| ||
{ "ResponseData": [ { "ProductId": "EEE.M1.010", "ProductName": "Cave à vin", "EligibilityStartDate": "2022-01-01T00:00:00", "EligibilityEndDate": "9999-12-31T00:00:00", "RepairCodes": [ { "Code": "XXX", "Label": "Autre" }, { "Code": "PSP", "Label": "Défaut d'alimentation" }, { "Code": "G12", "Label": "Défaut de carte de commande" }, { "Code": "G13", "Label": "Défaut de carte de puissance" }, { "Code": "C05", "Label": "Fuite de fluide frigorigène" }, { "Code": "C01", "Label": "Problème compresseur" }, { "Code": "C10", "Label": "Problème de thermostat" } ], "IRISSymtoms": [ { "Code": "XX4", "Label": "Devient très buyant" }, { "Code": "XX6", "Label": "N'affiche plus" }, { "Code": "XX12", "Label": "Ne refroidit plus" }, { "Code": "XX13", "Label": "Ne s'allume plus" }, { "Code": "XX1", "Label": "Autre" }, { "Code": "XX23", "Label": "Problème de bouton / connecteur" } ] }, ... ], "ResponseStatus": "S", "IsValid": true, "ResponseMessage": "", "ResponseErrorMessage": "" } |
Récupérer la liste des types de produit - /PrintProductTypeList
État | ||||
---|---|---|---|---|
|
URL Preprod = https://preprod-apiecologic.e-reparateur.eco/api/v1/ecosupport/printproducttypelist
URL Prod = https://apiecologic.e-reparateur.eco/api/v1/ecosupport/printproducttypelist
Fonctions
Permet de récupérer la liste des équipements avec
code unique de l'équipement
nom de l'équipement
date d'éligibilité au soutien
date de fin du soutien
Tableau des codes pannes
Tableau des codes symtomes
.
Exemple usage
entrée = pas de paramètre spécifique
sortie =
ProductId = Identifiant produit
ProductName =Désignation du type de produit (ex: Four (hors micro-ondes et mini-four))
EligibilityStartDate = Date de début d'éligibilité
EligibilityEndDate = Date de fin d'éligibilité
RepairCodes = Tableau des codes pannes IRIS pouvant être utilisés dans la demande de remboursement (Claim)
IRISSymptoms[] = Liste des codes symptôme IRIS éligibles pour le type de produits et pour Ecologic à utiliser dans la demande de soutien (Request)
Info |
---|
vérifiez la date d'éligibilité afin de vous assurer de ne pas soumettre un dossier avec ce produit avant que celle-ci ne soit valide. |
Exemple de réponse
Bloc de code | ||
---|---|---|
| ||
{ "ResponseData": [ { "ProductId": "EEE.M1.010", "ProductName": "Cave à vin", "EligibilityStartDate": "2022-01-01T00:00:00", "EligibilityEndDate": "9999-12-31T00:00:00", "RepairCodes": [ "XXX", "PSP", "G12", "G13", "C05", "C01", "C10", "SFT" ], "IRISSymtoms": [ "004", "006", "012", "013", "001", "023" ] }, ... ], "ResponseStatus": "S", "IsValid": true, "ResponseMessage": "", "ResponseErrorMessage": "" } |
Demandes de soutien
Plusieurs méthodes sont disponibles pour gérer la construction et la soumission d’une demande de soutien, tout en s’assurant que les équipements concernés y seront éligibles.
Calculer le montant du soutien - /CalculateEcoSupport
État | ||||
---|---|---|---|---|
|
URL Preprod = https://preprod-apiecologic.e-reparateur.eco/api/v1/ecosupport/calculateccosupport
URL Prod = https://apiecologic.e-reparateur.eco/api/v1/ecosupport/calculateccosupport
Fonctions
Permet de connaître l'éligibilité, l'éco-organisme et le montant du soutien pour un type de produit donné, en fonction du symptôme ou du code section fourni. Cette API n'a pour seul but que de simuler la demande de soutien.
Elle n'effectue aucune demande réelle auprès d'Ecologic.
Données à transmettre
Exemple
Bloc de code | ||
---|---|---|
| ||
{ "TotalAmountExclVAT": 120.00, "TotalAmountExclVAT_Currency": "EUR", "BrandId": 8055, "ProductId": 3032, "IRISSymtom": "001" } |
Données en entrée
TotalAmountExclVAT : Montant total HT de la réparation
TotalAmountExclVAT_Currency : Devise
BrandId: Code de la marque (retourné préalablement par l'API /PrintBrandList)
ProductId : Code du type de produit (retourné préalablement par l'API /PrintProductTypeList)
au choix
IRISSymptom : une des valeurs possibles du code symptome pour le produit issu du référentiel
repairCode : une des valeurs possibles du code panne pour le produit issu du référentiel
optionnel
État colour Green title version 1.4 repairEndDate : Date de référence de la fin de réparation (ISO8601)
Info |
---|
le paramètre repairEndDate est intéressant à utliiser lorsque vous avez potentiellement des codes pannes qui arrivent en fin de validité afin de ne pas vous emmêler entre ceux valides à la date et ceux qui ne le seront plus. |
Données en sortie
EcoOrganizationId: Identifiant e-Reparateur de l'éco-organisme (44=Ecologic, 45=Ecosystem)
SupportAmount: Montant TTC du soutien
Exemple de paramètre en entrée
Exemple de réponse
Bloc de code | ||
---|---|---|
| ||
{ "ResponseData": [ { "EcoOrganizationId": 44, "SupportAmount": 15.00 } ], "ResponseStatus": "S", "IsValid": true, "ResponseMessage": "", "ResponseErrorMessage": "" } |
Gestion des erreurs
Si le produit ou la marque n’est pas connu vous aurez une réponse similaire à
Bloc de code | ||
---|---|---|
| ||
{ "ResponseData": null, "ResponseStatus": "W", "IsValid": false, "ResponseMessage": "Produit pas valide", "ResponseErrorMessage": null } |
Si le symptôme ne correspond pas au code IRIS du produit l’erreur sera
Bloc de code | ||
---|---|---|
| ||
{ "ResponseData": null, "ResponseStatus": "W", "IsValid": false, "ResponseMessage": "Symptôme pas valide", "ResponseErrorMessage": null } |
Si la fiche de compétence (ou fiche métier) associée au produit soumis, issue de la labellisation, n’est pas associée au site faisant la demande un refus sera retourné.
Bloc de code |
---|
{ "ResponseData": null, "ResponseStatus": "W", "IsValid": false, "ResponseMessage": "Votre compte n'est pas autorisé à effectuer une demande de soutien pour ce type de produit.", "ResponseErrorMessage": null } |
Si la date de réparation repairEndDate ne correspond plus à la panne demandée
Bloc de code | ||
---|---|---|
| ||
{ "ResponseData": null, "ResponseStatus": "W", "IsValid": false, "ResponseMessage": "La panne sélectionnée n'est pas éligible pour ce type de produit.", "ResponseErrorMessage": null } |
Si le produit demandé n’existe pas
Bloc de code | ||
---|---|---|
| ||
{ "ResponseData": null, "ResponseStatus": "W", "IsValid": false, "ResponseMessage": "Invalid product", "ResponseErrorMessage": null } |
CalculateEcoSupport - Usage des marques inconnues
État | ||||
---|---|---|---|---|
|
Info |
---|
le mode marque inconnue est utilisable en utilisant les paramètres
|
Ce qui donne par exemple les paramètres suivants
Si jamais le produit n’est pas pris en charge pour une marque inconnue par Ecologic, la réponse indique une erreur "ResponseMessage": "Invalid organization"
exemple
Gestion des demandes de remboursement
Une fois le dossier de soutien accepté et validé par le consommateur, la demande de remboursement peut être créée et gérée.
Créer une demande de remboursement - /CreateClaim
État | ||||
---|---|---|---|---|
|
URL Preprod = https://preprod-apiecologic.e-reparateur.eco/api/v1/ecosupport/createclaim
URL Prod = https://apiecologic.e-reparateur.eco/api/v1/ecosupport/createclaim
Fonctions
Permet d'effectuer la demande de remboursement (Claim) en convertissant une demande de soutien (Request)
En retour de cet appel, vous obtiendrez l'ID de votre demande de remboursement (ClaimId), qu'il vous faudra utiliser pour corriger les erreurs de validation, pour ajouter les pièces jointes requises et finalement soumettre votre demande.
Informations du consommateur obligatoires
Données | Champs | Remarque |
---|---|---|
Civilité | Title | 1 : Mrs. ; 2 : Ms. ; 3 : Mr. ; 4 : Société |
Nom | LastName | |
Prénom | FirstName | |
Code postal | Zip | |
Ville | City | |
N° de téléphone | Phone | |
Pays | Country | code 250 pour la France |
Informations du Produit obligatoires
Données | Champs | Remarque |
---|---|---|
Marque | BrandId | issu du référentiel |
Type de produit | ProductId | issu du référentiel |
Code Panne | IRISSection | issu du référentiel |
Informations du Produit facultatives
Données | Champs | Remarque | ||
---|---|---|---|---|
Référence commerciale | CommercialRef | |||
N° de série / ID | SerialNumber |
|
Données en entrée
Dans les paramètres
ex : /createclaim?repairEndDate=2024-03-25T09:00:00Z&repairSiteId=02c867c0-3cef-454d-9a04-3cf8de2dc1c8&consumerInvoiceNumber=FACT_20240325-1"eNumber=REF_INT_20240325-1
RequestId = date de référence du dossier de demande de soutien, issue de la réponse à CreateSupportRequest
RepairEndDate = Date de référence de la fin de réparation (ISO8601)
RepairSiteId = ID de votre compte e-reparateur.eco
ConsumerInvoiceNumber = numéro de référence de votre facture cliente
quoteNumber
= numéro de référence interne chez le réparateurÉtat colour Blue title optionnel
Dans le body
Remarque |
---|
Vérifiez bien la liste des champs obligatoires dans le Swagger évoqué au début du document. |
IRISSection = il faut intégrer le code panne IRIS parmi ceux associés au produit dans le référentiel
Données en sortie
IsValid : indique si la création du Claim s’est passée correctement. L’erreur est généralement liée à l’usage d’un mauvais RequestId
ResponseMessage / ResponseErrorMessage : indique la nature de l’erreur si la création du Claim n’est pas possible
ResponseData : informations liée au Claim qui vient d'être créé
ClaimId : Identifiant du dossier de remboursement
IsValid : indique si les données du dossier de remboursement sont complètes et valide (true ou false)
ValidationErrors : tableau des erreurs détectées si IsValid = false
État | ||||
---|---|---|---|---|
|
Info |
---|
Http Status A la demande de plusieurs développeurs, l’API différencie dans le statut de réponse HTTP le fait que celle-ci le soit en réponse à une requête
|
Exemple de réponse
Bloc de code | ||
---|---|---|
| ||
{ "ResponseData": { "ClaimId": 5338937, "IsValid": false, "ValidationErrors": [ { "Field": "Plaque signalétique", "ErrorMessage": "Des pièces jointes sont requises : Plaque signalétique", "MessageType": "E" }, { "Field": "Facture", "ErrorMessage": "Des pièces jointes sont requises : Facture", "MessageType": "E" }, { "Field": "Panne ou code IRIS", "ErrorMessage": "Cette valeur est obligatoire", "MessageType": "E" }, { "Field": "Validation manuelle du consommateur", "ErrorMessage": "Des pièces jointes sont requises : Validation manuscrite", "MessageType": "E" }, { "Field": "Montant de remboursement / Soutien", "ErrorMessage": "Code panne non valide, demande de remboursement / soutien non valide", "MessageType": "E" }, { "Field": "Numéro de série", "ErrorMessage": "Le numéro de série / IMEI saisi a déjà fait l’objet d’une demande de soutien. Merci de vérifier cet élément avant de soumettre votre dossier.", "MessageType": "W" } ] }, "ResponseStatus": "S", "IsValid": true, "ResponseMessage": null, "ResponseErrorMessage": null } |
exemple pour une prise en charge d’un fer à repasser
Bloc de code | ||
---|---|---|
| ||
{ "Consumer": { "Title": 1, "LastName": "Test_ECL_SR_LN 20240325-1", "FirstName": "Test_ECL_SR_FN", "StreetNumber": "15", "Address1": "Avenue du Centre", "Address2": "", "Address3": "", "Zip": "78280", "City": "GUYANCOURT", "Country": "250", "Phone": "0612112105", "Email": "dsi-lab-test@ecologic-france.com" }, "Product": { "ProductId": "EEE.M5.024", "BrandId": "2194", "CommercialRef": "Repasse Plus bis", "SerialNumber": "ABCDE20", "PurchaseDate": "2020-10-06", "IRISCondition": "", "IRISConditionEX": "", "IRISSymptom": "", "IRISSection": "LOG", "IRISDefault": "", "IRISRepair": "", "FailureDescription": "Plus affichage", "DefectCode": "" }, "Quote": { "LaborCost": { "Amount": 20.00, "Currency": "EUR" }, "SparePartsCost": { "Amount": 10.00, "Currency": "EUR" }, "TravelCost": { "Amount": 0.00, "Currency": "EUR" }, "TotalAmountExclVAT": { "Amount": 100.00, "Currency": "EUR" }, "TotalAmountInclVAT": { "Amount": 106.00, "Currency": "EUR" }, "SupportAmount": { "Amount": 15.00, "Currency": "EUR" } }, "SpareParts": [ { "Partref": "", "Quantity": 0, "Status": "" } ] } |
Ajouter une pièce jointe à la demande de remboursement - /AttachFile
État | ||||
---|---|---|---|---|
|
URL Preprod = https://preprod-apiecologic.e-reparateur.eco/api/v1/ecosupport/AttachFile
URL Prod = https://apiecologic.e-reparateur.eco/api/v1/ecosupport/AttachFile
Fonctions
Permet d'ajouter un document à une demande de remboursement.
Info |
---|
Formats supportés en entrée
|
Un dossier de remboursement peut contenir plusieurs types de fichiers
Les types de fichiers qui peuvent être joints à une demande :
Info |
---|
|
Info |
---|
Les pièces jointes obligatoires sont :
Toute demande de remboursement qui ne disposerait pas de ces documents sera "non valide" et ne pourra être soumise. |
Données à transmettre
exemple
Bloc de code | ||
---|---|---|
| ||
{ "FileContent": "KJQFKJSQKJDKJQSJDKLFDSGDGDG5F4D65HG46G4D5FSG456FD4G4SG64FSDG5FD5G46DS5G456FD4G56FDSG654FDS56G4F6DG54FDS6G5FD6SG45FS4D6G4F56D4SG654S6G4F5D4G6S45FD4G45SFD4G65FD4SG65DF46S4" } |
Données en entrée
Dans les paramètres
ex : /AttachFile?ClaimId=16466&FileName=Facture797&FileExtension=pdf&DocumentType=Invoice
ClaimId = date de référence du dossier de demande de remboursement, issu de la réponse à CreateClaim
FileName = nom du fichier transmis (sans l’extension)
FileExtension = extension du fichier (voir ci contre)
permet de définir le type
extension sans le point “.”
DocumentType = type de document transmis à intégrer dans la demande (voir les codes identifiants ci contre)
Dans le body
FileContent = contenu du fichier en Base64
Astuce |
---|
pour test exemple d’encodeur Base64 en ligne |
Données en sortie
"Code 200 -> OK"
Le statut de sortie est géré par le statut de la réponse HTTP
Code 200 -> OK
Code 400 -> Bad request
Code 500 -> Internal Error
Mettre à jour, corriger la demande de remboursement - /UpdateClaim
État | ||||
---|---|---|---|---|
|
URL Preprod = https://preprod-apiecologic.e-reparateur.eco/api/v1/ecosupport/updateclaim
URL Prod = https://apiecologic.e-reparateur.eco/api/v1/ecosupport/updateclaim
Fonctions
Permet de mettre à jour, de corriger et de soumettre la demande de remboursement. La mise à jour n'est plus possible après la soumission de la demande.
Données à transmettre
Exemple (les données ci-dessous de l’exemple sont à mettre à jour; en effet des champs sont obsolètes)
Bloc de code | ||
---|---|---|
| ||
{ "Consumer": { "Title": 1, "LastName": "Test Nom", "FirstName": "Test prénom", "StreetNumber": "15", "Address1": "Avenue du Centre", "Address2": "", "Address3": "", "Zip": "78280", "City": "GUYANCOURT", "Country": "250", "Phone": "0600000000", "Email": "test@egmail.com", "AutoValidation": false }, "Product": { "ProductId": "EEE.M5.024", "BrandId": "2194", "CommercialRef": "Repasse Plus", "SerialNumber": "ABCDE", "PurchaseDate": "2020-10-06", "IRISCondition": "", "IRISConditionEX": "", "IRISSymptom": "", "IRISSection": "G18", "IRISDefault": "", "IRISRepair": "", "FailureDescription": "Code IRIS Symptome 013", "DefectCode": "" }, "Quote": { "LaborCost": { "Amount": 20.00, "Currency": "EUR" }, "SparePartsCost": { "Amount": 10.00, "Currency": "EUR" }, "TravelCost": { "Amount": 0.00, "Currency": "EUR" }, "TotalAmountExclVAT": { "Amount": 100.00, "Currency": "EUR" }, "TotalAmountInclVAT": { "Amount": 106.00, "Currency": "EUR" }, "SupportAmount": { "Amount": 10.00, "Currency": "EUR" } }, "SpareParts": [ { "Partref": "", "Quantity": 0, "Status": "" } ] } |
Données en entrée
Dans les paramètres
ex : /UpdateClaim?ClaimId=5310865&repairEndDate=2023-02-24T11:00:00Z&RepairSiteId=02c867c0-3cef-454d-9a04-3cf8de2dc1c8&consumerInvoiceNumber=FACT_20230301-1"eNumber=REF_INT_20230301-1&Submit=false
ClaimId = date de référence du dossier de demande de soutien, issu de la réponse à CreateSupportRequest
RepairEndDate = Date de référence de la fin de réparation (ISO8601)
RepairSiteId = ID de votre compte e-reparateur.eco
ConsumerInvoiceNumber = numéro de référence de votre facture cliente
quoteNumber
= numéro de référence interne chez le réparateurÉtat colour Blue title optionnel
Info | ||||||
---|---|---|---|---|---|---|
|
Dans le body
Remarque |
---|
VVérifiez bien la liste des champs obligatoires dans le Swagger évoqué au début du document. |
Données en sortie
ClaimId : Identifiant du dossier de remboursement en cours
IsValid : indique si le dossier de remboursement est valide (true ou false)
ValidationErrors : tableau des erreurs détectées si IsValid = false
État | ||||
---|---|---|---|---|
|
Info |
---|
Http Status A la demande de plusieurs développeurs, l’API différencie dans le statut de réponse HTTP le fait que celle-ci le soit en réponse à une requête
|
Exemple de réponse
Bloc de code | ||
---|---|---|
| ||
{ "ResponseData": { "ClaimId": 5275562, "IsValid": false, "ValidationErrors": [ { "Field": "Plaque signalétique", "ErrorMessage": "Des pièces jointes sont requises : Plaque signalétique", "MessageType": "E" }, { "Field": "Facture", "ErrorMessage": "Des pièces jointes sont requises : Facture", "MessageType": "E" }, { "Field": "Panne ou code IRIS", "ErrorMessage": "Cette valeur est obligatoire", "MessageType": "E" } ], "ErrorMessage": "Validation Errors" }, "ResponseStatus": "S", "IsValid": true, "ResponseMessage": "", "ResponseErrorMessage": "" } |
Si la soumission est OK
Bloc de code |
---|
{ "ResponseData": { "ClaimId": 5310865, "IsValid": true }, "ResponseStatus": "S", "IsValid": true, "ResponseMessage": "", "ResponseErrorMessage": "" } |
Facture non conforme à la soumission
Exemple de facture non liée à l’utilisateur
Bloc de code |
---|
{ "ResponseData": { "ClaimId": 5310865, "IsValid": false, "ValidationErrors": [ { "Field": "OCR facture", "ErrorMessage": "La facture n'est pas conforme (Nom du consommateur)", "MessageType": "E" } ], "ErrorMessage": "Validation Errors" }, "ResponseStatus": "S", "IsValid": true, "ResponseMessage": "", "ResponseErrorMessage": "" } |
Suivre le statut de la demande de remboursement - /GetClaimStatus
État | ||||
---|---|---|---|---|
|
URL Preprod = https://preprod-apiecologic.e-reparateur.eco/api/v1/ecosupport/getclaimstatus
URL Prod = https://apiecologic.e-reparateur.eco/api/v1/ecosupport/getclaimstatus
Fonctions
Permet de connaitre le statut d'une demande de remboursement qui a été soumise.
Données à transmettre
Exemple
/GetClaimStatus?ClaimId=5312276
Données en entrée
Dans les paramètres
ex : /GetClaimStatus?ClaimId=5312276
ClaimId = date de référence du dossier de demande de soutien, issu de la réponse à CreateSupportRequest
Données en sortie
ValidationErrors : liste des erreurs encore présentes dans le dossier empêchant sa soumission
LastStatus : Dernier statut de la demande de soutien
“Dossier incomplet” : des pièces ou des informations doivent être ajoutées au dossier de demande de remboursement (Claim) avant de tenter de le soumettre
Info |
---|
Le statut "NotConform" indique qu'une action de correction est requise par Ecologic. |
Exemple de réponse
Bloc de code | ||
---|---|---|
| ||
{ "ResponseData": { "ValidationErrors": [ { "Field": "Plaque signalétique", "ErrorMessage": "Des pièces jointes sont requises : Plaque signalétique", "MessageType": "E" }, { "Field": "Facture", "ErrorMessage": "Des pièces jointes sont requises : Facture", "MessageType": "E" }, { "Field": "Validation manuelle du consommateur", "ErrorMessage": "Des pièces jointes sont requises : Validation manuscrite", "MessageType": "E" }, { "Field": "Montant de remboursement / Soutien", "ErrorMessage": "Le seuil n'est pas dépassé, demande de remboursement / soutien non valide", "MessageType": "E" }, { "Field": "Numéro de série", "ErrorMessage": "Une réparation a déjà été effectuée il y a moins de 6 mois sur cet appareil. Cette réparation est donc couverte par votre garantie.", "MessageType": "E" } ], "ClaimId": 5312276, "LastStatus": "Dossier incomplet", "Comment": "Code IRIS Symptome 013", "CreateDate": "2023-05-05T15:15:50.953" }, "ResponseStatus": "S", "IsValid": true, "ResponseMessage": "", "ResponseErrorMessage": "" } |
🆕 Soumettre la demande de remboursement - /submitclaim
État | ||||
---|---|---|---|---|
|
État | ||||
---|---|---|---|---|
|
URL Preprod = https://preprod-apiecologic.e-reparateur.eco/api/v1/ecosupport/submitclaim
URL Prod = https://apiecologic.e-reparateur.eco/api/v1/ecosupport/submitclaim
Fonctions
Permet de soumettre simplement un dossier
Données à transmettre
Exemple
/submitclaim?claimId=5275562
Données en entrée
Dans les paramètres
ex : /submitclaim?claimId=5275562
claimId = date de référence du dossier de demande de soutien, issu de la réponse à CreateSupportRequest
Données en sortie
ResponseData : détails sur le traitement
IsValid : indique si la soumission a été validée
ValidationErrors : liste des erreurs encore présentes dans le dossier empêchant sa soumission
Exemple de réponse
si la soumission contient des erreurs :
Bloc de code | ||
---|---|---|
| ||
{ "ResponseData": { "ClaimId": 5312276, "LastStatus": "Dossier incomplet", "Comment": "Code IRIS Symptome 013", "CreateDate": "2023-05-05T15:15:50.953" }, "ResponseStatus": "S", "IsValid": true, "ResponseMessage": "", "ResponseErrorMessage": "" } |
Si la soumission est OK
Bloc de code |
---|
{ "ResponseData": { "ClaimId": 5310865, "IsValid": true }, "ResponseStatus": "S", "IsValid": true, "ResponseMessage": "", "ResponseErrorMessage": "" } |