Integra la facturación electrónica en tu aplicación con nuestra API REST. Documentación completa, ejemplos de código y soporte técnico.
Planes flexibles para desarrolladores y empresas que necesitan integrar la API
Nuestra API REST te permite integrar la facturación electrónica de forma nativa en tu aplicación, sistema ERP o plataforma personalizada.
API RESTful con JSON, fácil de integrar en cualquier lenguaje de programación. Endpoints intuitivos y bien documentados.
Autenticación mediante API Key y tokens JWT. Comunicación cifrada SSL/TLS para máxima seguridad.
Documentación detallada con ejemplos en múltiples lenguajes: PHP, Python, Node.js, Java, C# y más.
Entorno de pruebas completo para desarrollar y testear sin afectar datos reales de producción.
API optimizada para alto rendimiento. Respuestas rápidas y límites de rate generosos para aplicaciones empresariales.
Soporte técnico especializado para desarrolladores. Ayuda con integración y resolución de problemas técnicos.
Endpoints principales de la API VeriFactu para gestionar facturas electrónicas
| Método | Endpoint | Descripción |
|---|---|---|
| POST | /api/v1/facturas |
Crear nueva factura electrónica |
| GET | /api/v1/facturas/{id} |
Obtener detalles de una factura |
| GET | /api/v1/facturas |
Listar todas las facturas |
| PUT | /api/v1/facturas/{id} |
Actualizar factura existente |
| POST | /api/v1/facturas/{id}/enviar |
Enviar factura a VeriFactu |
| GET | /api/v1/facturas/{id}/estado |
Consultar estado de envío |
| POST | /api/v1/rectificativas |
Crear factura rectificativa |
| GET | /api/v1/series |
Obtener series disponibles |
Ejemplos prácticos para integrar la API en diferentes lenguajes
$data = [
'cliente' => [
'nif' => '12345678Z',
'nombre' => 'Cliente Ejemplo',
'email' => 'cliente@email.com'
],
'lineas' => [
[
'descripcion' => 'Producto 1',
'cantidad' => 1,
'precio' => 100.00,
'iva' => 21
]
]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.verifactu.com/v1/facturas');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $api_key,
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$result = json_decode($response, true);
import requests
import json
headers = {
'Authorization': f'Bearer {api_key}',
'Content-Type': 'application/json'
}
# Consultar estado de factura
response = requests.get(
'https://api.verifactu.com/v1/facturas/123/estado',
headers=headers
)
if response.status_code == 200:
estado = response.json()
print(f"Estado: {estado['estado']}")
print(f"Mensaje: {estado['mensaje']}")
else:
print(f"Error: {response.status_code}")
const axios = require('axios');
const config = {
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
}
};
async function listarFacturas() {
try {
const response = await axios.get(
'https://api.verifactu.com/v1/facturas',
config
);
console.log('Facturas:', response.data);
return response.data;
} catch (error) {
console.error('Error:', error.response.data);
}
}
listarFacturas();
using System.Net.Http;
using System.Text;
using Newtonsoft.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
var data = new {
factura_original = "FAC-2024-001",
motivo = "Error en importe",
cliente = new {
nif = "12345678Z",
nombre = "Cliente Ejemplo"
},
lineas = new[] {
new {
descripcion = "Corrección",
cantidad = 1,
precio = -10.00,
iva = 21
}
}
};
var json = JsonConvert.SerializeObject(data);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync(
"https://api.verifactu.com/v1/rectificativas",
content
);