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
colourRedGreen
title01.0

Sommaire
minLevel1
maxLevel3

Historique des versions

  • État
    colourRedGreen
    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

Drawio
mVer2
zoom1
simple0
inComment0
pageId3629121571
custContentId3629121595
lbox1
diagramDisplayNamediag_sequence_api_ecl.drawio
contentVer4
revision4
baseUrlhttps://ecologic-france.atlassian.net/wiki
diagramNamediag_sequence_api_ecl.drawio
pCenter0
width695.9999999999999
links
tbstyle
height1281

Exemple de réponse

Bloc de code
languagejson
{ "ResponseData": [ {

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 =

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 production

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

    1. une clé API de PreProduction 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é 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

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

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

Image Added

PostMan

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 il vous 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

View file
name20230301 Ecologic API GestCo Doc.postman_collection.json

Collection PostMan à importer

version du

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

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": "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 - /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 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": [
        {
            "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",
                "BrandName": "Acer012",
                "013",
                "BrandId": "1689"001",
                "023"
            ]
   },     },
   {     ...
  ],
    "BrandNameResponseStatus": "ADVANCES",
    "IsValid": true,
    "ResponseMessage": "",
    "BrandIdResponseErrorMessage": "1922"
        },
        {
     "
}

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/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
{
      "BrandName": "AEG",
            "BrandId": "1690"
        },
        ...
  ]"TotalAmountExclVAT": 120.00,
    "ResponseStatusTotalAmountExclVAT_Currency": "SEUR",
    "IsValidBrandId": true8055,
    "ResponseMessageProductId": ""3032,
    "ResponseErrorMessageIRISSymtom": "001" 
 }

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

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 paramètre en entrée

Image Added

Exemple de réponse

