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. |
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.
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 unname.NAME_MISMATCH— le nom fourni n'est pas celui du titulaire.
Codes#
Absence — pas de point, et pourquoi.
| 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. |
Transitoire — nous n'avons pas pu demander. Réessayer peut fonctionner.
| 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é. |
Capacité — un fait sur l'opérateur, pas sur votre recherche.
| 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. |
Réserves — le point est réel, quelque chose demande attention.
| 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 un qui correspond.