API DAVATEL v1.9 para distribuidores

Tarificador, catálogo, contratación completa y estudios de ahorro de luz y gas. Contrato vigente: 2026-09-14-COMERCIAL-PREPAGO-V6.

Actualización importante de contratación

La API valida los mismos datos operativos que el formulario DAVATEL. Una contratación incompleta no se guarda: devuelve HTTP 400 indicando el campo que falta.

PARTICULARAUTÓNOMOEMPRESADNI por ambas carasIBAN obligatorioSIM/eSIM en todas las líneas móviles2 consentimientos obligatorios

MÁSMÓVIL, PEPEPHONE, JAZZTEL y SIMYO: todos exigen recibo bancario; AUTÓNOMO añade recibo de autónomo; EMPRESA añade CIF, la portada o primera hoja de las escrituras y la hoja donde consta el administrador. Las dos hojas de escrituras deben enviarse como archivos independientes. En EMPRESA, las dos caras del DNI corresponden al administrador.

Nuevos operadores y confidencialidad

El catálogo público incorpora las ofertas residenciales autorizadas de MÁSMÓVIL, PEPEPHONE, JAZZTEL y SIMYO. Desde V25, las ofertas privadas, BTL y de cartera también participan en la API cuando están visibles y vigentes, manteniendo sus condiciones de elegibilidad. Vodafone Mi Negocio Pro solo admite EMPRESA y portabilidad; Lowi admite PARTICULAR y AUTONOMO.

MOVISTAR visible sin tarifasHUMANITY unificadoOfertas privadas sujetas a elegibilidad

Catálogo AVATEL actualizado

AVATEL se publica como un único operador para todas sus coberturas. La API incorpora la oferta Back to School/NOVA, CLICtv y los nuevos bonos.

Máximo 5 líneas AVATELLíneas adicionales sin gigas acumulablesCanal Local a 5 €Pagos únicos separados

Cada tarifa devuelve condiciones_publicas, vigencia_desde, vigencia_hasta, solo_cliente_nuevo, periodicidad_precio, max_lineas_cliente y gigas_acumulables. Las tarifas caducadas no aparecen. Los productos con periodicidad_precio=PAGO_UNICO no se suman a la cuota mensual.

Revisión V7: coste mínimo del paquete

Se comparan combinaciones completas de adicionales móviles y televisión compatibles. El orden prioriza la cuota total vigente; en empate, la menor cuota normal tras las promociones, y después los demás desempates. Se conservan las reglas de datos por línea, bolsas compartidas y MULTISIM.

Los campos precio_total, precio_normal_total y fases_precio conservan su formato. No cambia la autenticación ni los endpoints.

Actualización comercial V13

Las búsquedas admiten tipo_cliente. El precio actual, las fases por fecha y las plataformas elegidas se devuelven con cada oferta. Un cupo de 1, 2 o 3 OTT se representa mediante selecciones concretas compatibles. Las tarifas anteriores no se usan para contratar nuevos paquetes.

fases_precio puede incluir desde_fecha y hasta_fecha (YYYY-MM-DD) cuando una promoción tiene fecha de fin fija. Se conservan las fases antiguas por meses para las demás tarifas. Consulte siempre /order-requirements antes de mostrar el formulario.

Autenticación

X-API-Key: dvt_live_...
X-Davatel-Domain: www.tudominio.es

La clave no debe exponerse en JavaScript público. Use un backend/proxy propio.

Endpoints v1

MétodoRutaUso
GET/api/v1/statusConexión, versión y contrato.
GET/api/v1/operatorsOperadores públicos.
GET/api/v1/rate-typesTipos de tarifa para filtros.
GET/api/v1/ratesCatálogo sin comisiones.
GET/api/v1/rates/:idDetalle de una tarifa.
POST/api/v1/rates/searchTarificador: precio y servicios.
GET/api/v1/order-fieldsCampos de cliente y sistema.
POST/api/v1/order-requirementsRequisitos exactos para la selección.
POST/api/v1/ordersCrear contratación completa.
GET/api/v1/ordersListar contrataciones del distribuidor.
GET/api/v1/orders/:referenciaConsultar una contratación.

