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. Sans code postal, nous situons l'adresse avec la Base Adresse Nationale.
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. Parfois, on veut indiquer pourquoi un opérateur donné ne renvoie aucun résultat, par exemple.

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 indique d'éventuelles raisons pour lesquelles certaines informations ne sont pas disponibles. 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.

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 ce mécanisme n'est disponible qu'avec Enedis, 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 — vous devrez fournir nom, adresse et point de livraison vous-même dans contracts. Voir Créer un Ask.

Version limitée

Les Workspaces qui ont opté pour le plan gratuit disposent de la version limitée de GET/search_contract, tant qu'ils n'ont pas souscrit à un plan payant. Les restrictions sont les suivantes :

  • chaque recherche doit porter un deliveryPointId (le PRM pour Enedis). Sans lui, la réponse est une erreur 403 ;
  • la réponse ne contient aucun titulaire (name), et chaque address est réduite au code postal : ["67110"].

Le reste de la réponse est inchangé : confidence, messages, et le contractId d'un titulaire vérifié, avec lequel créer un Ask. Le name que vous envoyez sert toujours à vérifier le titulaire.

Pour lever cette limitation, souscrivez à un plan payant en nous contactant à contact@switchgrid.tech.

Champs absents

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

Par exemple, un name peut être absent si :

  • 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.
  • votre espace a la version limitée de la recherche.

Codes

Codes d'absence

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.
POSTAL_CODE_MISSINGAdresse sans code postal : impossible à situer, ou située sans qu'on y trouve de point.

Codes transitoires

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

Codes liés aux capacités des API partenaires

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.

Codes décrivant des réserves sur les résultats retournés

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 au moins 3 lettres qui correspondent à ce qu'ils ont en base de données.

SWITCHGRID
© 2024 - 2026 Switchgrid