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ètre | Remarques |
|---|---|
deliveryPointId | PRM (Enedis), PCE (GRDF) ou RTPL (ESR). L'opérateur est déduit du format et de l'adresse. |
address | Texte libre. Le numéro de voie la rend précise. Sans code postal, nous situons l'adresse avec la Base Adresse Nationale. |
name | Titulaire du contrat. Affine une recherche par adresse, et vérifie le titulaire chez les opérateurs qui le permettent. Minimum 3 lettres ou chiffres. |
resOrPro | RES ou PRO, insensible à la casse. Les deux si omis. |
energyType | electricity 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 erreur403; - la réponse ne contient aucun titulaire (
name), et chaqueaddressest 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 unname.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
| Code | Signification |
|---|---|
DELIVERY_POINT_ID_NOT_FOUND | Identifiant non reconnu, par aucun opérateur (racine) ou par celui-ci (sur un opérateur). |
NO_MATCH_FOUND | Opérateur interrogé, aucun point correspondant. |
INCOMPLETE_ADDRESS | Adresse insuffisante pour localiser un point, le plus souvent une voie ou un numéro manquant. |
TOO_MANY_MATCHES | Trop large pour que l'opérateur réponde. |
DSO_NOT_COVERED | Nous ne sommes pas intégrés avec l'opérateur de cette adresse. |
ADDRESS_SEARCH_NOT_SUPPORTED | Cet opérateur n'a pas de recherche par adresse. |
FILTERED_OUT | Le point existe mais votre filtre resOrPro l'a exclu. |
POSTAL_CODE_MISSING | Adresse sans code postal : impossible à situer, ou située sans qu'on y trouve de point. |
Codes transitoires
| Code | Signification |
|---|---|
DSO_UNAVAILABLE | Opérateur indisponible ou sans réponse. |
DSO_RATE_LIMITED | Quota de l'opérateur épuisé. La même requête passera sous peu. |
DSO_ERROR | La recherche n'a pas abouti de notre côté. |
Codes liés aux capacités des API partenaires
| Code | Signification |
|---|---|
NAME_CHECK_NOT_SUPPORTED | Cet opérateur ne permet pas de vérifier le nom du titulaire. |
ADDRESS_CHECK_NOT_SUPPORTED | Cet opérateur ne permet pas de vérifier l'adresse. |
Codes décrivant des réserves sur les résultats retournés
| Code | Signification |
|---|---|
HOLDER_NOT_VERIFIED | Point confirmé, titulaire non vérifié. Fournissez un name. |
NAME_MISMATCH | Le nom fourni n'est pas celui du titulaire. |
APPROXIMATE_NAME_MATCH | Proche du nom du titulaire, sans être exact. |
ADDRESS_MISMATCH | Votre adresse diffère de celle de l'opérateur. L'adresse affichée est celle de l'opérateur. |
APPROXIMATE_ADDRESS_MATCH | Bonne voie, numéro non retrouvé. |
ADDRESS_UNAVAILABLE | Point trouvé, aucune adresse disponible pour lui. |
TERMINATED_CONTRACT | Le point existe, aucun contrat d'acheminement actif. |
POINT_NOT_IN_SERVICE | Point hors service : en cours de raccordement, inaccessible ou improductif. |
RESOLVED_FROM_SERIAL_NUMBER | Vous avez fourni un numéro de série de compteur ; la réponse porte sur son point de livraison. |
Capacités par opérateur
| Enedis | GRDF | Strasbourg (ESR) | |
|---|---|---|---|
| Confirmer un identifiant | ✅ PRM | ✅ PCE | ✅ RTPL |
| Rechercher par adresse | ✅ | ❌ | ✅ |
| Vérifier un nom de titulaire | ✅ | ❌ | ❌ |
| Renvoyer le nom du titulaire | seulement 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.