Integración Multiempresa

Documentación de la API

Descargar PDF
Introducció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
Autenticación
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)
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
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 factura
  • rnc_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