Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

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.

Version =

État
colourRed
title0.0

Sommaire
minLevel1
maxLevel3

Historique des versions

  • État
    colourRed
    titleversion 1.0
    version initiale (à déployer)

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

DrawiomVer2zoom1simple0inComment0pageId3629121571custContentId3629121595lbox1diagramDisplayNamediag_sequence_api_ecl.drawiocontentVer4revision4baseUrlhttps://ecologic-france.atlassian.net/wikidiagramNamediag_sequence_api_ecl.drawiopCenter0width695.9999999999999linkstbstyleheight1281

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

  • soit en version de PreProduction à utiliser lors des développements et des tests

  • soit en version de Production et les appels à l’API déclencheront des actions concrètes et réelles auprès du Fond Réparation EEE.

Cette clé est unique pour chaque compte e-reparateur.co.
Attention à ne pas la divulguer. Si jamais vous aviez un doute n’hésitez pas à prévenir le support = support@e-reparateur.eco

Récupération de votre clé d’authentification

Connectez vous à votre compte e-reparateur et allez dans les propriétés de votre compte.
Vous trouverez 2 clés associées à votre compte

  • une clé d’API de Pré Production

  • une clé d’API de Production

TODO = capture de l’interface e-reparateur

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)

Récupération de la liste des marques - /PrintBrandList
État
colourGreen
titleGET

URL Preprod = https://preprod-apiecologic.e-reparateur.eco/api/v3/ecosupport/printbrandlist

URL Prod = https://apiecologic.e-reparateur.eco/api/v3/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
languagejson
{
  "ResponseData": [
    {
      "BrandName": "string",
      "BrandId": "string"
    }
  ],
  "ResponseStatus": "string",
  "IsValid": true,
  "ResponseMessage": "string",
  "ResponseErrorMessage": "string"
}

Récupérer la liste des types de produit - /PrintProductTypeList
État
colourGreen
titleGET

URL Preprod = https://preprod-apiecologic.e-reparateur.eco/api/v3/ecosupport/printproducttypelist

URL Prod = https://apiecologic.e-reparateur.eco/api/v3/ecosupport/printproducttypelist

Fonctions

permet de récupérer la liste des types de produits supportés par Ecologic.

Appeler cette API vous permettra de disposer d'un code unique pour chaque type de produit afin de l'associer à votre référentiel. Cette API restitue également pour chaque type de produit les symptômes et les codes réparation éligibles au soutien.

Exemple usage

entrée = pas de paramètre spécifique

sortie =

ProductId = Identifiant unifié Ecologic et Ecosystem du type de produit (ex: 3015)

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é

IRISSymptoms[] = Liste des codes symptôme IRIS éligibles pour le type de produits et pour Ecologic

Exemple de réponse

Bloc de code
languagejson
{
  "ResponseData": [
    {
      "ProductId": "string",
      "ProductName": "string",
      "EligibilityStartDate": "2022-06-27",
      "EligibilityEndDate": "2022-06-27",
      "RepairCodes": [
        {
          "RepairCode": "string"
        }
      ],
      "IRISSymtoms": [
        {
          "IRISSymtom": "string"
        }
      ]
    }
  ],
  "ResponseStatus": "string",
  "IsValid": true,
  "ResponseMessage": "string",
  "ResponseErrorMessage": "string"
}

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
colourYellow
titlePOST

URL Preprod = https://preprod-apiecologic.e-reparateur.eco/api/v3/ecosupport/calculateccosupport

