Lista de Valores (LOVs)
Lista de Valores (LOVs)
Section titled “Lista de Valores (LOVs)”Dominio: https://test-api-factura.edw-dev.com
Dominio: https://api-financiero.e-dinky.com
La API de Lista de Valores (LOVs) proporciona acceso a todas las listas de valores predefinidas del sistema, incluyendo tipos de impuestos, retenciones, métodos de pago, tipos de identificación y otros catálogos necesarios para la facturación electrónica.
Endpoints Disponibles
Section titled “Endpoints Disponibles”1. Tipos de Impuestos
Section titled “1. Tipos de Impuestos”Endpoint: GET /api/v1/lovs/types-taxes
Descripción: Obtiene la lista de tipos de impuestos disponibles en el sistema.
Headers Requeridos
Section titled “Headers Requeridos”Accept: application/jsonAuthorization: Bearer {token}
Ejemplos de Implementación
Section titled “Ejemplos de Implementación”curl -X GET "https://dev-facturacion.e-dinky.test/api/v1/lovs/types-taxes" \ -H "Accept: application/json" \ -H "Authorization: Bearer YOUR_TOKEN"
use Illuminate\Support\Facades\Http;
$response = Http::withHeaders([ 'Accept' => 'application/json', 'Authorization' => 'Bearer ' . $token,])->get('https://dev-facturacion.e-dinky.test/api/v1/lovs/types-taxes');
$typesTaxes = $response->json();
const axios = require('axios');
const getTypesTaxes = async (token) => { try { const response = await axios.get('https://dev-facturacion.e-dinky.test/api/v1/lovs/types-taxes', { headers: { 'Accept': 'application/json', 'Authorization': `Bearer ${token}` } }); return response.data; } catch (error) { console.error('Error:', error.response.data); }};
Respuesta Exitosa (200 OK)
Section titled “Respuesta Exitosa (200 OK)”{ "message": "Lista de valores", "status": "OK", "payload": { "items": [ { "code": "2", "title": "IVA" }, { "code": "3", "title": "ICE" }, { "code": "5", "title": "IRBPNR" } ], "count_items": 3, "current_page": 1, "number_paginate": 25, "last_page": 1 }}
2. Impuestos por Tipo
Section titled “2. Impuestos por Tipo”Endpoint: GET /api/v1/lovs/types-tax/{code}
Descripción: Obtiene los impuestos específicos de un tipo determinado (Tablas 17 y 18 del SRI).
Headers Requeridos
Section titled “Headers Requeridos”Accept: application/jsonAuthorization: Bearer {token}
Parámetros de Ruta
Section titled “Parámetros de Ruta”Parámetro | Tipo | Descripción |
---|---|---|
code | string | Código del tipo de impuesto (2=IVA, 3=ICE, 5=IRBPNR) |
Parámetros de Consulta (Opcionales)
Section titled “Parámetros de Consulta (Opcionales)”Parámetro | Tipo | Descripción |
---|---|---|
page | integer | Número de página para paginación |
Ejemplos de Implementación
Section titled “Ejemplos de Implementación”curl -X GET "https://dev-facturacion.e-dinky.test/api/v1/lovs/taxes-by-type/IVA" \ -H "Accept: application/json" \ -H "Authorization: Bearer YOUR_TOKEN"
use Illuminate\Support\Facades\Http;
$typeCode = 'IVA';$response = Http::withHeaders([ 'Accept' => 'application/json', 'Authorization' => 'Bearer ' . $token,])->get("https://dev-facturacion.e-dinky.test/api/v1/lovs/taxes-by-type/{$typeCode}");
$taxes = $response->json();
const axios = require('axios');
const getTaxesByType = async (token, typeCode) => { try { const response = await axios.get(`https://dev-facturacion.e-dinky.test/api/v1/lovs/taxes-by-type/${typeCode}`, { headers: { 'Accept': 'application/json', 'Authorization': `Bearer ${token}` } }); return response.data; } catch (error) { console.error('Error:', error.response.data); }};
Respuesta Exitosa (200 OK)
Section titled “Respuesta Exitosa (200 OK)”{ "message": "Lista de valores", "status": "OK", "payload": { "items": [ { "code": 2072, "type_code": "2", "title": "IVA 15%", "amount": 15, "mode_apply": "percentage", "category": null }, { "code": 2073, "type_code": "2", "title": "IVA 0%", "amount": 0, "mode_apply": "percentage", "category": null } ], "count_items": 2, "current_page": 1, "number_paginate": 25, "last_page": 1 }}
3. Tipos de Retenciones
Section titled “3. Tipos de Retenciones”Endpoint: GET /api/v1/lovs/types-retentions-tax
Descripción: Obtiene la lista de tipos de retenciones disponibles.
Headers Requeridos
Section titled “Headers Requeridos”Accept: application/jsonAuthorization: Bearer {token}
Ejemplos de Implementación
Section titled “Ejemplos de Implementación”curl -X GET "https://dev-facturacion.e-dinky.test/api/v1/lovs/types-retentions" \ -H "Accept: application/json" \ -H "Authorization: Bearer YOUR_TOKEN"
use Illuminate\Support\Facades\Http;
$response = Http::withHeaders([ 'Accept' => 'application/json', 'Authorization' => 'Bearer ' . $token,])->get('https://dev-facturacion.e-dinky.test/api/v1/lovs/types-retentions');
$typesRetentions = $response->json();
const axios = require('axios');
const getTypesRetentions = async (token) => { try { const response = await axios.get('https://dev-facturacion.e-dinky.test/api/v1/lovs/types-retentions', { headers: { 'Accept': 'application/json', 'Authorization': `Bearer ${token}` } }); return response.data; } catch (error) { console.error('Error:', error.response.data); }};
Respuesta Exitosa (200 OK)
Section titled “Respuesta Exitosa (200 OK)”{ "message": "Lista de valores", "status": "OK", "payload": { "items": [ { "code": "1", "title": "Impuesto a la renta", "name": "RENTA" }, { "code": "2", "title": "Impuesto al Valor Agregado", "name": "IVA" }, { "code": "6", "title": "Impuesto a la Salida de Divisas", "name": "ISD" } ], "count_items": 3, "current_page": 1, "number_paginate": 25, "last_page": 1 }}
4. Retenciones por Tipo
Section titled “4. Retenciones por Tipo”Endpoint: GET /api/v1/lovs/retentions-by-tax/{code}
Descripción: Obtiene las retenciones específicas de un tipo determinado.
Headers Requeridos
Section titled “Headers Requeridos”Accept: application/jsonAuthorization: Bearer {token}
Parámetros de Ruta
Section titled “Parámetros de Ruta”Parámetro | Tipo | Descripción |
---|---|---|
code | string | Código del tipo de retención (1=RENTA, 2=IVA, 6=ISD) |
Parámetros de Consulta (Opcionales)
Section titled “Parámetros de Consulta (Opcionales)”Parámetro | Tipo | Descripción |
---|---|---|
page | integer | Número de página para paginación |
Ejemplos de Implementación
Section titled “Ejemplos de Implementación”curl -X GET "https://dev-facturacion.e-dinky.test/api/v1/lovs/retentions-by-type/RENTA" \ -H "Accept: application/json" \ -H "Authorization: Bearer YOUR_TOKEN"
use Illuminate\Support\Facades\Http;
$typeCode = 'RENTA';$response = Http::withHeaders([ 'Accept' => 'application/json', 'Authorization' => 'Bearer ' . $token,])->get("https://dev-facturacion.e-dinky.test/api/v1/lovs/retentions-by-type/{$typeCode}");
$retentions = $response->json();
const axios = require('axios');
const getRetentionsByType = async (token, typeCode) => { try { const response = await axios.get(`https://dev-facturacion.e-dinky.test/api/v1/lovs/retentions-by-type/${typeCode}`, { headers: { 'Accept': 'application/json', 'Authorization': `Bearer ${token}` } }); return response.data; } catch (error) { console.error('Error:', error.response.data); }};
Respuesta Exitosa (200 OK)
Section titled “Respuesta Exitosa (200 OK)”{ "message": "Lista de valores", "status": "OK", "payload": { "items": [ { "code": "303", "type_code": "1", "title": "Honorarios profesionales y demás pagos por servicios relacionados con el título profesional - 10%", "percentage": "10.00", "percentage_availables": "10.00" }, { "code": "304", "type_code": "1", "title": "Servicios predomina el intelecto - 8%", "percentage": "8.00", "percentage_availables": "8.00" } ], "count_items": 50, "current_page": 1, "number_paginate": 25, "last_page": 2 }}
5. Tipos de Identificación
Section titled “5. Tipos de Identificación”Endpoint: GET /api/v1/lovs/types-identification
Descripción: Obtiene la lista de tipos de identificación válidos.
Headers Requeridos
Section titled “Headers Requeridos”Accept: application/jsonAuthorization: Bearer {token}
Ejemplos de Implementación
Section titled “Ejemplos de Implementación”curl -X GET "https://dev-facturacion.e-dinky.test/api/v1/lovs/types-identification" \ -H "Accept: application/json" \ -H "Authorization: Bearer YOUR_TOKEN"
use Illuminate\Support\Facades\Http;
$response = Http::withHeaders([ 'Accept' => 'application/json', 'Authorization' => 'Bearer ' . $token,])->get('https://dev-facturacion.e-dinky.test/api/v1/lovs/types-identification');
$typesIdentification = $response->json();
const axios = require('axios');
const getTypesIdentification = async (token) => { try { const response = await axios.get('https://dev-facturacion.e-dinky.test/api/v1/lovs/types-identification', { headers: { 'Accept': 'application/json', 'Authorization': `Bearer ${token}` } }); return response.data; } catch (error) { console.error('Error:', error.response.data); }};
Respuesta Exitosa (200 OK)
Section titled “Respuesta Exitosa (200 OK)”{ "message": "Lista de valores", "status": "OK", "payload": { "items": [ { "code": "04", "title": "RUC", "value": "ruc", "min": 13, "max": 13 }, { "code": "05", "title": "Cédula", "value": "cedula", "min": 10, "max": 10 }, { "code": "06", "title": "PASAPORTE", "value": "pasaporte", "min": 5, "max": 20 }, { "code": "07", "title": "VENTA A CONSUMIDOR FINAL", "value": "consumidor final", "min": 10, "max": 10 }, { "code": "08", "title": "IDENTIFICACION DEL EXTERIOR", "value": "identificacion del exterior", "min": 5, "max": 20 } ], "count_items": 5, "current_page": 1, "number_paginate": 25, "last_page": 1 }}
6. Métodos de Pago
Section titled “6. Métodos de Pago”Endpoint: GET /api/v1/lovs/payments-methods
Descripción: Obtiene la lista de métodos de pago disponibles.
Headers Requeridos
Section titled “Headers Requeridos”Accept: application/jsonAuthorization: Bearer {token}
Ejemplos de Implementación
Section titled “Ejemplos de Implementación”curl -X GET "https://dev-facturacion.e-dinky.test/api/v1/lovs/payments-methods" \ -H "Accept: application/json" \ -H "Authorization: Bearer YOUR_TOKEN"
use Illuminate\Support\Facades\Http;
$response = Http::withHeaders([ 'Accept' => 'application/json', 'Authorization' => 'Bearer ' . $token,])->get('https://dev-facturacion.e-dinky.test/api/v1/lovs/payments-methods');
$paymentsMethods = $response->json();
const axios = require('axios');
const getPaymentsMethods = async (token) => { try { const response = await axios.get('https://dev-facturacion.e-dinky.test/api/v1/lovs/payments-methods', { headers: { 'Accept': 'application/json', 'Authorization': `Bearer ${token}` } }); return response.data; } catch (error) { console.error('Error:', error.response.data); }};
Respuesta Exitosa (200 OK)
Section titled “Respuesta Exitosa (200 OK)”{ "message": "Lista de valores", "status": "OK", "payload": { "items": [ { "code": "01", "title": "SIN UTILIZACIÓN DEL SISTEMA FINANCIERO", "short_name": "Efectivo" }, { "code": "16", "title": "TARJETA DE DÉBITO", "short_name": "Tarjeta/Débito" }, { "code": "19", "title": "TARJETA DE CRÉDITO", "short_name": "Tarjeta/Crédito" }, { "code": "20", "title": "OTROS CON UTILIZACIÓN DEL SISTEMA FINANCIERO", "short_name": "Banco" } ], "count_items": 8, "current_page": 1, "number_paginate": 25, "last_page": 1 }}
7. Roles de Usuario
Section titled “7. Roles de Usuario”Endpoint: GET /api/v1/lovs/roles
Descripción: Obtiene la lista de roles disponibles en el sistema.
Headers Requeridos
Section titled “Headers Requeridos”Accept: application/jsonAuthorization: Bearer {token}
Ejemplos de Implementación
Section titled “Ejemplos de Implementación”curl -X GET "https://dev-facturacion.e-dinky.test/api/v1/lovs/user-roles" \ -H "Accept: application/json" \ -H "Authorization: Bearer YOUR_TOKEN"
use Illuminate\Support\Facades\Http;
$response = Http::withHeaders([ 'Accept' => 'application/json', 'Authorization' => 'Bearer ' . $token,])->get('https://dev-facturacion.e-dinky.test/api/v1/lovs/user-roles');
$userRoles = $response->json();
const axios = require('axios');
const getUserRoles = async (token) => { try { const response = await axios.get('https://dev-facturacion.e-dinky.test/api/v1/lovs/user-roles', { headers: { 'Accept': 'application/json', 'Authorization': `Bearer ${token}` } }); return response.data; } catch (error) { console.error('Error:', error.response.data); }};
8. Tipos de Documentos
Section titled “8. Tipos de Documentos”Endpoint: GET /api/v1/lovs/type-documents/{code}
Descripción: Obtiene información específica sobre un tipo de documento.
Headers Requeridos
Section titled “Headers Requeridos”Accept: application/jsonAuthorization: Bearer {token}
Parámetros de Ruta
Section titled “Parámetros de Ruta”Parámetro | Tipo | Descripción |
---|---|---|
code | string | Código del tipo de documento |
Ejemplos de Implementación
Section titled “Ejemplos de Implementación”curl -X GET "https://dev-facturacion.e-dinky.test/api/v1/lovs/document-types" \ -H "Accept: application/json" \ -H "Authorization: Bearer YOUR_TOKEN"
use Illuminate\Support\Facades\Http;
$response = Http::withHeaders([ 'Accept' => 'application/json', 'Authorization' => 'Bearer ' . $token,])->get('https://dev-facturacion.e-dinky.test/api/v1/lovs/document-types');
$documentTypes = $response->json();
const axios = require('axios');
const getDocumentTypes = async (token) => { try { const response = await axios.get('https://dev-facturacion.e-dinky.test/api/v1/lovs/document-types', { headers: { 'Accept': 'application/json', 'Authorization': `Bearer ${token}` } }); return response.data; } catch (error) { console.error('Error:', error.response.data); }};
9. Planes de Referidos
Section titled “9. Planes de Referidos”Endpoint: GET /api/v1/lovs/plans-referral
Descripción: Obtiene la lista de planes de referidos disponibles.
Headers Requeridos
Section titled “Headers Requeridos”Accept: application/jsonAuthorization: Bearer {token}
Ejemplos de Implementación
Section titled “Ejemplos de Implementación”curl -X GET "https://dev-facturacion.e-dinky.test/api/v1/lovs/referral-plans" \ -H "Accept: application/json" \ -H "Authorization: Bearer YOUR_TOKEN"
use Illuminate\Support\Facades\Http;
$response = Http::withHeaders([ 'Accept' => 'application/json', 'Authorization' => 'Bearer ' . $token,])->get('https://dev-facturacion.e-dinky.test/api/v1/lovs/referral-plans');
$referralPlans = $response->json();
const axios = require('axios');
const getReferralPlans = async (token) => { try { const response = await axios.get('https://dev-facturacion.e-dinky.test/api/v1/lovs/referral-plans', { headers: { 'Accept': 'application/json', 'Authorization': `Bearer ${token}` } }); return response.data; } catch (error) { console.error('Error:', error.response.data); }};
Estructura de Respuesta Común
Section titled “Estructura de Respuesta Común”Todas las respuestas de LOVs siguen una estructura común:
{ "message": "Lista de valores", "status": "OK", "payload": { "items": [ { "code": "valor_codigo", "title": "Título descriptivo", // campos adicionales específicos del LOV } ], "count_items": 10, "current_page": 1, "number_paginate": 25, "last_page": 1 }}
Códigos de Impuestos Principales
Section titled “Códigos de Impuestos Principales”Código | Tipo | Descripción |
---|---|---|
2 | IVA | Impuesto al Valor Agregado |
3 | ICE | Impuesto a los Consumos Especiales |
5 | IRBPNR | Impuesto a la Renta para Bienes Patrimoniales No Residentes |
Códigos de Retenciones Principales
Section titled “Códigos de Retenciones Principales”Código | Tipo | Descripción |
---|---|---|
1 | RENTA | Impuesto a la Renta |
2 | IVA | Impuesto al Valor Agregado |
6 | ISD | Impuesto a la Salida de Divisas |
Tipos de Identificación
Section titled “Tipos de Identificación”Código | Tipo | Longitud | Descripción |
---|---|---|---|
04 | RUC | 13 | Registro Único de Contribuyentes |
05 | Cédula | 10 | Cédula de Identidad |
06 | Pasaporte | 5-20 | Pasaporte |
07 | Consumidor Final | 10 | Venta a Consumidor Final |
08 | Identificación Exterior | 5-20 | Identificación del Exterior |
Métodos de Pago Principales
Section titled “Métodos de Pago Principales”Código | Descripción | Nombre Corto |
---|---|---|
01 | Sin utilización del sistema financiero | Efectivo |
16 | Tarjeta de débito | Tarjeta/Débito |
19 | Tarjeta de crédito | Tarjeta/Crédito |
20 | Otros con utilización del sistema financiero | Banco |
15 | Compensación de deudas | Comp. Deudas |
17 | Dinero electrónico | Dinero electrónico |
18 | Tarjeta prepago | Tarjeta prepago |
21 | Endoso de títulos | Endoso |
Paginación
Section titled “Paginación”Los endpoints de LOVs soportan paginación mediante el parámetro page
. La respuesta incluye información de paginación:
current_page
: Página actualnumber_paginate
: Elementos por páginalast_page
: Última página disponiblecount_items
: Total de elementos
Códigos de Respuesta
Section titled “Códigos de Respuesta”Código | Descripción |
---|---|
200 | Consulta exitosa |
401 | Token de autorización inválido |
404 | LOV no encontrado |
500 | Error interno del servidor |
Notas Importantes
Section titled “Notas Importantes”- Los LOVs son datos de solo lectura proporcionados por el SRI
- Los códigos de impuestos y retenciones están basados en las tablas oficiales del SRI
- Los tipos de identificación incluyen validaciones de longitud mínima y máxima
- Algunos LOVs incluyen campos adicionales como
percentage
,amount
,mode_apply
, etc. - La paginación está disponible para LOVs con muchos elementos
- Los datos se actualizan automáticamente según las regulaciones del SRI