Flujo recomendado

  1. Consultar /order-fields.
  2. Elegir tarifa o paquete.
  3. Llamar a /order-requirements.
  4. Mostrar exactamente los campos indicados.
  5. Enviar /orders.
POST /api/v1/order-requirements
{
  "tipo_cliente": "EMPRESA",
  "tarifa_id": 2,
  "productos": [{"tarifa_id":2,"cantidad":1}]
}

Campos obligatorios de sistema

CampoRegla
tipo_clientePARTICULAR, AUTONOMO o EMPRESA.
ibanObligatorio y validado.
fibra_misma_direccionObligatorio si la tarifa principal incluye fibra. Si NO: dirección, CP, población y provincia.
detalles_productosFijo y móviles. Cada móvil exige tipo y SIM/ESIM. Portabilidad exige número y tipo_origen (CONTRATO/PREPAGO); PREPAGO exige además el ICC de la tarjeta de origen como texto. Las nuevas ofertas Vodafone/Lowi exigen operador_origen en cada portabilidad.
aceptacion_privacidad_clienteObligatorio.
autorizacion_documentos_clienteObligatorio.
comunicaciones_comerciales_clienteOpcional.
dni_anverso y dni_reversoObligatorios. Para EMPRESA son los del administrador. JPG, PNG, WEBP o PDF, máximo 8 MB por archivo.
recibo_bancarioObligatorio en MÁSMÓVIL, PEPEPHONE, JAZZTEL y SIMYO.
recibo_autonomoObligatorio para AUTÓNOMO en los cuatro nuevos operadores.
cif_empresaObligatorio cuando tipo_cliente=EMPRESA.
escrituras_portadaPortada o primera hoja de las escrituras, en un archivo independiente. Obligatorio para EMPRESA en los cuatro nuevos operadores.
escrituras_administradorHoja donde consta el administrador, en otro archivo. Obligatorio para EMPRESA en los cuatro nuevos operadores.

Ejemplo 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":""}}
    ]
  }
]

Valores: NUEVO/PORTABILIDAD y SIM/ESIM.

Claves estables de cliente

Use siempre campo_ID devuelto por /order-fields. El antiguo campo_14 mantiene la misma clave, pero su título correcto es PROVINCIA.

Para EMPRESA, DAVATEL interpreta campo_3 como nombre de empresa, no exige apellidos y muestra campo_5 como CIF.

Errores que evitan altas incompletas

{"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"}

Luz y gas

La v1.9 permite enviar facturas, consultar el estudio, descargar el informe de ahorro, indicar que el cliente no contrata o remitir la solicitud de contratación.

POST /api/v1/energy-studies · GET /api/v1/energy-studies · GET /api/v1/energy-studies/:referencia/report · POST /decline · POST /contract

Televisión y streaming

Los adicionales propios solo se combinan con su operador. La TV DAVATEL es universal. Netflix, Prime Video, Disney Plus, Movistar Plus, HBO Max, SkyShowtime, DAZN Motor, DAZN Fútbol, DAZN Premium y Filmin no se consideran por sí solos televisión lineal.

Seguridad del navegador

La clave X-API-Key permanece exclusivamente en el servidor. El widget y el probador usan el proxy propio incluido y nunca reciben la clave.

Compatibilidad

consentimiento_rgpd continúa aceptándose como alias de privacidad, pero no sustituye la autorización de documentos. tarifa_ids sigue disponible; se recomienda productos. Las claves campo_ID no cambian.

La API valida de nuevo la cabecera y todos los adicionales en order-requirements y orders. Las listas «SOLO PARA TARIFAS» del concepto o de las condiciones públicas son obligatorias; una combinación no permitida devuelve HTTP 400 con error=incompatible_tariff_combination.

Archivos para integración

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

Filtros nuevos V15

Indiferente por defecto o Sí. La búsqueda suma los adicionales compatibles y sus precios. Filmin requiere Vodafone TV; DAZN Premium puede cubrir Motor y Fútbol con una sola contratación.

PlataformaCampo
HBO Maxhbo_max
SkyShowtimeskyshowtime
DAZN Motordazn_motor
DAZN Fútboldazn_futbol
DAZN Premiumdazn_premium
Filminfilmin