URL Prod = https://apiecologic.e-reparateur.eco/api/v3/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
languagejson
{
    "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) 

  • IRISSymptom : Liste des codes symptôme IRIS éligibles pour le type de produits et pour Ecologic

Données en sortie

  • EcoOrganizationId: Identifiant e-Reparateur de l'éco-organisme (44=Ecologic, 45=Ecosystem)

  • SupportAmount: Montant TTC du soutien

Exemple de réponse

Bloc de code
languagejson
{
 "ResponseData": [
    {
      "EcoOrganizationId": 44,
      "SupportAmount": {
        "Amount": "50.00",
        "Currency": "EUR"
      }
    }
  ],
  "ResponseStatus": "string",
  "IsValid": true,
  "ResponseMessage": "string",
  "ResponseErrorMessage": "string"
}

Effectuer la demande de soutien - /CreateSupportRequest
État
colourYellow
titlePOST

URL Preprod = https://preprod-apiecologic.e-reparateur.eco/api/v3/ecosupport/createsupportrequest

URL Prod = https://apiecologic.e-reparateur.eco/api/v3/ecosupport/createsupportrequest

Fonctions

Permet de soumettre la demande de soutien en vue d'obtenir la vérification du consommateur.

Remarque

Cette étape est obligatoire, car l'Id de la demande sera demandé lors de la demande de remboursement.

Données à transmettre

exemple

Bloc de code
languagejson
{
  "Consumer": {
    "Title": 1,
    "LastName": "Doe",
    "FirstName": "John",
    "StreetNumber": "121",
    "Address1": "Allée des roses",
    "Address2": "",
    "Address3": "",
    "Zip": "75010",
    "City": "Paris",
    "Country": "250",
    "Phone": "",
    "Email": "john.doe@@ecologic-france.com"
  },
  "Product": {
    "ProductId": "3065",
    "BrandId": "5098",
    "CommercialRef": "AR8395C",
    "SerialNumber": "4546545445646",
    "PurchaseDate": "2016-04-13",
    "IRISCondition": "6",
    "IRISConditionEX": "X47",
    "IRISSymptom": "A53",
    "IRISSection": "W10",
    "IRISDefault": "Q",
    "IRISRepair": "A",
    "FailureDescription": "formation de mousse",
    "DefectCode": ""
  },
  "Quote": {
    "LaborCost": {
      "Amount": 70.00,
      "Currency": "EUR"
    },
    "SparePartsCost": {
      "Amount": 180.00,
      "Currency": "EUR"
    },
    "TravelCost": {
      "Amount": 0.00,
      "Currency": "EUR"
    },
    "TotalAmountExclVAT": {
      "Amount": 208.34,
      "Currency": "EUR"
    },
    "TotalAmountInclVAT": {
      "Amount": 250.00,
      "Currency": "EUR"
    },
    "SupportAmount": {
      "Amount": 50.00,
      "Currency": "EUR"
    }
  },
  "SpareParts": [
    {
      "Partref": "407142415/6",
      "Quantity": 1,
      "Status": "New"
    }
  ]
}

Données en entrée

Dans les paramètres

  • CallDate= date de référence de l’appel à l’API

  • RepairSiteId= ID de votre compte e-reparateur.eco

  • QuoteNumber= numéro du devis

Dans le body

Données en sortie

  • RequestId: Identifiant de la demande de soutien

Exemple de réponse

Bloc de code
languagejson
{
  "ResponseData": {
    "EcoOrganizationId": 44,
    "RequestId": 1564,
    "IsValid": true,
    "ErrorMessage": ""
  },
  "ResponseStatus": "",
  "IsValid": true,
  "ResponseMessage": "",
  "ResponseErrorMessage": ""
}

Suivre le statut de la demande de soutien - /GetSupportRequestStatus
État
colourGreen
titleGET

URL Preprod = https://preprod-apiecologic.e-reparateur.eco/api/v3/ecosupport/getsupportrequestStatus

URL Prod = https://apiecologic.e-reparateur.eco/api/v3/ecosupport/getsupportrequestStatus

Fonctions

permet de savoir si le consommateur a donné sa validation pour une demande de soutien donnée.

Données en entrée

Dans les paramètres

  • RequestId = Id de votre dossier issu de la réponse à CreateSupportRequest
    Ex : /GetSupportRequestStatus?RequestId=1564

Données en sortie

  • LastStatus: Dernier statut de la demande de soutien

    • Waiting: en attente,

    • Accepted: Acceptée,

    • Refused: Refusée

    • État
      colourPurple
      titleTODO

Exemple de réponse

Bloc de code
languagejson
{
  "ResponseData": [
    {
      "RequestId": 1564,
      "LastStatus": "Waiting",
      "Comment": "",
      "CreateDate": "2022-06-24T15:16:22.110Z"
    }
  ],
  "ResponseStatus": "string",
  "IsValid": true,
  "ResponseMessage": "string",
  "ResponseErrorMessage": "string"
}

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 ÉtatcolourYellowtitlePOST

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,

  1. tous les codes pannes 2023 ne sont plus utilisables.

  2. il n’est plus nécessaire de créer une demande de soutien (Request), vous pouvez créer directement une demande de remboursement (Claim)

  • Versions déployées de l’API GesCo Fonds Réparations EEE

    • PreProd =

      État
      colourGreen
      title1.4

    • Prod =

      État
      colourGreen
      title1.3
      (avertissement) attention la version 1.4 n’est pas encore déployée en Production

Sommaire
minLevel1
maxLevel3

Historique des versions

  • État
    colourGreen
    titleversion 1.4
    prod / preprod

    • 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 transition

    • calculateecosupport :

      • support de la date de réparation pour valider la période de prise en charge

  • État
    colourGreen
    titleversion 1.3

    • Création ou mise à jour de Request sans usage du SMS => mode unique autorisé

  • État
    colourGreen
    titleversion 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
    colourGreen
    titleversion 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
    colourGreen
    titleversion 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

  • État
    colourGreen
    titleversion 1.0
    version initiale

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
mVer2
zoom1
simple0
inComment0
custContentId4034756683
pageId3629121571
lbox1
diagramDisplayNamediag_sequence_api_ecl.drawio
contentVer1
revision6
baseUrlhttps://ecologic-france.atlassian.net/wiki
diagramNamediag_sequence_api_ecl.drawio
pCenter0
width790.5
links
tbstyle
height1321

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
colourGreen
titleversion 1.2

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

  1. contacter le support support@e-reparateur.eco en demandant à avoir accès à un environnement de pré-production

  2. si votre demande est acceptée vous recevrez par email en réponse

    1. une clé API de Pré-Production pour réaliser votre développement

    2. 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

  3. vous pouvez contacter le support par email sur support@e-reparateur.eco

Récupération de votre clé de Pre Production

Vous pouvez aussi générer votre clé de pré-production en vous connectant sur votre compte e-reparateur de Pré-Production (sur https://preprod-ecologic.agoraplus.com/) et dans les informations de celui-ci, utiliser l’entrée “Ma Clé API” dans le menu à droite.

Info

Veillez à bien vous assurer que la clé générée est avec le statut “Etat = Activé”

image-20240208-113252.pngImage Added


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)

Image Added

une fois votre clé entrée vous pourrez tester les méthodes de l’API

Image Added

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.
Donc veiller à vérifier ces paramètres notamment à partir des informations récupérées avec les méthodes d’interrogations du référentiel.

Postman est un outil standard dans le développement et la validation des API Rest.
Nous vous mettons à disposition une collection préparée pour pouvoir tester toutes les méthodes, mais il est recommandé de bien lire les informations fournies pour chacune d’entre elles.

Pour utiliser la collection disponible ci-contre, vous avez juste à réaliser l’importation du fichier json depuis l’interface de Postman.

Image Added

Ensuite il vous reste à définir votre clé API de Pre Production pour réaliser les appels avec le niveau d’autorisation du site associé.
Pour cela ouvrez l’arborescence de la collection et sélectionnez “Pre Prod” et l’onglet “Authorization” pour y intégrer votre clé API

Image Added
Info

surtout pensez à sauvegarder à chaque fois l’onglet, sinon l’information ne sera pas utilisable dans les autres onglets que vous allez ouvrir

Pour utiliser une méthode sélectionnez là dans l’arborescence et adaptez les valeurs pour les paramètres et le contenu pour le body selon votre contexte

Image Added

Collection PostMan à importer

version du

View file
nameEcologic API Gestion Co v1.4 202403.postman_collection.json

La collection regroupe les méthodes dans des dossiers permettant de plus facilement identifier un ordre type d’usage de celles-ci.
Ce n’est qu’un exemple, il vous est possible d’organiser les appels aux méthodes différemment et de n’utiliser que celles que vous identifiez utiles.

Image Added

Environnement de Production

Récupération de votre clé de Production

Vous pouvez générer votre clé de production en vous connectant sur votre compte e-reparateur de Production (sur https://www.e-reparateur.eco/) et dans les informations de celui-ci, utiliser l’entrée “Ma Clé API” dans le menu à droite.

Info

Veillez à bien vous assurer que la clé générée est avec le statut “Etat = Activé”

image-20240208-113252.pngImage Added


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

  • soit en version de PreProduction à utiliser lors des développements et des tests

  • soit en version de Production et les appels à l’API déclencheront des actions concrètes et réelles auprès du Fond Réparation EEE.

Cette clé est unique pour chaque compte e-reparateur.eco.
Attention à ne pas la divulguer. Si jamais vous aviez un doute n’hésitez pas à prévenir le support = support@e-reparateur.eco


Vérification des sites

Récupération des informations du site associé à la clé API - /GetRepairSitesByATS
État
colourGreen
titleGET

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
languagejson
{
    "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
languagejson
{
    "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
colourGreen
titleGET

URL Preprod = https://preprod-apiecologic.e-reparateur.eco/api/v3v1/ecosupport/createclaimprintbrandlist

URL Prod = https://apiecologic.e-reparateur.eco/api/v3v1/ecosupport/createclaimprintbrandlist

Fonctions

permet d'effectuer la demande de remboursement.

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. 

Données à transmettre

exemplePermet 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
languagejson
{
    "ConsumerResponseData": {
[
   "Title": 1,    {
"LastName": "Doe",     "FirstName": "John",     "StreetNumberBrandName": "121Acer",
    "Address1": "Allée des roses",     "Address2BrandId": "1689",
    "Address3": "",    },
        {
      "Zip": "75010",     "CityBrandName": "ParisADVANCE",
      "Country": "250",     "PhoneBrandId": "1922",
    "Email": "john.doe@ecologic-france.com"   },
       "Product": {
            "ProductIdBrandName": "3065AEG",
            "BrandId": "50981690",
       "CommercialRef": "AR8395C" },
    "SerialNumber": "4546545445646",   ...
 "PurchaseDate": "2016-04-13" ],
    "IRISConditionResponseStatus": "6S",
    "IRISConditionEXIsValid": "X47"true,
    "IRISSymptomResponseMessage": "A53",
    "IRISSectionResponseErrorMessage": "W10",
    "IRISDefault": "Q",
    "IRISRepair": "A",
    "FailureDescription": "formation de mousse",
    "DefectCode": ""
  },
  "Quote": {
    "LaborCost": {
      "Amount": 70.00,
      "Currency": "EUR"
    },
    "SparePartsCost": {
      "Amount": 180.00,
      "Currency": "EUR"
    },
    "TravelCost": {
      "Amount": 0,
}

🆕 Récupérer la liste des types de produit - /PrintProductTypeListWithLabelList
État
colourGreen
titleGET
État
colourGreen
titleversion 1.1

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
languagejson
{
    "ResponseData": [
       "Currency": "EUR" {
       },     "TotalAmountExclVATProductId": {
 "EEE.M1.010",
    "Amount": 208.34,       "CurrencyProductName": "EUR"Cave à vin",
       },     "TotalAmountInclVATEligibilityStartDate": {
 "2022-01-01T00:00:00",
    "Amount": 250,       "CurrencyEligibilityEndDate": "EUR"9999-12-31T00:00:00",
       },     "SupportAmountRepairCodes": {
 [
    "Amount": 50.00,       "Currency": "EUR"   {
 }   },   "SpareParts": [     {       "PartrefCode": "407142415/6XXX",
       "Quantity": 1,            "StatusLabel": "New"Autre"
                },
                {
                   ]
}

Données en entrée

Dans les paramètres
ex : /CreateClaim?RequestId=1564&RepairEndDate=2022-06-27T11:50:37.913Z&RepairSiteId=54654&ConsumerInvoiceNumber=132564

  • 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

Dans le body

Remarque

Vérifiez bien la liste des champs obligatoires dans le Swagger et dans le fichier YAML ou JSON de l’API 

Données en sortie

  • ClaimId : Identifiant du dossier de remboursement

Exemple de réponse

Bloc de code
languagejson
{
  "ResponseData": {
    "ClaimId": 16466,
    "IsValid": false,
    "ValidationErrors": [ "Code": "PSP",
                    "Label": "Défaut d'alimentation"
                },
        {        {
"Field": "Consumer.LastName",         "ErrorMessage": "Mandatory",         "MessageTypeCode": "EG12",
        }, 	  {         "FieldLabel": "Consumer.Email",Défaut de carte de commande"
             "ErrorMessage": "Bad email format"},
           "MessageType": "E"    {
  }     ],     "ErrorMessage": "Validation Errors"   },   "ResponseStatusCode": "SG13",
            "IsValid": true,   "ResponseMessage": "",   "ResponseErrorMessageLabel": ""
}

Ajouter une pièce jointe à la demande de remboursement - /CreateClaim
État
colourYellow
titlePOST

URL Preprod = https://preprod-apiecologic.e-reparateur.eco/api/v3/ecosupport/createsupportrequest

URL Prod = https://apiecologic.e-reparateur.eco/api/v3/ecosupport/createsupportrequest

Fonctions

permet d'ajouter un document à une demande de remboursement. 

Un dossier de remboursement peut contenir plusieurs types de fichiers

Il existe 4 types de fichiers qui peuvent être joints à une demande : 

  • Numéro de série: SerialNumber

  • Facture: Invoice 

  • Photo: Picture

  • Bon de dépose: ClaimRequest

Info

Les pièces jointes obligatoires sont :

  • la facture,

  • 1 photo minimum du produit,

  • la photo de la plaque signalétique.

Toute demande de remboursement qui ne disposerait pas de ces documents sera "non valide" et ne pourra être soumise.

  • Éventuellement le bordereau de validation du conso peut-être exigé dans certains cas de figure.

Données à transmettre

exemple

Bloc de code
languagejson
{
  "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

  • FileExtension = extension du fichier

    • permet de définir le type

    • extension sans le point “.”

  • DocumentType = type de document transmis à intégrer dans la demande

Dans le body

  • FileContent = contenu du fichier en Base64

Données en sortie

  • aucune

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 et soumettre la demande de remboursement - /UpdateClaim
État
colourYellow
titlePOST

URL Preprod = https://preprod-apiecologic.e-reparateur.eco/api/v3/ecosupport/updateclaim

URL Prod = https://apiecologic.e-reparateur.eco/api/v3/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
languagejson
{
  "Consumer": {
    "Title": 1,
    "LastName": "Doe",
    "FirstName": "John",
    "StreetNumber": "121",
    "Address1": "Allée des roses",
    "Address2": "",
    "Address3": "",
    "Zip": "75010",
    "City": "Paris",
    "Country": "250",
    "Phone": "",
    "Email": "john.doe@a@ecologic-france.com"
  },
  "Product": {
    "ProductId": "3065",
    "BrandId": "5098",
    "CommercialRef": "AR8395C",
    "SerialNumber": "4546545445646",
    "PurchaseDate": "2016-04-13",
    "IRISCondition": "6",
    "IRISConditionEX": "X47",
    "IRISSymptom": "A53",
    "IRISSection": "W10",
    "IRISDefault": "Q",
    "IRISRepair": "A",
    "FailureDescription": "formation de mousse",
    "DefectCode": ""
  },
  "Quote": {
    "LaborCost": {
      "Amount": 70.00,
      "Currency": "EUR"
    },
    "SparePartsCost": {
      "Amount": 180.00,
      "Currency": "EUR"
    },
    "TravelCost": {
      "Amount": 0.00,
      "Currency": "EUR"
    },
    "TotalAmountExclVAT": {
      "Amount": 208.34,
      "Currency": "EUR"
    },
    "TotalAmountInclVAT": {
      "Amount": 250,
      "Currency": "EUR"
    },
    "SupportAmount": {
      "Amount": 50.00,
      "Currency": "EUR"
    }
  },
  "SpareParts": [
    {
      "Partref": "407142415/6",
      "Quantity": 1,
      "Status": "New"
    }
  ]
}

Données en entrée

Dans les paramètres
ex : ClaimId=1564&RepairEndDate=2022-06-27T11:50:37.913Z&RepairSiteId=54654&Submit=false&ConsumerInvoiceNumber=132564

  • 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

  • Submit = 💡 indique si la mise à jour déclenche ou non la soumission

  • ConsumerInvoiceNumber = numéro de référence de votre facture cliente

Dans le body

Remarque

Vérifiez bien la liste des champs obligatoires dans le Swagger et dans le fichier YAML ou JSON de l’API 

Données en sortie

  • ClaimId = Identifiant du dossier de remboursement

  • ErrorMessage = indique si des erreurs sont présentes dans la demande de remboursement empêchant la soumission

  • ValidationErrors = tableau des champs en erreur et information sur les erreurs

  • Field = code du champ concerné

  • ErrorMessage = erreur sur le champ concerné
    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
    colourGreen
    titleGET

    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
    languagejson
    {
        "ResponseData": {[
            {
    "ClaimId": 16466,     "IsValid": false,     "ValidationErrorsProductId": [
      "EEE.M1.010",
       {         "FieldProductName": "Consumer.LastNameCave à vin",
                "ErrorMessageEligibilityStartDate": "Mandatory2022-01-01T00:00:00",
                "MessageTypeEligibilityEndDate": "E"9999-12-31T00:00:00",
            }, 	  { "RepairCodes": [
          "Field": "Consumer.Email",         "ErrorMessage": "Bad email format",XXX",
                   "MessageType": "EPSP",
          }     ],     "ErrorMessageG12":,
    "Validation Errors"             },   "ResponseStatus": "S",G13",
                    "C05",
                    "IsValid": true,C01",
                    "ResponseMessage": "",C10",
                    "SFT"
                ],
                "ResponseErrorMessageIRISSymtoms": ""
    }

    Suivre le statut de la demande de remboursement - /GetClaimStatus
    État
    colourGreen
    titleGET

    URL Preprod = https://preprod-apiecologic.e-reparateur.eco/api/v3/ecosupport/getclaimstatus

    URL Prod = https://apiecologic.e-reparateur.eco/api/v3/ecosupport/getclaimstatus

    Fonctions

    permet de connaitre le statut d'une demande de remboursement qui a été soumise.

    Données à transmettre

    Exemple

    /GetClaimStatus?ClaimId=16466

    Données en entrée

    Dans les paramètres
    ex : /GetClaimStatus?ClaimId=16466

    • ClaimId = date de référence du dossier de demande de soutien, issu de la réponse à CreateSupportRequest

    Données en sortie

    • LastStatus : Dernier statut de la demande de soutien

      • Waiting: en attente,

      • Accepted: Acceptée,

      • Refused: Refusée,

      • NotConform: Non conforme

      • État
        colourPurple
        titleTODO

    Info

    Le statut "NotConform" indique qu'une action de correction est requise par Ecologic.
    Ce statut permet de visualiser la demande dans le champ "Comment" et de mettre à jour la demande de remboursement puis finalement de la soumettre à nouveau.

    Exemple de réponse

    Bloc de code
    languagejson
    {
      "ResponseData": [
        {
          "ClaimId": 16466, [
                    "004",
                    "006",
                    "012",
                    "013",
                    "001",
                    "023"
                "LastStatus": "Waiting",]
           "Comment": "", },
           "CreateDate": "2022-06-24T15:16:22.110Z" ...
        }
    ],
     ],   "ResponseStatus": "stringS",
        "IsValid": true,
        "ResponseMessage": "string",
        "ResponseErrorMessage": "string"
    }

    SwaggerUI (en rédaction)

    Remarque

    Les éléments présentés ci-dessous ne sont pas fonctionnels et en cours de déploiement.

    Swagger open api macroswagger: '2.0' info: description: Ecologic e-reparateur API Portal version: 2.0.0 title: Ecologic e-reparateur API Portal contact: email: support@e-reparateur.eco host: preprod-apiecologic.e-reparateur.eco basePath: /v2 tags: - name: Ecologic e-reparateur Web APIs description: Ecologic e-reparateur Web APIs externalDocs: description: Find out more url: http://support.e-reparateur.eco schemes: - https - http paths: /api/v2/EcoSupport/CreateSupportRequest: post: tags: - EcoSupport summary: Request for an ECO Support description: '' operationId: CreateSupportRequest produces: - application/json - text/json - application/xml - text/xml parameters: - name: CallDate in: query description: Date the consumer contact the repair center took in charge the appliance required: true type: string format: date-time - name: RepairSiteId in: query description: Site ID of the repair required: true type: string - name: QuoteNumber in: query description: Number of the quote required: true type: string - in: body name: RepairDetails description: Details needed for the Eco support required: true schema: $ref: '#/definitions/AgoraWebServices.Models.EcoSupport.RepairDetails' responses: '200': description: successful operation schema: $ref: '#/definitions/AgoraWebServices.Models.Response.CreateSupportRequestResponse' '400': description: Bad request schema: $ref: '#/definitions/AgoraWebServices.Models.Response.ErrorResponse' '500': description: InternalServerError schema: $ref: '#/definitions/AgoraWebServices.Models.Response.ErrorResponse' /api/v2/EcoSupport/GetSupportRequestStatus: get: tags: - EcoSupport summary: Get support request status operationId: GetSupportRequestStatus consumes: [] produces: - application/json - text/json - application/xml - text/xml parameters: - name: RequestId in: query description: Identifier of the request in Agora required: false type: integer format: int32 responses: '200': description: OK schema: $ref: '#/definitions/AgoraWebServices.Models.Response.RequestStatusResponse' '500':

    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
    colourGreen
    titleGET

    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
    languagejson
    {
        "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
      colourGreen
      titleversion 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

    image-20240325-161531.pngImage Added

    Exemple de réponse

    Bloc de code
    languagejson
    {
        "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
    languagejson
    {
        "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
    languagejson
    {
        "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
    languagejson
    {
        "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
    languagejson
    {
        "ResponseData": null,
        "ResponseStatus": "W",
        "IsValid": false,
        "ResponseMessage": "Invalid product",
        "ResponseErrorMessage": null
    }

    CalculateEcoSupport - Usage des marques inconnues
    État
    colourGreen
    titleversion 1.2

    Info

    le mode marque inconnue est utilisable en utilisant les paramètres

    • BrandId = 0 (ce qui force le mode marque inconnue)

    • BrandName = nom_de_la_marque (champ qui devient obligatoire si BrandId = 0)

    Ce qui donne par exemple les paramètres suivants

    Image Added

    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

    Image Added


    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
    colourYellow
    titlePOST

    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

    E-mail

    Email

    N° de téléphone

    Phone

    Pays

    Country

    code 250 pour la France
    ISO 3166

    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

    Remarque

    attention champ obligatoire si produit lié à la Fiche métier 7 EI&T

    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&quoteNumber=REF_INT_20240325-1

    • 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

      État
      colourBlue
      titleoptionnel
      = numéro de référence interne chez le réparateur

    Dans le body

    Remarque

    Vérifiez bien la liste des champs obligatoires dans le Swagger évoqué au début du document.
    C’est la source la plus sûr pour la structure des données à transmettre dans les méthodes.

    • 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.

    • 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
    colourGreen
    titleversion 1.1

    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

    • avec toute les informations attendues = 200

    • avec des informations manquantes = 206

    Exemple de réponse

    Bloc de code
    languagejson
    {
        "ResponseData": {
            "ClaimId": 5338937,
            "IsValid": false,
            "ValidationErrors": [
                {
                    
    description
    "Field": 
    InternalServerError
    "Plaque signalétique",
             
    schema:
           "ErrorMessage": "Des pièces jointes sont requises 
    $ref
    : 
    '#/definitions/AgoraWebServices.Models.Response.ErrorResponse' /api/v2/EcoSupport/CreateClaim:
    Plaque signalétique",
         
    post:
           
    tags:
        "MessageType": "E"
       
    -
     
    EcoSupport
           
    summary:
     
    Claim
    },
    
    for
     
    reimbursment
           
    description:
     
    ''
       {
       
    operationId:
     
    CreateClaim
           
    produces:
         "Field": "Facture",
      
    -
     
    application/json
             
    -
     
    text/json
       "ErrorMessage": "Des pièces jointes sont requises 
    - application/xml
    : Facture",
            
    -
     
    text/xml
           
    parameters:
    "MessageType": "E"
            
    -
     
    name:
     
    RequestId
      },
            
    in:
     
    query
       {
           
    description:
     
    Support
     
    request
     
    identifier,
     
    returned
     
    by
     
    e-reparateur
     
    (CreateSupportRequest)
      "Field": "Panne ou code IRIS",
        
    required:
     
    true
               
    type
    "ErrorMessage": 
    integer
    "Cette valeur est obligatoire",
           
    format:
     
    int32
            
    - name: RepairEndDate
    "MessageType": "E"
                
    in:
    },
    
    query
               
    description:
     
    Date
    {
    
    of
     
    the
     
    end
     
    of
     
    the
     
    repair
               
    required
    "Field": 
    true
    "Validation manuelle du consommateur",
           
    type:
     
    string
            "ErrorMessage": "Des pièces 
    format: date-time
    jointes sont requises : Validation manuscrite",
       
    -
     
    name:
     
    RepairSiteId
               
    in
    "MessageType": 
    query
    "E"
              
    description:
     
    Qualirepar
     
    ID
    },
    
    of
     
    the
     
    repair
     
    site
             {
     
    required:
     
    true
               
    type:
     
    string
      "Field": "Montant de remboursement / Soutien",
     
    -
     
    name:
     
    ConsumerInvoiceNumber
               
    in:
     
    query
     "ErrorMessage": "Code panne non valide, demande de remboursement / soutien 
    description: Invoice number
    non valide",
               
    required:
     
    true
        "MessageType": "E"
         
    type:
     
    string
          },
      
    -
     
    in:
     
    body
            {
      
    name:
     
    RepairDetails
               
    description:
     
    Details
     
    needed for the Eco support
    "Field": "Numéro de série",
               
    required:
     
    true
        "ErrorMessage": "Le numéro de série / IMEI 
    schema:
    saisi a déjà fait l’objet d’une demande 
    $ref: '#/definitions/AgoraWebServices.Models.EcoSupport.RepairDetails' responses:
    de soutien. Merci de vérifier cet élément avant de soumettre votre dossier.",
         
    '200':
               
    description
    "MessageType": 
    successful operation
    "W"
              
    schema:
      }
            ]
     
    $ref:
     
    '#/definitions/AgoraWebServices.Models.Response.ClaimResponse'
      },
        "ResponseStatus": 
    '400':
    "S",
        "IsValid": true,
        
    description
    "ResponseMessage": 
    Bad
    null,
    
    request
        "ResponseErrorMessage": null
    }

    exemple pour une prise en charge d’un fer à repasser

    Bloc de code
    languagejson
    {
      
    schema
    "Consumer": {
        "Title": 1,
        
    $ref: '#/definitions/AgoraWebServices.Models.Response.ErrorResponse'
    "LastName": "Test_ECL_SR_LN 20240325-1",
        "FirstName": "Test_ECL_SR_FN",
     
    '500':
       "StreetNumber": "15",
        "Address1": "Avenue 
    description: InternalServerError
    du Centre",
        "Address2": "",
        
    schema
    "Address3": "",
        "Zip": "78280",
        "City": "GUYANCOURT",
    
    $ref:
     
    '#/definitions/AgoraWebServices.Models.Response.ErrorResponse'
       
    /api/v2/EcoSupport/UpdateClaim:
    "Country": "250",
        
    post
    "Phone": "0612112105",
        
    tags
    "Email": "dsi-lab-test@ecologic-france.com"  
    },
      "Product": {
    
    -
     
    EcoSupport
       "ProductId": "EEE.M5.024",
      
    summary:
     
    Update
     
    the claim to fix issue raised by e-reparateur
    "BrandId": "2194",
        "CommercialRef": "Repasse Plus bis",
        
    description
    "SerialNumber": 
    ''
    "ABCDE20",
        "PurchaseDate": 
    operationId: UpdateClaim
    "2020-10-06",
        "IRISCondition": "",
      
    produces:
      "IRISConditionEX": "",
        
    - application/json
    "IRISSymptom": "",
        "IRISSection": "LOG",
       
    - text/json
     "IRISDefault": "",
        "IRISRepair": "",
     
    -
     
    application/xml
      "FailureDescription": "Plus affichage",
        
    - text/xml
    "DefectCode": ""  
    },
      
    parameters
    "Quote": {
        "LaborCost": {
     
    -
     
    name:
     
    ClaimId
       "Amount": 20.00,
          
    in: query
    "Currency": "EUR"
        },
        "SparePartsCost": {
    
    description:
     
    Identifier
     
    of
     
    the
     
    claim
     
    provided
     
    by e-reparateur after the creation
    "Amount": 10.00,
          "Currency": "EUR"
        },
    
    required:
     
    true
       "TravelCost": {
          
    type
    "Amount": 
    integer
    0.00,
          "Currency": "EUR"
      
    format:
     
    int32
     },
        "TotalAmountExclVAT": {
     
    -
     
    name:
     
    RepairEndDate
       "Amount": 100.00,
          
    in
    "Currency": 
    query
    "EUR"
        },
        
    description
    "TotalAmountInclVAT": 
    Date of the
    {
    
    end
     
    of
     
    the
     
    repair
       "Amount": 106.00,
          
    required
    "Currency": 
    true
    "EUR"
        },
        
    type
    "SupportAmount": 
    string
    {
          
    format: date-time
    "Amount": 15.00,
          
    - name
    "Currency": 
    RepairSiteId
    "EUR"
        }
      },
      
    in
    "SpareParts": [
    
    query
        {
          
    description
    "Partref": 
    Site
    "",
    
    ID
     
    of
     
    the
     
    repair
       
    required
    "Quantity": 
    true
    0,
          
    type
    "Status": 
    string
    ""
        }
      ]
    
    - name: ConsumerInvoiceNumber in: query description: Invoice number required: true type: string - name: Submit in: query description: Submit claim if valid required: false type: boolean - in: body name: Body description: Repair details required: true schema: $ref: '#/definitions/AgoraWebServices.Models.EcoSupport.RepairDetails' responses: '200': description: successful operation schema: $ref: '#/definitions/AgoraWebServices.Models.Response.ClaimResponse' '400': description: Bad request schema: $ref: '#/definitions/AgoraWebServices.Models.Response.ErrorResponse' '500': description: InternalServerError schema: $ref: '#/definitions/AgoraWebServices.Models.Response.ErrorResponse' /api/v2/EcoSupport/AttachFile: post: tags: - EcoSupport summary: Attach a file to the claim description: '' operationId: AttachedFile produces: - application/json - text/json - application/xml - text/xml parameters: - name: ClaimId in: query description: Identifier of the claim provided by e-reparateur after the creation required: true type: integer format: int32 - name: FileName in: query description: Date of the end of the repair required: true type: string - name: FileExtension in: query description: File extension required: true type: string - name: DocumentType in: query description: Document type. Possible values (Invoice, Nameplate) required: true type: string - name: FileContent in: body description: Document content in base 64. required: true schema: type: string responses: '200': description: OK '400': description: Bad request '500': description: InternalServerError /api/v2/EcoSupport/GetClaimStatus: get: tags: - EcoSupport summary: Get claim status operationId: GetClaimStatus consumes: [] produces: - application/json - text/json - application/xml - text/xml parameters: - name: Claimid in: query description: Identifier of the request in Agora required: false type: integer format: int32 responses: '200': description: OK schema: $ref: '#/definitions/AgoraWebServices.Models.Response.ClaimStatusResponse' '500': description: InternalServerError schema: $ref: '#/definitions/AgoraWebServices.Models.Response.ErrorResponse' /api/v2/EcoSupport/CalculateEcoSupport: get: tags: - EcoSupport summary: Check the eligibility and Calculate the suppport operationId: CalculateEcoSupport consumes: [] produces: - application/json - text/json - application/xml - text/xml parameters: - name: TotalAmountExclVAT in: query description: Identifier of the request in Agora type: number format: float - name: TotalAmountExclVAT_Currency in: query description: Identifier of the request in Agora type: string - name: BrandId in: query description: Identifier of the request in Agora required: false type: integer format: int32 - name: ProductId in: query description: Identifier of the request in Agora required: false type: integer format: int32 - name: IRISSymptom in: query description: Identifier of the request in Agora required: false type: string - name: RepairCode in: query description: Repair code or Iris Repair code required: false type: string responses: '200': description: OK schema: $ref: '#/definitions/AgoraWebServices.Models.Response.CalculateSupportResponse' '500': description: InternalServerError schema: $ref: '#/definitions/AgoraWebServices.Models.Response.ErrorResponse' /api/v2/EcoSupport/PrintBrandList: get: tags: - EcoSupport summary: Print the list of brands operationId: PrintBrandList consumes: [] produces: - application/json - text/json - application/xml - text/xml parameters: [] responses: '200': description: OK schema: $ref: '#/definitions/AgoraWebServices.Models.Response.PrintBrandListResponse' '500': description: InternalServerError schema: $ref: '#/definitions/AgoraWebServices.Models.Response.ErrorResponse' /api/v2/EcoSupport/PrintProductTypeList: get: tags: - EcoSupport summary: Print the list of product type with for each its related repair codes and symptom codes operationId: PrintProductTypeList consumes: [] produces: - application/json - text/json - application/xml - text/xml parameters: [] responses: '200': description: OK schema: $ref: '#/definitions/AgoraWebServices.Models.Response.PrintProductTypeListResponse' '500': description: InternalServerError schema: $ref: '#/definitions/AgoraWebServices.Models.Response.ErrorResponse' securityDefinitions: api_key: type: apiKey description: API Key Authentication name: api_key in: header definitions: AgoraWebServices.Models.EcoSupport.RepairDetails: type: object required: - Consumer - Product - Quote properties: Consumer: type: object $ref: '#/definitions/AgoraWebServices.Models.EcoSupport.Consumer' Product: type: object $ref: '#/definitions/AgoraWebServices.Models.EcoSupport.Product' Quote: type: object $ref: '#/definitions/AgoraWebServices.Models.EcoSupport.CostDetails' SpareParts: type: array items: $ref: '#/definitions/AgoraWebServices.Models.EcoSupport.Sparepart' xml: name: Request AgoraWebServices.Models.EcoSupport.Consumer: type: object required: - LastName - Address1 - Zip - City - Country - Email properties: Title: type: integer format: int32 LastName: type: string FirstName: type: string StreetNumber: type: string Address1: type: string Address2: type: string Address3: type: string Zip: type: string City: type: string Country: type: string Phone: type: string Email: type: string xml: name: Consumer AgoraWebServices.Models.EcoSupport.Product: type: object required: - ProductId - BrandId - SerialNumber - PurchaseDate - IRISSymptom properties: ProductId: type: string BrandId: type: string CommercialRef: type: string SerialNumber: type: string PurchaseDate: type: string format: date IRISCondition: type: string IRISConditionEX: type: string IRISSymptom: type: string IRISSection: type: string IRISDefault: type: string IRISRepair: type: string FailureDescription: type: string DefectCode: type: string xml: name: Product AgoraWebServices.Models.EcoSupport.CostDetails: type: object required: - LaborCost - SparePartsCost - TravelCost - TotalAmountExclVAT - TotalAmountInclVAT - SupportAmount properties: LaborCost: type: object properties: Amount: type: number format: float Currency: type: string SparePartsCost: type: object properties: Amount: type: number format: float Currency: type: string TravelCost: type: object properties: Amount: type: number format: float Currency: type: string TotalAmountExclVAT: type: object properties: Amount: type: number format: float Currency: type: string TotalAmountInclVAT: type: object properties: Amount: type: number format: float Currency: type: string SupportAmount: type: object properties: Amount: type: number format: float Currency: type: string xml: name: Quote AgoraWebServices.Models.EcoSupport.Sparepart: type: object required: - Partref - Quantity - Status properties: Partref: type: string Quantity: type: integer format: int64 Status: type: string xml: name: Sparepart Tag: type: object properties: id: type: integer format: int64 name: type: string xml: name: Tag AgoraWebServices.Models.Response.CreateSupportRequestResponse: description: Create complete repair method response values type: object properties: ResponseData: $ref: '#/definitions/AgoraWebServices.Models.Response.SupportRequestResponseData' description: Response data ResponseStatus: description: 'Response status ("S" : Sucess, "E": Error, "W":Warning)' type: string IsValid: description: Response validity type: boolean ResponseMessage: description: Response message type: string ResponseErrorMessage: description: Response Error Message type: string AgoraWebServices.Models.Response.SupportRequestResponseData: description: Response data from create complete repair method type: object properties: EcoOrganizationId: format: int32 description: Identifier of the Eco organization who will provide the suppot type: integer RequestId: format: int32 description: e-reparateur internal identifier of the request type: integer IsValid: description: Validity type: boolean ErrorMessage: description: Error message type: string AgoraWebServices.Models.Response.ClaimResponse: description: Create complete repair method response values type: object properties: ResponseData: $ref: '#/definitions/AgoraWebServices.Models.Response.ClaimResponseData' description: Response data ResponseStatus: description: 'Response status ("S" : Sucess, "E": Error, "W":Warning)' type: string IsValid: description: Response validity type: boolean ResponseMessage: description: Response message type: string ResponseErrorMessage: description: Response Error Message type: string AgoraWebServices.Models.Response.ClaimResponseData: description: Response data from create complete repair method type: object properties: ClaimId: format: int32 description: e-reparateur internal identifier of the request type: integer IsValid: description: Validity type: boolean ValidationErrors: description: Validation errors type: array items: $ref: '#/definitions/AgoraWebServices.Models.Return.ValidationResult' ErrorMessage: description: Error message type: string AgoraWebServices.Models.Return.ValidationResult: description: Validation error result values type: object properties: Field: description: Field assotiated to the error type: string ErrorMessage: description: Error message type: string MessageType: description: "Type of the error message : \r\n - E : Error\r\n - W : Warning" type: string AgoraWebServices.Models.Response.ErrorResponse: description: Error response object type: object properties: ResponseData: description: Response data type: object ResponseStatus: description: 'Response status ("S" : Sucess, "E": Error, "W":Warning)' type: string IsValid: description: Response validity type: boolean ResponseMessage: description: Response message type: string ResponseErrorMessage: description: Response Error Message type: string AgoraWebServices.Models.Response.RequestStatusResponse: description: Get request method response values type: object properties: ResponseData: description: Response data type: array items: $ref: '#/definitions/AgoraWebServices.Models.EcoSupport.RequestStatusResponseData' ResponseStatus: description: 'Response status ("S" : Sucess, "E": Error, "W":Warning)' type: string IsValid: description: Response validity type: boolean ResponseMessage: description: Response message type: string ResponseErrorMessage: description: Response Error Message type: string AgoraWebServices.Models.EcoSupport.RequestStatusResponseData: description: Warranty claim informations type: object properties: RequestId: format: int32 description: Identifier in Agora type: integer LastStatus: description: Last status type: string Comment: description: Comment type: string CreateDate: format: date-time description: Creation date type: string AgoraWebServices.Models.Response.ClaimStatusResponse: description: Get request method response values type: object properties: ResponseData: description: Response data type: array items: $ref: '#/definitions/AgoraWebServices.Models.EcoSupport.ClaimStatusResponseData' ResponseStatus: description: 'Response status ("S" : Sucess, "E": Error, "W":Warning)' type: string IsValid: description: Response validity type: boolean ResponseMessage: description: Response message type: string ResponseErrorMessage: description: Response Error Message type: string AgoraWebServices.Models.EcoSupport.ClaimStatusResponseData: description: Warranty claim informations type: object properties: ClaimId: format: int32 description: Identifier in Agora type: integer LastStatus: description: Last status type: string Comment: description: Comment type: string CreateDate: format: date-time description: Creation date type: string AgoraWebServices.Models.Response.CalculateSupportResponse: description: Get request method response values type: object properties: ResponseData: description: Response data type: array items: $ref: '#/definitions/AgoraWebServices.Models.EcoSupport.CalculateSupportResponseData' ResponseStatus: description: 'Response status ("S" : Sucess, "E": Error, "W":Warning)' type: string IsValid: description: Response validity type: boolean ResponseMessage: description: Response message type: string ResponseErrorMessage: description: Response Error Message type: string AgoraWebServices.Models.EcoSupport.CalculateSupportResponseData: description: Warranty claim informations type: object properties: EcoOrganizationId: format: int32 description: Identifier of the Eco organization who will provide the suppot type: integer SupportAmount: type: object properties: Amount: type: number format: float Currency: type: string AgoraWebServices.Models.Response.PrintBrandListResponse: description: Get request method response values type: object properties: ResponseData: description: Response data type: array items: $ref: '#/definitions/AgoraWebServices.Models.EcoSupport.PrintBrandListResponseData' ResponseStatus: description: 'Response status ("S" : Sucess, "E": Error, "W":Warning)' type: string IsValid: description: Response validity type: boolean ResponseMessage: description: Response message type: string ResponseErrorMessage: description: Response Error Message type: string AgoraWebServices.Models.EcoSupport.PrintBrandListResponseData: description: List of brands type: object properties: BrandName: description: Brand name type: string BrandId: description: Brand code type: string AgoraWebServices.Models.Response.PrintProductTypeListResponse: description: Get request method response values type: object properties: ResponseData: description: Response data type: array items: $ref: '#/definitions/AgoraWebServices.Models.EcoSupport.PrintProductTypeListResponseData' ResponseStatus: description: 'Response status ("S" : Sucess, "E": Error, "W":Warning)' type: string IsValid: description: Response validity type: boolean ResponseMessage: description: Response message type: string ResponseErrorMessage: description: Response Error Message type: string AgoraWebServices.Models.EcoSupport.PrintProductTypeListResponseData: description: List of brands type: object properties: ProductId: description: Identifier of the product type: string ProductName: description: Name of the product type type: string EligibilityStartDate: description: Name of the product type type: string format: date EligibilityEndDate: description: Name of the product type type: string format: date RepairCodes: type: array items: type: object properties: RepairCode: description: Repair Code type: string IRISSymtoms: type: array items: type: object properties: IRISSymtom: description: IRIS code of the symptom type: string externalDocs: description: Find out more about Swagger url: http://swagger.io
    }


    Ajouter une pièce jointe à la demande de remboursement - /AttachFile
    État
    colourYellow
    titlePOST

    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

    • jpg

    • jpeg

    • png

    • pdf

    Un dossier de remboursement peut contenir plusieurs types de fichiers

    Les types de fichiers qui peuvent être joints à une demande : 

    Info
    • facture = INVOICE

    • plaque signalétique ou numéro d’identification = NAMEPLATE

    • photo de l’appareil = PRODUCTPICTURE

    • l'élément de preuve = CONSUMERVALIDATION

    Info

    Les pièces jointes obligatoires sont :

    • la facture

    • l'élément de preuve

    • (avertissement) pour les produits liés à la Fiche Métier 7 EI&T = la photo du numéro d’identification

    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
    languagejson
    {
      "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

    https://base64.guru/converter/encode/file

    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
    colourYellow
    titlePOST

    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
    languagejson
    {
      "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&quoteNumber=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

      État
      colourBlue
      titleoptionnel
      = numéro de référence interne chez le réparateur

    Info

    État
    colourGreen
    titleversion 1.1
    Le paramètre suivant reste fonctionnel et peut être utilisé, mais il peut être plus pratique d’utiliser la méthode /submitclaim pour déclencher la soumission

    • Submit = 💡 indique si la mise à jour déclenche ou non la soumission

      • false = la mise à jour n’est pas suivi d’une tentative de soumission

      • true = la mise à jour entraine une tentative de soumission

    Dans le body

    Remarque

    VVérifiez bien la liste des champs obligatoires dans le Swagger évoqué au début du document.
    C’est la source la plus sûr pour la structure des données à transmettre dans les méthodes.

    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
    colourGreen
    titleversion 1.1

    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

    • avec toute les informations attendues = 200

    • avec des informations manquantes = 206

    Exemple de réponse

    Bloc de code
    languagejson
    {
        "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
    colourGreen
    titleGET

    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.
    Ce statut permet de visualiser la demande dans le champ "Comment" et de mettre à jour la demande de remboursement puis finalement de la soumettre à nouveau.

    Exemple de réponse

    Bloc de code
    languagejson
    {
        "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
    colourYellow
    titlePOST
    État
    colourGreen
    titleversion 1.1

    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
    languagejson
    {
        "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": ""
    }