SWITCHGRID
DOCS

Rechercher un contrat#

GET/search_contract interroge en un seul appel tous les gestionnaires de réseau que nous intégrons. Envoyez un identifiant de point de livraison, une adresse, ou les deux ; chaque opérateur concerné répond pour lui-même.

Il remplace POST/integration/enedis/search_contract, qui n'interrogeait qu'Enedis.

Paramètres#

ParamètreRemarques
deliveryPointIdPRM (Enedis), PCE (GRDF) ou RTPL (ESR). L'opérateur est déduit du format et de l'adresse.
addressTexte libre. Le numéro de voie la rend précise.
nameTitulaire du contrat. Affine une recherche par adresse, et vérifie le titulaire chez les opérateurs qui le permettent. Minimum 3 lettres ou chiffres.
resOrProRES ou PRO, insensible à la casse. Les deux si omis.
energyTypeelectricity ou gas. Les deux si omis.

deliveryPointId ou address est requis.

Réponse#

{
  "results": [
    {
      "deliveryPointId": "00059461297239",
      "provider": {
        "oreCode": "ENED",
        "name": "Enedis",
        "energyType": "electricity"
      },
      "address": ["1 RUE DE LA PAIX", "75001 PARIS"],
      "resOrPro": "RES",
      "name": "JEAN DUPONT",
      "confidence": 90,
      "contractId": "606b5149-1ef0-414a-8019-a050f64cc0ac"
    }
  ],
  "unresolved": [
    {
      "provider": { "oreCode": "GRDF", "name": "GRDF", "energyType": "gas" },
      "messages": [
        {
          "code": "ADDRESS_SEARCH_NOT_SUPPORTED",
          "fr": "La recherche par adresse pour le gaz n'est pas disponible. Veuillez fournir un numéro de PCE.",
          "en": "Address-based search for gas is not available. Please provide a PCE number."
        }
      ]
    }
  ]
}

results — les points de livraison. Chaque entrée porte un deliveryPointId et un provider.

unresolved — les opérateurs qui n'ont renvoyé aucun point, avec la raison. Une entrée n'a pas d'identifiant : elle décrit un opérateur, pas un point.

messages à la racine porte sur toute la réponse, pas sur un opérateur.

confidence et messages#

confidence indique à quel point une ligne répond à votre recherche, de 0 à 100. 100 est le meilleur cas : l'identifiant envoyé est confirmé et tout le reste concorde. Moins un élément envoyé concorde, et moins le point est localisé avec certitude, plus elle baisse. messages explique pourquoi elle n'est pas à 100.

Chaque message porte un code sur lequel brancher et un texte fr / en affichable tel quel.

ℹ️

La liste des codes est ouverte. De nouveaux codes arrivent sans changement de version cassant. Traitez un code inconnu comme informatif et affichez son texte plutôt que d'échouer.

Ce ne sont pas des erreurs#

Tous les codes ci-dessous sont renvoyés en 200 avec une réponse exploitable. Réessayer n'a d'intérêt que pour les trois codes transitoires ; tous les autres sont un constat sur les données et ne changeront pas.

Créer un Ask à partir d'un résultat : contractId#

Quand nous détenons le contrat d'un point, le résultat porte un contractId : passez-le tel quel comme élément de contracts dans POST/ask, comme l'id de la recherche Enedis existante.

Aujourd'hui seul Enedis conserve un contrat, et uniquement lorsque le titulaire a été confirmé : contractId n'est présent que si la recherche comportait un name qu'Enedis a validé. Sans contractId — GRDF, ESR, ou une recherche sans name — décrivez le contrat vous-même dans contracts : identifiant du point, titulaire et adresse, à partir du résultat et de ce que vous savez de votre client. Voir Créer un Ask.

Champs absents#

Les champs que nous ne pouvons pas remplir sont omis — jamais null, jamais de valeur de remplacement. address, name, resOrPro, messages et contractId sont optionnels sur un résultat.

Les messages disent pourquoi un champ manque. Un name absent signifie :

  • HOLDER_NOT_VERIFIED — le titulaire n'a pas été vérifié. Fournissez un name.
  • NAME_MISMATCH — le nom fourni n'est pas celui du titulaire.

Codes#

Absence — pas de point, et pourquoi.

CodeSignification
DELIVERY_POINT_ID_NOT_FOUNDIdentifiant non reconnu, par aucun opérateur (racine) ou par celui-ci (sur un opérateur).
NO_MATCH_FOUNDOpérateur interrogé, aucun point correspondant.
INCOMPLETE_ADDRESSAdresse insuffisante pour localiser un point, le plus souvent une voie ou un numéro manquant.
TOO_MANY_MATCHESTrop large pour que l'opérateur réponde.
DSO_NOT_COVEREDNous ne sommes pas intégrés avec l'opérateur de cette adresse.
ADDRESS_SEARCH_NOT_SUPPORTEDCet opérateur n'a pas de recherche par adresse.
FILTERED_OUTLe point existe mais votre filtre resOrPro l'a exclu.

Transitoire — nous n'avons pas pu demander. Réessayer peut fonctionner.

CodeSignification
DSO_UNAVAILABLEOpérateur indisponible ou sans réponse.
DSO_RATE_LIMITEDQuota de l'opérateur épuisé. La même requête passera sous peu.
DSO_ERRORLa recherche n'a pas abouti de notre côté.

Capacité — un fait sur l'opérateur, pas sur votre recherche.

CodeSignification
NAME_CHECK_NOT_SUPPORTEDCet opérateur ne permet pas de vérifier le nom du titulaire.
ADDRESS_CHECK_NOT_SUPPORTEDCet opérateur ne permet pas de vérifier l'adresse.

Réserves — le point est réel, quelque chose demande attention.

CodeSignification
HOLDER_NOT_VERIFIEDPoint confirmé, titulaire non vérifié. Fournissez un name.
NAME_MISMATCHLe nom fourni n'est pas celui du titulaire.
APPROXIMATE_NAME_MATCHProche du nom du titulaire, sans être exact.
ADDRESS_MISMATCHVotre adresse diffère de celle de l'opérateur. L'adresse affichée est celle de l'opérateur.
APPROXIMATE_ADDRESS_MATCHBonne voie, numéro non retrouvé.
ADDRESS_UNAVAILABLEPoint trouvé, aucune adresse disponible pour lui.
TERMINATED_CONTRACTLe point existe, aucun contrat d'acheminement actif.
POINT_NOT_IN_SERVICEPoint hors service : en cours de raccordement, inaccessible ou improductif.
RESOLVED_FROM_SERIAL_NUMBERVous avez fourni un numéro de série de compteur ; la réponse porte sur son point de livraison.

Capacités par opérateur#

EnedisGRDFStrasbourg (ESR)
Confirmer un identifiant✅ PRM✅ PCE✅ RTPL
Rechercher par adresse
Vérifier un nom de titulaire
Renvoyer le nom du titulaireseulement face à un nom fourni qui correspond
Vérifier une adresse

Un nom envoyé à un opérateur qui ne peut pas le vérifier renvoie NAME_CHECK_NOT_SUPPORTED, pour qu'un nom non vérifié ne soit pas pris pour un nom confirmé.

Enedis ne communique le nom du titulaire que si vous en fournissez un qui correspond.

SWITCHGRID
© 2024 - 2026 Switchgrid