DAVATEL API v1.9 for distributors
Tariff finder, catalogue, complete service orders and electricity and gas savings studies. Current contract: 2026-09-14-COMERCIAL-PREPAGO-V6.
Important service ordering update
The API validates the same operational data as the DAVATEL form. Incomplete service orders are not saved: HTTP 400 is returned, identifying the missing field.
INDIVIDUALSELF-EMPLOYEDCOMPANYBoth sides of the DNIIBAN requiredSIM/eSIM for every mobile line2 mandatory consents
MÁSMÓVIL, PEPEPHONE, JAZZTEL and SIMYO: all require a bank receipt; SELF-EMPLOYED customers also need a self-employment contribution receipt; COMPANIES also need their CIF, the cover or first page of the company deeds and the page identifying the administrator. The two deed pages must be sent as separate files. For COMPANIES, both sides of the DNI must be those of the administrator.
New operators and confidentiality
The public catalogue includes authorised residential offers from MÁSMÓVIL, PEPEPHONE, JAZZTEL and SIMYO. Since V25, private, BTL and existing-customer offers are also included in the API when visible and valid, retaining their eligibility conditions. Vodafone Mi Negocio Pro only accepts EMPRESA and number porting; Lowi accepts PARTICULAR and AUTONOMO.
MOVISTAR visible without tariffsUnified HUMANITYPrivate offers subject to eligibility
Updated AVATEL catalogue
AVATEL is listed as a single operator for all its coverage areas. The API includes the Back to School/NOVA offer, CLICtv and the new add-on bundles.
Maximum 5 AVATEL linesAdditional lines without data rolloverCanal Local for €5Separate one-off payments
Each tariff returns condiciones_publicas, vigencia_desde, vigencia_hasta, solo_cliente_nuevo, periodicidad_precio, max_lineas_cliente and gigas_acumulables. Expired tariffs are not shown. Products with periodicidad_precio=PAGO_UNICO are not added to the monthly fee.
Revision V7: minimum bundle cost
Complete combinations of compatible mobile and TV add-ons are compared. Ranking prioritises the current total fee; ties are broken by the lowest standard fee after promotions, followed by the remaining tie-breakers. Rules for data per line, shared allowances and MULTISIM are retained.
The fields precio_total, precio_normal_total and fases_precio keep their format. Authentication and endpoints are unchanged.
Commercial update V13
Searches support tipo_cliente. The current price, date-based phases and selected platforms are returned with each offer. An allowance of 1, 2 or 3 OTT services is represented by specific compatible selections. Previous tariffs are not used for new bundle orders.
fases_precio may include desde_fecha and hasta_fecha (YYYY-MM-DD) when a promotion has a fixed end date. Existing month-based phases are retained for other tariffs. Always check /order-requirements before displaying the form.
Authentication
X-API-Key: dvt_live_... X-Davatel-Domain: www.tudominio.es
Do not expose the key in public JavaScript. Use your own backend/proxy.
v1 endpoints
| Method | Path | Usage |
|---|---|---|
| GET | /api/v1/status | Connection, version and contract. |
| GET | /api/v1/operators | Public operators. |
| GET | /api/v1/rate-types | Tariff types for filters. |
| GET | /api/v1/rates | Catalogue without commissions. |
| GET | /api/v1/rates/:id | Tariff details. |
| POST | /api/v1/rates/search | Tariff finder: price and services. |
| GET | /api/v1/order-fields | Customer and system fields. |
| POST | /api/v1/order-requirements | Exact requirements for the selection. |
| POST | /api/v1/orders | Create a complete service order. |
| GET | /api/v1/orders | List the distributor’s service orders. |
| GET | /api/v1/orders/:referencia | Look up a service order. |
Recommended workflow
- Query
/order-fields. - Select a tariff or bundle.
- Call
/order-requirements. - Display exactly the specified fields.
- Send
/orders.
POST /api/v1/order-requirements
{
"tipo_cliente": "EMPRESA",
"tarifa_id": 2,
"productos": [{"tarifa_id":2,"cantidad":1}]
}Required system fields
| Field | Rule |
|---|---|
tipo_cliente | PARTICULAR, AUTONOMO or EMPRESA. |
iban | Required and validated. |
fibra_misma_direccion | Required if the main tariff includes fibre. If NO: address, postcode, town and province. |
detalles_productos | Landline and mobile lines. Each mobile requires a type and SIM/ESIM. Number porting requires a number and tipo_origen (CONTRATO/PREPAGO); PREPAGO also requires the original card’s ICC as text. New Vodafone/Lowi offers require operador_origen for each porting request. |
aceptacion_privacidad_cliente | Required. |
autorizacion_documentos_cliente | Required. |
comunicaciones_comerciales_cliente | Optional. |
dni_anverso and dni_reverso | Required. For EMPRESA, these are the administrator’s documents. JPG, PNG, WEBP or PDF, maximum 8 MB per file. |
recibo_bancario | Required for MÁSMÓVIL, PEPEPHONE, JAZZTEL and SIMYO. |
recibo_autonomo | Required for self-employed customers with the four new operators. |
cif_empresa | Required when tipo_cliente=EMPRESA. |
escrituras_portada | Cover or first page of the company deeds, in a separate file. Required for EMPRESA with the four new operators. |
escrituras_administrador | Page identifying the administrator, in another file. Required for EMPRESA with the four new operators. |
detalles_productos example
[
{
"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":""}}
]
}
]Values: NUEVO/PORTABILIDAD and SIM/ESIM.
Stable customer keys
Always use campo_ID returned by /order-fields. The former campo_14 keeps the same key, but its correct label is PROVINCE.
For EMPRESA, DAVATEL interprets campo_3 as the company name, does not require surnames and displays campo_5 as CIF.
Errors that prevent incomplete activations
{"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"}Electricity and gas
Version 1.9 lets you submit bills, check the study, download the savings report, indicate that the customer declines or submit the service order request.
POST /api/v1/energy-studies · GET /api/v1/energy-studies · GET /api/v1/energy-studies/:referencia/report · POST /decline · POST /contract
Television and streaming
Operator-specific add-ons can only be combined with that operator. DAVATEL TV is universal. Netflix, Prime Video, Disney Plus, Movistar Plus, HBO Max, SkyShowtime, DAZN Motor, DAZN Fútbol, DAZN Premium and Filmin do not count as linear television on their own.
Browser security
The key X-API-Key stays exclusively on the server. The widget and tester use the included self-hosted proxy and never receive the key.
Compatibility
consentimiento_rgpd is still accepted as a privacy alias, but does not replace document authorisation. tarifa_ids remains available; we recommend productos. The keys campo_ID are unchanged.
The API revalidates the main product and all add-ons in order-requirements and orders. The “SOLO PARA TARIFAS” lists in the product description or public terms must be followed; a prohibited combination returns HTTP 400 with error=incompatible_tariff_combination.
Integration files
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