Bloc de code
languagejson
{
    "ResponseData": [
        {
            "EcoOrganizationId": 44,
            "SupportAmount": 10.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",
    "
ProductId
ResponseErrorMessage": 
"EEE.M1.010",
null
}

Si la fiche de compétence (ou fiche métier) associée au produit soumis, issue de la labélisation, n’est pas associée au site faisant la demande un refus sera retourné

Bloc de code
  {
    "ResponseData": null,
    "
ProductName
ResponseStatus": "
Cave à vin
W",
    "IsValid": false,
    
"
EligibilityStartDate
ResponseMessage": "
2022-01-01T00:00:00", "EligibilityEndDate": "9999-12-31T00:00:00
Votre compte n'est pas autorisé à effectuer une demande de soutien pour ce type de produit.",
    "ResponseErrorMessage": 
null
}


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 création de la demande de remboursement.

Données à transmettre

exemple

Bloc de code
languagejson
{
  "RepairCodesConsumer": [{
    "Title": 1,
    "LastName":      "XXX""Test Nom",
    "FirstName": "Test prénom",
         "PSP"StreetNumber": "15",
    "Address1": "Avenue du Centre",
        "G12"Address2": "",
    "Address3": "",
          "G13"Zip": "78280",
    "City": "GUYANCOURT",
          "C05"Country": "250",
    "Phone": "0600000000",
          "C01"Email": "test@egmail.com",
    "AutoValidation": true
},
  "Product": {
    "ProductId": "C10EEE.M5.024",
   
    "BrandId": "2194",
    "CommercialRef": "Repasse Plus"SFT",
    "SerialNumber": "ABCDE",
      ]"PurchaseDate": "2020-10-06",
      "IRISCondition": "",
     "IRISSymtomsIRISConditionEX": ["",
    "IRISSymptom": "013",
    "IRISSection": "",
    "004IRISDefault": "",
    "IRISRepair": "",
    "FailureDescription": "Symptome code IRIS   013"006",
    "DefectCode": ""  
},
  "Quote": {
    "012LaborCost",: {
      "Amount": 20.00,
      "Currency": "013EUR",
    },
    "SparePartsCost": {
       "001""Amount": 10.00,
      "Currency": "EUR"
    },
    "023TravelCost": {
      "Amount": 0.00,
   ]   "Currency": "EUR"
    },
    "TotalAmountExclVAT": {
  ...     ]"Amount": 100.00,
      "ResponseStatusCurrency": "S"EUR"
    },
    "IsValidTotalAmountInclVAT": true,{
      "ResponseMessageAmount": ""106.00,
      "ResponseErrorMessageCurrency": "EUR"
 }

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/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,   },
    "SupportAmount": {
      "Amount": 10.00,
      "Currency": "EUR"
    }
  },
  "SpareParts": [
    {
      "TotalAmountExclVAT_CurrencyPartref": "EUR",
      "BrandIdQuantity": 80550,
      "ProductIdStatus": 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 paramètre en entrée

Image Removed
}

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

il y a 3 sections importantes

  • Consumer : fourni

    • identité

      • Title -> 1 : Mrs. ; 2 : Ms. ; 3 : Mr. ; 4 : Société

    • adresse

    • téléphone = très important en cas de mode de vérification par SMS

    • email

  • Product : défini tous les paramètres du produit en réparation

    • ProductID = code du produit du référentiel

    • BrandID = code de la marque

    • SerialNumber = numéro de série

    • IRISSymptom = code IRIS de symptôme retenu associé au produit (doit correspondre à une entrée du référentiel retourné par PrintProductTypeList

    • FailureDescription = description des symptômes de la panne (ou de la panne)

  • Quote : défini les montants du devis associé à la demande

Données en sortie

  • RequestId: Identifiant de la demande de soutien
    Cet ID unique sera à fournir pour toute référence à la demande de soutien qui vient d'être créée.

Exemple de réponse

Bloc de code
languagejson
{
    "ResponseData": [
        {
            "EcoOrganizationId": 44,

           "SupportAmountRequestId": 10.00
        }
    ],
 5310857,
  "ResponseStatus": "S",     "IsValid": true,
    "ResponseMessage": ""},
    "ResponseErrorMessageResponseStatus": ""
}

Gestion des erreurs

si le produit ou la marque n’est pas connu vous aurez une réponse similaire à

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

Gestion des modes SMS ou Offline

il est possible de déclencher une demande de soutien en utilisant 2 modes différents

  • mode SMS = le consommateur se verra envoyé un SMS avec un lien vers une page web lui permettant de valider la demande créée par le réparateur afin de s’assurer de la légitimité de la procédure en cours

  • mode Offline = le consommateur n’est pas sollicité par SMS. Cela permet de traiter les cas où ce dernier n’est pas en situation de traiter un SMS (téléphone en panne, manque de pratique…)
    Le consommateur doit alors signer un document qui devra être transmis avec la demande de remboursement.

Info

si le mode Offline est utilisé, toute demande de remboursement à laquelle ne sera pas joint le document signé par le consommateur ne sera pas validable pour être traitée par Ecologic.

le mode Offline est déclenché en ajoutant le paramètre "AutoValidation": true dans la structure des informations pour "Consumer"

Bloc de code
{
  "Consumer": {
    "ResponseDataTitle": null1,
    "ResponseStatusLastName": "W",
    "IsValid": falseTest Nom",
    "ResponseMessageFirstName": "SymptômeTest pas valideprénom",
    "ResponseErrorMessageStreetNumber": null
}

Si la fiche de compétence (ou fiche métier) associée au produit soumis, issue de la labélisation, n’est pas associée au site faisant la demande un refus sera retourné

Bloc de code
  {"15",
    "Address1": "Avenue du Centre",
    "ResponseDataAddress2": null"",
    "ResponseStatusAddress3": "W",
    "IsValidZip": false"78280",
    "ResponseMessageCity": "Votre compte n'est pas autorisé à effectuer une demande de soutien pour ce type de produit.GUYANCOURT",
    "Country": "250",
    "Phone": "0600000000",
    "Email": "test@egmail.com",
    "ResponseErrorMessageAutoValidation": nulltrue
}
Effectuer
,

💡 Ne rien mettre ou mettre "AutoValidation": false sont équivalents


Suivre le statut de la demande de soutien - /

CreateSupportRequest

GetSupportRequestStatus
État
colour

Yellow

Green
title

POST

GET

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

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

Fonctions

Permet de soumettre la permet de savoir si le consommateur a donné sa validation pour une 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 création de la demande de remboursement.

Données à transmettre

exemple

Bloc de code
languagejson
{ "Consumer": {

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

    • mode SMS non validé par le consommateur = "En attente de validation consommateur"

    • mode SMS validé par le consommateur ou mode offline : "Validé par le consommateur"

    • refusé

Exemple de réponse

Bloc de code
languagejson
{
    "ResponseData": [
        {
            "RequestId": 5310857,
            "TitleLastStatus": 1,"Validé par le consommateur",
            "LastNameComment": "Test Nom",Symptome code IRIS 013",
            "FirstNameCreateDate": "Test prénom""2023-03-01T15:49:50.4"
        }
    ],
    "StreetNumberResponseStatus": "15S",
    "Address1IsValid": true,
    "Avenue du CentreResponseMessage": "",
    "Address2ResponseErrorMessage": "",
    "Address3": "",
    "Zip": "78280",
    "City": "GUYANCOURT",
    "Country": "250",
    "Phone": "0600000000",
    "Email": "test@egmail.com","
}

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

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

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

Fonctions

permet de mettre à jour, compléter une demande de soutien (Request) avec un jeu de données

Remarque

Une demande de soutien (Request) validée par le consommateur ne peut plus être modifiée

Donc si en mode SMS le consommateur a validé ou si le processus est en mode Offline, la demande de modification retournera une erreur

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

  • RequestId : numéro du dossier de soutien (request)

  • IsValid : true si le dossier est prêt à être soumis

Exemple de réponse

Bloc de code
languagejson
{
    "AutoValidationResponseData": true
},{
  "Product": {     "ProductIdEcoOrganizationId": "EEE.M5.024",
44,
   "BrandId": "2194",     "CommercialRefRequestId": "Repasse Plus"5310864,

   "SerialNumber": "ABCDE",     "PurchaseDateIsValid": "2020-10-06",true
    "IRISCondition": ""},
    "IRISConditionEXResponseStatus": "S",
    "IRISSymptomIsValid": "013"true,
    "IRISSectionResponseMessage": "",
    "IRISDefaultResponseErrorMessage": "",
    "IRISRepair": "",
    "FailureDescription": "Symptome code IRIS 013",
    "DefectCode": ""  
},
  "Quote": {
    "LaborCost": {
      "Amount": 20.00,
      "Currency": "EUR"
    },
    "SparePartsCost": {
      "Amount": 10.00,
      "Currency": "EUR"
    }
}

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/v3/ecosupport/createclaim

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

Données à transmettre

exemple

Bloc de code
languagejson
{
  "Consumer": {
    "Title": 1,
    "LastName": "Test Nom",
    "TravelCostFirstName": {"Test prénom",
     "AmountStreetNumber": 0.00"15",
      "CurrencyAddress1": "EUR"Avenue     }du Centre",
    "TotalAmountExclVATAddress2": {
      "Amount": 100.00,
 
    "CurrencyAddress3": "EUR"
    },
    "TotalAmountInclVATZip": {
      "Amount78280": 106.00,
 
    "CurrencyCity": "EUR"
    }GUYANCOURT",
    "SupportAmountCountry": {
 "250",
    "AmountPhone": 10.00"0600000000",
      "CurrencyEmail": "EURtest@egmail.com",
    }"AutoValidation": false  
},
  "SparePartsProduct": [{
    {
"ProductId": "EEE.M5.024",
     "PartrefBrandId": "2194",

     "QuantityCommercialRef": 0"Repasse Plus",
      "StatusSerialNumber": "ABCDE"
  ,
 }
  ]
}

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

il y a 3 sections importantes

  • Consumer : fourni

    • identité

      • Title -> 1 : Mrs. ; 2 : Ms. ; 3 : Mr. ; 4 : Société

    • adresse

    • téléphone = très important en cas de mode de vérification par SMS

    • email

  • Product : défini tous les paramètres du produit en réparation

    • ProductID = code du produit du référentiel

    • BrandID = code de la marque

    • SerialNumber = numéro de série

    • IRISSymptom = code IRIS de symptôme retenu associé au produit (doit correspondre à une entrée du référentiel retourné par PrintProductTypeList

    • FailureDescription = description des symptômes de la panne (ou de la panne)

  • Quote : défini les montants du devis associé à la demande

Données en sortie

  • RequestId: Identifiant de la demande de soutien
    Cet ID unique sera à fournir pour toute référence à la demande de soutien qui vient d'être créée.

Exemple de réponse

Bloc de code
languagejson
{   "PurchaseDate": "2020-10-06",
    "IRISCondition": "",
    "IRISConditionEX": "",
    "IRISSymptom": "",
    "ResponseDataIRISSection": {"G18",
    "IRISDefault": "",
    "EcoOrganizationIdIRISRepair": 44"",
    "FailureDescription": "Code IRIS Symptome 013",
    "RequestIdDefectCode": 5310857,
  ""  
},
  "Quote": {
    "LaborCost": {
      "Amount": 20.00,
      "IsValidCurrency": true"EUR"
    },
    "ResponseStatusSparePartsCost": "S", {
      "IsValidAmount": true10.00,
      "ResponseMessageCurrency": "EUR"
    },
    "ResponseErrorMessageTravelCost": {
""
}

Gestion des modes SMS ou Offline

il est possible de déclencher une demande de soutien en utilisant 2 modes différents

  • mode SMS = le consommateur se verra envoyé un SMS avec un lien vers une page web lui permettant de valider la demande créée par le réparateur afin de s’assurer de la légitimité de la procédure en cours

  • mode Offline = le consommateur n’est pas sollicité par SMS. Cela permet de traiter les cas où ce dernier n’est pas en situation de traiter un SMS (téléphone en panne, manque de pratique…)
    Le consommateur doit alors signer un document qui devra être transmis avec la demande de remboursement.

Info

si le mode Offline est utilisé, toute demande de remboursement à laquelle ne sera pas joint le document signé par le consommateur ne sera pas validable pour être traitée par Ecologic.

le mode Offline est déclenché en ajoutant le paramètre "AutoValidation": true dans la structure des informations pour "Consumer"

Bloc de code{ "Consumer": {
      "Amount": 0.00,
      "Currency": "EUR"
    },
    "TotalAmountExclVAT": {
      "Amount": 100.00,
      "
Title
Currency":
1,
 "EUR"
    },
    "TotalAmountInclVAT": {
      "
LastName
Amount": 106.00,
"Test
 
Nom",
     "
FirstName
Currency": "
Test prénom"
EUR"
    },
    "
StreetNumber
SupportAmount": 
"15",
{
      "
Address1
Amount": 
"Avenue du Centre",
10.00,
      "
Address2
Currency": "EUR"
,

    
"Address3": "",
}
  },
  "
Zip
SpareParts": [
"78280",
    {
"City":
 
"GUYANCOURT",
     "
Country
Partref": "
250
",
      "
Phone
Quantity": 
"0600000000"
0,
      "
Email
Status": "
test@egmail.com
"
,

    }
 
"AutoValidation":
 
true
]
}
,

💡 Ne rien mettre ou mettre "AutoValidation": false sont équivalents

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

  • ÉtatcolourPurpletitleTODO
    
    

    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

    • 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 et dans le fichier YAML ou JSON de l’API 

    • IRISSection = il faut intégrer le code panne IRIS parmi celles associées au produit dans le référentiel

    Données en sortie

    • ClaimId : Identifiant du dossier de remboursement

    • IsValid : indique si le dossier de remboursement est valide (true ou false)

    • ValidationErrors : tableau des erreurs détectées si IsValid = false

    Exemple de réponse

    Bloc de code
    languagejson
    {
        "ResponseData": [
        {
          "RequestId": 1564,
          "LastStatus": "Waiting",
            "CommentClaimId": ""5310865,
            "CreateDateIsValid": "2022-06-24T15:16:22.110Z"
     false,
      }   ],   "ResponseStatusValidationErrors": "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
    État
    colourYellow
    titlePOST

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

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

    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

    exemple

    Bloc de code
    languagejson
    {
      "Consumer": {
        "Title": 1,
        "LastName": "Doe",
        "FirstName": "John",
        "StreetNumber": "121",
        "Address1": "Allée des roses"             "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"
                }
            ],
            "ErrorMessage": "Validation Errors"
        },
        "Address2ResponseStatus": "S",
        "Address3IsValid": ""true,
        "ZipResponseMessage": "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": "AResponseErrorMessage": ""
    }

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

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

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

    • photo de l’appareil = PRODUCTPICTURE

    • validation consommateur signée = CONSUMERVALIDATION

    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 (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 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": "Test Nom",
        "FailureDescriptionFirstName": "formationTest de mousseprénom",
        "DefectCodeStreetNumber": "15",
      },
      "QuoteAddress1": {"Avenue du    "LaborCost": {Centre",
           "AmountAddress2": 70.00,
     "",
        "CurrencyAddress3": "EUR"
        },
        "SparePartsCostZip": {
          "Amount": 180.00,
     "78280",
        "CurrencyCity": "EUR"
        }GUYANCOURT",
        "TravelCostCountry": {
          "Amount250": 0,
     
        "CurrencyPhone": "EUR"
        }0600000000",
        "TotalAmountExclVATEmail": {
          "Amount": 208.34test@egmail.com",
          "Currency":  "EURAutoValidation": false  
     },
        "TotalAmountInclVATProduct": {
          "AmountProductId": 250"EEE.M5.024",
          "CurrencyBrandId": "EUR2194",
        }"CommercialRef": "Repasse Plus",
        "SupportAmountSerialNumber": {"ABCDE",
          "AmountPurchaseDate": 50.00,
     "2020-10-06",
        "CurrencyIRISCondition": "EUR",
        }
    "IRISConditionEX": "",
     },   "SparePartsIRISSymptom": ["",
        {
    "IRISSection": "G18",
         "PartrefIRISDefault": "407142415/6",
     
        "QuantityIRISRepair": 1"",
     
        "StatusFailureDescription": "New"Code IRIS Symptome  013",
    }
      ]
    }

    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": {    "DefectCode": ""  
    },
      "Quote": {
        "LaborCost": {
          "ClaimIdAmount": 1646620.00,
          "IsValidCurrency": false"EUR"
        },
        "ValidationErrorsSparePartsCost": [{
          {
     "Amount": 10.00,
          "FieldCurrency": "Consumer.LastNameEUR",
        },
        "ErrorMessageTravelCost": {
          "MandatoryAmount": 0.00,
     
          "MessageTypeCurrency": "EEUR"
          },
    	  {  "TotalAmountExclVAT": {
          "FieldAmount": "Consumer100.Email"00,
            "ErrorMessageCurrency": "EUR"Bad
       email format"},
        "TotalAmountInclVAT": {
          "MessageTypeAmount": "E"106.00,
           }"Currency": "EUR"
        ]},
        "ErrorMessageSupportAmount": "Validation{
    Errors"   },   "ResponseStatusAmount": "S"10.00,
      "IsValid": true,   "ResponseMessageCurrency": "EUR",
      "ResponseErrorMessage": ""
    }

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

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

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

    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"
     }
      },
      "SpareParts": [
        {
          "Partref": "",
          "Quantity": 0,
          "Status": ""
        }
      ]
    }

    Données en entrée

    Dans les paramètres
    ex : /AttachFileUpdateClaim?ClaimId=16466&FileName=Facture797&FileExtension=pdf&DocumentType=Invoice5310865&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 remboursementsoutien, issu de la réponse à CreateClaim CreateSupportRequest

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

    Yellow
    • Blue
      title

    POST
    • optionnel

    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":
    • = numéro de référence interne chez le réparateur

    • 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

    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

    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

    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"
                },
                {
          "Amount": 180.00,          "CurrencyField": "EURFacture",
        },     "TravelCost": {       "AmountErrorMessage": 0.00,
          "Currency": "EUR""Des pièces jointes sont requises : Facture",
        },     "TotalAmountExclVAT": {       "AmountMessageType": 208.34,"E"
          "Currency": "EUR"     },
         "TotalAmountInclVAT":       {
          "Amount": 250,          "CurrencyField": "EUR"Panne ou code IRIS",
        },     "SupportAmount": {       "AmountErrorMessage": 50.00,
     "Cette valeur est obligatoire",
        "Currency": "EUR"     }   },   "SparePartsMessageType": ["E"
         {       "Partref": "407142415/6",}
           "Quantity": 1],
            "StatusErrorMessage": "NewValidation Errors"
        },
      ]
    }

    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é

    Exemple de réponse

    Bloc de code
    languagejson
    {
      "ResponseData": {  "ResponseStatus": "S",
        "IsValid": true,
        "ResponseMessage": "",
        "ResponseErrorMessage": ""
    }

    Si la soumission est OK

    Bloc de code
    {
        "ResponseData": {
            "ClaimId": 5310865,
            "IsValid": true
        },
        "ClaimIdResponseStatus": 16466"S",
        "IsValid": true,
        "ResponseMessage": false"",
        "ValidationErrorsResponseErrorMessage": [
    ""
    }

    Facture non conforme à la soumission

    exemple de facture non liée à l’utilisateur

    Bloc de code
    {
        "ResponseData": {
            "
    Field
    ClaimId": 
    "Consumer.LastName"
    5310865,
            "
    ErrorMessage
    IsValid": 
    "Mandatory"
    false,
            "
    MessageType
    ValidationErrors": 
    "E"
    [
             
    },
     
      {
                    "Field": "
    Consumer.Email
    OCR facture",
                    "ErrorMessage": "La facture n'est pas 
    "Bad email format",
    conforme (Nom du consommateur)",
                    "MessageType": "E"
                }
            ],
            "ErrorMessage": "Validation Errors"
        },
        "ResponseStatus": "S",
        "IsValid": true,
        "ResponseMessage": "",
        "ResponseErrorMessage": ""
    }

    Sou


    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

      • “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
    {
        "ResponseDataClaimId": null,
    [    "ResponseData": {
            "ClaimId": 164665310865,
            "LastStatus": "WaitingDossier incomplet",
            "Comment": "Code IRIS Symptome 013",
            "CreateDate": "20222023-0603-24T1501T16:1641:2206.110Z857"
        },
      ],
      "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 macro
    swagger: '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':
              description: InternalServerError
              schema:
                $ref: '#/definitions/AgoraWebServices.Models.Response.ErrorResponse'
      /api/v2/EcoSupport/CreateClaim:
        post:
          tags:
            - EcoSupport
          summary: Claim for reimbursment
          description: ''
          operationId: CreateClaim
          produces:
            - application/json
            - text/json
            - application/xml
            - text/xml
          parameters:
            - name: RequestId
              in: query
              description: Support request identifier, returned by e-reparateur (CreateSupportRequest)
              required: true
              type: integer
              format: int32
            - name: RepairEndDate
              in: query
              description: Date of the end of the repair
              required: true
              type: string
              format: date-time
            - name: RepairSiteId
              in: query
              description: Qualirepar ID of the repair site
              required: true
              type: string
            - name: ConsumerInvoiceNumber
              in: query
              description: Invoice number
              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.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/UpdateClaim:
        post:
          tags:
            - EcoSupport
          summary: Update the claim to fix issue raised by e-reparateur 
          description: ''
          operationId: UpdateClaim
          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: RepairEndDate
              in: query
              description: Date of the end of the repair
              required: true
              type: string
              format: date-time
            - name: RepairSiteId
              in: query
              description: Site ID of the repair
              required: true
              type: 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