Listar productos
GET
/api/v1/billing/productos
using System.Net.Http.Headers;var client = new HttpClient();var request = new HttpRequestMessage{ Method = HttpMethod.Get, RequestUri = new Uri("https://api.simplo.cl/api/v1/billing/productos?limit=20"), Headers = { { "X-Api-Key", "<X-Api-Key>" }, },};using (var response = await client.SendAsync(request)){ response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);}HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://api.simplo.cl/api/v1/billing/productos?limit=20")) .header("X-Api-Key", "<X-Api-Key>") .method("GET", HttpRequest.BodyPublishers.noBody()) .build();HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());System.out.println(response.body());const url = 'https://api.simplo.cl/api/v1/billing/productos?limit=20';const options = {method: 'GET', headers: {'X-Api-Key': '<X-Api-Key>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.simplo.cl/api/v1/billing/productos?limit=20' \ --header 'X-Api-Key: <X-Api-Key>'Listado de productos con paginación basada en cursor. Soporta filtro por categoría.
Autenticación
Sección titulada «Autenticación»Parámetros
Sección titulada «Parámetros»Parámetros de consulta
Sección titulada «Parámetros de consulta»categoria
string
Filtrar por categoría
cursor
string
Cursor de paginación retornado en next_cursor de la página anterior
limit
integer
Cantidad máxima de resultados por página
Respuestas
Sección titulada «Respuestas»Lista de productos
Media typeapplication/json
object
data
Array<object>
object
id
string format: uuid
codigo
string
nombre
string
descripcion
string
precio_unitario
integer format: int64
unidad
string
es_exento
boolean
categoria
string
created_at
string format: date-time
updated_at
string format: date-time
next_cursor
Cursor para la siguiente página
string
Example
{ "data": [ { "codigo": "PROD-001", "nombre": "Hora de consultoria TI", "precio_unitario": 50000, "unidad": "HR" } ]}Token o API key inválido o ausente
Media typeapplication/json
object
code
requerido
Código de error máquina-legible
string
message
requerido
Mensaje descriptivo del error. Este es el campo canónico para clientes nuevos.
string
error
Alias de compatibilidad de message mantenido hacia atrás.
string
details
Array<object>
object
field
requerido
Campo con error (dot notation para nested)
string
code
requerido
Código de validación
string
message
requerido
Mensaje descriptivo
string
action
Acción recomendada para el cliente
string
severity
Severidad opcional del error
string
context
Contexto estructurado opcional para debugging
object
key
additional properties
any
Example
{ "code": "VALIDATION_ERROR", "message": "Error de validacion en los campos enviados", "details": [ { "field": "receptor.rut", "code": "INVALID_RUT", "message": "RUT invalido: digito verificador no coincide" } ], "severity": "critical"}