Integración Multiempresa
Documentación de la API
Descargar PDFIntroducción
La API de integración multiempresa permite gestionar facturas electrónicas de múltiples empresas desde una única integración. Utiliza autenticación basada en tokens y soporta operaciones CRUD completas sobre facturas.
Características principales:
- Autenticación segura mediante tokens
- Gestión de múltiples empresas con un único token
- Operaciones CRUD completas sobre facturas
- Respuestas en formato JSON
- Control de permisos granular por endpoint
- Registro detallado de todas las operaciones
Bearer Token (Recomendado)
Incluye el token en el header Authorization de cada petición:
Authorization: Bearer TU_TOKEN_AQUI
Basic Authentication
Para mayor compatibilidad, también se soporta autenticación básica:
Authorization: Basic base64(client_id:token)
Nota: Los tokens se generan desde el panel de gestión y tienen una validez configurable.
Endpoints Disponibles
1. Listar Facturas
GET
/api2/facturas
Parámetros de consulta:
Parámetro | Tipo | Descripción | Requerido |
---|---|---|---|
rnc_empresa |
string | RNC de la empresa emisora | Sí |
fecha_desde |
date | Fecha inicial (YYYY-MM-DD) | No |
fecha_hasta |
date | Fecha final (YYYY-MM-DD) | No |
estado |
string | Estado de la factura | No |
limite |
integer | Número máximo de resultados | No |
pagina |
integer | Página actual (paginación) | No |
Ejemplo de respuesta:
{
"status": "success",
"data": [
{
"id": 1,
"encf": "E310000000001",
"fecha": "2024-01-15",
"monto_total": 1500.00,
"estado": "aceptada",
"cliente": {
"rnc": "123456789",
"nombre": "Cliente S.A."
}
}
],
"meta": {
"total": 150,
"por_pagina": 20,
"pagina_actual": 1
}
}
2. Crear Factura
POST
/api2/facturas
Cuerpo de la petición:
{
"rnc_empresa": "123456789",
"tipo_comprobante": "01",
"cliente": {
"rnc": "987654321",
"nombre": "Cliente S.A.",
"direccion": "Calle Principal #123"
},
"items": [
{
"descripcion": "Servicio de consultoría",
"cantidad": 1,
"precio_unitario": 1000.00,
"impuesto": 180.00
}
],
"totales": {
"subtotal": 1000.00,
"impuesto": 180.00,
"total": 1180.00
}
}
3. Obtener Factura
GET
/api2/facturas/{id}
Parámetros:
id
: ID de la facturarnc_empresa
: RNC de la empresa (query param)
4. Actualizar Factura
PUT
/api2/facturas/{id}
Permite actualizar una factura existente. El cuerpo es similar al de creación.
5. Eliminar Factura
DELETE
/api2/facturas/{id}
Elimina una factura del sistema.
Códigos de Respuesta
Código | Descripción |
---|---|
200 | Operación exitosa |
201 | Recurso creado exitosamente |
400 | Solicitud incorrecta |
401 | No autorizado |
403 | Prohibido |
404 | Recurso no encontrado |
500 | Error interno del servidor |
Ejemplos de Uso
# Listar facturas
curl -X GET \
'https://master.ef2.do/api2/facturas?rnc_empresa=123456789' \
-H 'Authorization: Bearer TU_TOKEN'
# Crear factura
curl -X POST \
'https://master.ef2.do/api2/facturas' \
-H 'Authorization: Bearer TU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"rnc_empresa": "123456789",
"tipo_comprobante": "01",
...
}'
<?php
$token = 'TU_TOKEN';
$url = 'https://master.ef2.do/api2/facturas';
// Listar facturas
$ch = curl_init($url . '?rnc_empresa=123456789');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $token
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);
// Usando Fetch API
const token = 'TU_TOKEN';
const url = 'https://master.ef2.do/api2/facturas';
// Listar facturas
fetch(url + '?rnc_empresa=123456789', {
headers: {
'Authorization': `Bearer ${token}`
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
import requests
token = 'TU_TOKEN'
url = 'https://master.ef2.do/api2/facturas'
# Listar facturas
headers = {
'Authorization': f'Bearer {token}'
}
params = {
'rnc_empresa': '123456789'
}
response = requests.get(url, headers=headers, params=params)
data = response.json()
print(data)
Límites y Cuotas
Límites de tasa de solicitudes
- 100 solicitudes por minuto
- 5,000 solicitudes por hora
- 50,000 solicitudes por día
Límites de respuesta
- Máximo 1,000 registros por solicitud
- Tiempo de espera: 30 segundos
- Tamaño máximo de respuesta: 10MB
Importante: Si se exceden los límites, la API responderá con un código 429 (Too Many Requests).