Consultar Items
Consultar Items
Section titled “Consultar Items”Dominio: https://test-api-factura.edw-dev.com
Dominio: https://api-financiero.e-dinky.com
Estos endpoints permiten consultar y buscar items (bienes y servicios) registrados en el sistema.
1. Consultar Todos los Items
Section titled “1. Consultar Todos los Items”Endpoint: GET /api/v1/items
Descripción: Obtiene una lista de todos los items (bienes y servicios) registrados en el sistema.
Headers Requeridos
Section titled “Headers Requeridos”Accept: application/jsonAuthorization: Bearer {token}
Parámetros de Consulta (Opcionales)
Section titled “Parámetros de Consulta (Opcionales)”Parámetro | Tipo | Descripción | Ejemplo |
---|---|---|---|
page | integer | Número de página para paginación | 1 |
per_page | integer | Elementos por página | 25 |
Ejemplos de Implementación
Section titled “Ejemplos de Implementación”curl -X GET "https://dev-facturacion.e-dinky.test/api/v1/items?page=1&per_page=10" \ -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/items', [ 'page' => 1, 'per_page' => 10, 'filters' => json_encode([ 'description' => [['like' => 'producto']] ])]);
$items = $response->json();
const axios = require('axios');
const getItems = async (token, filters = {}) => { try { const params = { page: 1, per_page: 10, ...filters };
const response = await axios.get('https://dev-facturacion.e-dinky.test/api/v1/items', { headers: { 'Accept': 'application/json', 'Authorization': `Bearer ${token}` }, params }); return response.data; } catch (error) { console.error('Error:', error.response.data); }};
Respuesta Exitosa (200 OK)
Section titled “Respuesta Exitosa (200 OK)”{ "message": "Items", "status": "OK", "payload": { "items": [ { "code": "ABC-001", "description": "ITEM PRUEBAS", "rate": "12.33", "unit": "UNIDAD", "taxes": [ { "type_name": "IVA", "name": "15%", "percentaje_tax": "15.00", "type_tax_code": "2", "tax_code": "4" } ] } ], "count_items": 8, "current_page": 1, "number_paginate": 25, "last_page": 1 }}
2. Buscar Item por Código
Section titled “2. Buscar Item por Código”Endpoint: GET /api/v1/items/{code}
Descripción: Obtiene la información detallada de un item específico por su código.
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 único del item |
Ejemplos de Implementación
Section titled “Ejemplos de Implementación”curl -X GET "https://dev-facturacion.e-dinky.test/api/v1/items/ABC-001" \ -H "Accept: application/json" \ -H "Authorization: Bearer your_token_here"
use Illuminate\Support\Facades\Http;
$itemCode = 'ABC-001';$response = Http::withHeaders([ 'Accept' => 'application/json', 'Authorization' => 'Bearer ' . $token,])->get("https://dev-facturacion.e-dinky.test/api/v1/items/{$itemCode}");
$item = $response->json();
const axios = require('axios');
const getItemByCode = async (token, itemCode) => { try { const response = await axios.get(`https://dev-facturacion.e-dinky.test/api/v1/items/${itemCode}`, { 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": "Item encontrado", "status": "OK", "payload": { "code": "ABC-001", "description": "ITEM PRUEBAS", "rate": "12.33", "unit": "UNIDAD", "type": "PRODUCT", "allow_accounting": 1, "count_available": 10, "taxes": [ { "type_name": "IVA", "name": "15%", "percentaje_tax": "15.00", "type_tax_code": "2", "tax_code": "4" } ] }}
Filtros Avanzados
Section titled “Filtros Avanzados”Ambos endpoints soportan el sistema de filtros avanzados. Para más información, consulta la documentación de filtros.
Ejemplo con Filtros
Section titled “Ejemplo con Filtros”curl -X GET "https://dev-facturacion.e-dinky.test/api/v1/items" \ -H "Accept: application/json" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "filters": [ { "field": "type", "condition": "equals", "value": "PRODUCT" }, { "field": "rate", "condition": "greater_than", "value": 10 } ], "logic": "and" }'
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 | Item no encontrado (solo para búsqueda por código) |
500 | Error interno del servidor |
- La paginación es automática con 25 elementos por página por defecto
- Los filtros se pueden combinar para búsquedas más específicas
- El campo
count_available
solo aparece en items conallow_accounting = 1
- Los impuestos se muestran con su información completa incluyendo nombres y porcentajes