API DAVATEL v1.9 pour distributeurs
Comparateur de forfaits, catalogue, souscription complète et études d’économies d’électricité et de gaz. Contrat en vigueur : 2026-09-14-COMERCIAL-PREPAGO-V6.
Mise à jour importante des souscriptions
L’API valide les mêmes données opérationnelles que le formulaire DAVATEL. Une souscription incomplète n’est pas enregistrée : elle renvoie HTTP 400 en indiquant le champ manquant.
PARTICULIERINDÉPENDANTENTREPRISEDNI recto versoIBAN obligatoireSIM/eSIM pour toutes les lignes mobiles2 consentements obligatoires
MÁSMÓVIL, PEPEPHONE, JAZZTEL et SIMYO : tous exigent un justificatif bancaire ; les INDÉPENDANTS doivent aussi fournir un justificatif de cotisation ; les ENTREPRISES doivent aussi fournir leur CIF, la couverture ou première page des statuts et la page mentionnant l’administrateur. Les deux pages des statuts doivent être envoyées dans des fichiers distincts. Pour une ENTREPRISE, le DNI recto verso est celui de l’administrateur.
Nouveaux opérateurs et confidentialité
Le catalogue public inclut les offres résidentielles autorisées de MÁSMÓVIL, PEPEPHONE, JAZZTEL et SIMYO. Depuis V25, les offres privées, BTL et destinées aux clients existants sont aussi disponibles dans l’API lorsqu’elles sont visibles et valides, avec leurs conditions d’éligibilité. Vodafone Mi Negocio Pro n’accepte que EMPRESA avec portabilité ; Lowi accepte PARTICULAR et AUTONOMO.
MOVISTAR visible sans offresHUMANITY unifiéOffres privées soumises à éligibilité
Catalogue AVATEL mis à jour
AVATEL est présenté comme un opérateur unique pour toutes ses couvertures. L’API inclut l’offre Back to School/NOVA, CLICtv et les nouveaux forfaits complémentaires.
Maximum 5 lignes AVATELLignes supplémentaires sans report des gigasCanal Local à 5 €Paiements uniques séparés
Chaque offre renvoie condiciones_publicas, vigencia_desde, vigencia_hasta, solo_cliente_nuevo, periodicidad_precio, max_lineas_cliente et gigas_acumulables. Les offres expirées ne sont pas affichées. Les produits avec periodicidad_precio=PAGO_UNICO ne sont pas ajoutés à la mensualité.
Révision V7 : coût minimum du forfait
Les combinaisons complètes d’options mobiles et TV compatibles sont comparées. Le classement privilégie la mensualité totale actuelle ; en cas d’égalité, la mensualité normale la plus basse après les promotions, puis les autres critères. Les règles de données par ligne, d’enveloppes partagées et de MULTISIM sont conservées.
Les champs precio_total, precio_normal_total et fases_precio conservent leur format. L’authentification et les endpoints ne changent pas.
Mise à jour commerciale V13
Les recherches acceptent tipo_cliente. Le prix actuel, les phases par date et les plateformes choisies sont renvoyés avec chaque offre. Un quota de 1, 2 ou 3 services OTT est représenté par des sélections concrètes compatibles. Les anciennes offres ne servent pas aux nouvelles souscriptions de forfaits.
fases_precio peut inclure desde_fecha et hasta_fecha (YYYY-MM-DD) lorsqu’une promotion a une date de fin fixe. Les anciennes phases par mois sont conservées pour les autres offres. Consultez toujours /order-requirements avant d’afficher le formulaire.
Authentification
X-API-Key: dvt_live_... X-Davatel-Domain: www.tudominio.es
N’exposez pas la clé dans du JavaScript public. Utilisez votre propre backend/proxy.
Endpoints v1
| Méthode | Chemin | Utilisation |
|---|---|---|
| GET | /api/v1/status | Connexion, version et contrat. |
| GET | /api/v1/operators | Opérateurs publics. |
| GET | /api/v1/rate-types | Types d’offres pour les filtres. |
| GET | /api/v1/rates | Catalogue sans commissions. |
| GET | /api/v1/rates/:id | Détail d’une offre. |
| POST | /api/v1/rates/search | Comparateur de forfaits : prix et services. |
| GET | /api/v1/order-fields | Champs client et système. |
| POST | /api/v1/order-requirements | Exigences exactes pour la sélection. |
| POST | /api/v1/orders | Créer une souscription complète. |
| GET | /api/v1/orders | Lister les souscriptions du distributeur. |
| GET | /api/v1/orders/:referencia | Consulter une souscription. |
Parcours recommandé
- Consulter
/order-fields. - Choisir une offre ou un forfait.
- Appeler
/order-requirements. - Afficher exactement les champs indiqués.
- Envoyer
/orders.
POST /api/v1/order-requirements
{
"tipo_cliente": "EMPRESA",
"tarifa_id": 2,
"productos": [{"tarifa_id":2,"cantidad":1}]
}Champs système obligatoires
| Champ | Règle |
|---|---|
tipo_cliente | PARTICULAR, AUTONOMO ou EMPRESA. |
iban | Obligatoire et validé. |
fibra_misma_direccion | Obligatoire si l’offre principale inclut la fibre. Si NO : adresse, code postal, commune et province. |
detalles_productos | Fixe et mobiles. Chaque mobile exige un type et SIM/ESIM. La portabilité exige le numéro et tipo_origen (CONTRATO/PREPAGO) ; PREPAGO exige aussi l’ICC de la carte d’origine sous forme de texte. Les nouvelles offres Vodafone/Lowi exigent operador_origen pour chaque portabilité. |
aceptacion_privacidad_cliente | Obligatoire. |
autorizacion_documentos_cliente | Obligatoire. |
comunicaciones_comerciales_cliente | Facultatif. |
dni_anverso et dni_reverso | Obligatoires. Pour EMPRESA, il s’agit des documents de l’administrateur. JPG, PNG, WEBP ou PDF, maximum 8 Mo par fichier. |
recibo_bancario | Obligatoire pour MÁSMÓVIL, PEPEPHONE, JAZZTEL et SIMYO. |
recibo_autonomo | Obligatoire pour les indépendants auprès des quatre nouveaux opérateurs. |
cif_empresa | Obligatoire lorsque tipo_cliente=EMPRESA. |
escrituras_portada | Couverture ou première page des statuts, dans un fichier distinct. Obligatoire pour EMPRESA auprès des quatre nouveaux opérateurs. |
escrituras_administrador | Page mentionnant l’administrateur, dans un autre fichier. Obligatoire pour EMPRESA auprès des quatre nouveaux opérateurs. |
Exemple detalles_productos
[
{
"tarifa_id": 2,
"unidades": [
{
"moviles": [
{"tipo":"PORTABILIDAD","sim":"ESIM","numero":"600000000","tipo_origen":"PREPAGO","operador_origen":"Orange","icc":"8934000000000000001"}
]
}
]
},
{
"tarifa_id": 5,
"unidades": [
{"fijo":{"tipo":"NUEVO","numero":""}}
]
}
]Valeurs : NUEVO/PORTABILIDAD et SIM/ESIM.
Clés client stables
Utilisez toujours campo_ID renvoyé par /order-fields. L’ancien campo_14 conserve la même clé, mais son libellé correct est PROVINCE.
Pour EMPRESA, DAVATEL interprète campo_3 comme le nom de l’entreprise, n’exige pas de noms de famille et affiche campo_5 comme CIF.
Erreurs empêchant les souscriptions incomplètes
{"ok":false,"error":"validation_error","campo":"iban","mensaje":"Falta el campo obligatorio: IBAN"}
{"ok":false,"error":"validation_error","campo":"detalles_productos","mensaje":"Falta SIM/eSIM de la línea móvil 1 de CONECTA SENCILLO"}Électricité et gaz
La version 1.9 permet d’envoyer des factures, de consulter l’étude, de télécharger le rapport d’économies, d’indiquer que le client ne souscrit pas ou de transmettre sa demande de souscription.
POST /api/v1/energy-studies · GET /api/v1/energy-studies · GET /api/v1/energy-studies/:referencia/report · POST /decline · POST /contract
Télévision et streaming
Les options propres à un opérateur ne se combinent qu’avec celui-ci. La TV DAVATEL est universelle. Netflix, Prime Video, Disney Plus, Movistar Plus, HBO Max, SkyShowtime, DAZN Motor, DAZN Fútbol, DAZN Premium et Filmin ne sont pas considérés à eux seuls comme de la télévision linéaire.
Sécurité du navigateur
La clé X-API-Key reste exclusivement sur le serveur. Le widget et l’outil de test utilisent le proxy propre inclus et ne reçoivent jamais la clé.
Compatibilité
consentimiento_rgpd reste accepté comme alias de confidentialité, mais ne remplace pas l’autorisation relative aux documents. tarifa_ids reste disponible ; il est recommandé d’utiliser productos. Les clés campo_ID ne changent pas.
L’API valide à nouveau le produit principal et toutes les options dans order-requirements et orders. Les listes « SOLO PARA TARIFAS » de la description du produit ou des conditions publiques doivent être respectées ; une combinaison interdite renvoie HTTP 400 avec error=incompatible_tariff_combination.
Fichiers d’intégration
MIGRACION_A_API_V1_9.md · openapi-davatel-v1.yaml · DAVATEL_API.postman_collection.json · davatel-api-sdk.js · davatel-widget.js · PROXY_SEGURO_NODE.js