Crear cliente
using System.Net.Http.Headers;var client = new HttpClient();var request = new HttpRequestMessage{ Method = HttpMethod.Post, RequestUri = new Uri("https://api.simplo.cl/api/v1/billing/clientes"), Headers = { { "X-Api-Key", "<X-Api-Key>" }, }, Content = new StringContent("{ \"rut\": \"76543210-K\", \"razon_social\": \"Empresa Ejemplo SpA\", \"giro\": \"Desarrollo de software\", \"direccion\": \"Av. Providencia 1234\", \"comuna\": \"Providencia\", \"ciudad\": \"Santiago\", \"email\": \"facturacion@ejemplo.cl\" }") { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } }};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/clientes")) .header("X-Api-Key", "<X-Api-Key>") .header("Content-Type", "application/json") .method("POST", HttpRequest.BodyPublishers.ofString("{ \"rut\": \"76543210-K\", \"razon_social\": \"Empresa Ejemplo SpA\", \"giro\": \"Desarrollo de software\", \"direccion\": \"Av. Providencia 1234\", \"comuna\": \"Providencia\", \"ciudad\": \"Santiago\", \"email\": \"facturacion@ejemplo.cl\" }")) .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/clientes';const options = { method: 'POST', headers: {'X-Api-Key': '<X-Api-Key>', 'Content-Type': 'application/json'}, body: '{"rut":"76543210-K","razon_social":"Empresa Ejemplo SpA","giro":"Desarrollo de software","direccion":"Av. Providencia 1234","comuna":"Providencia","ciudad":"Santiago","email":"facturacion@ejemplo.cl"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.simplo.cl/api/v1/billing/clientes \ --header 'Content-Type: application/json' \ --header 'X-Api-Key: <X-Api-Key>' \ --data '{ "rut": "76543210-K", "razon_social": "Empresa Ejemplo SpA", "giro": "Desarrollo de software", "direccion": "Av. Providencia 1234", "comuna": "Providencia", "ciudad": "Santiago", "email": "facturacion@ejemplo.cl" }'Crea un cliente (receptor frecuente) en el catálogo de la empresa. El RUT debe ser valido y único dentro de la empresa.
Beta privada: las escrituras vía API key están en beta privada (solicitar acceso: hola@simplo.cl); las API keys hoy operan en modo lectura.
Autenticación
Sección titulada «Autenticación»Cuerpo de la peticiónrequerido
Sección titulada «Cuerpo de la peticiónrequerido»object
RUT del cliente con dígito verificador
Example
{ "rut": "76543210-K", "razon_social": "Empresa Ejemplo SpA", "giro": "Desarrollo de software", "direccion": "Av. Providencia 1234", "comuna": "Providencia", "ciudad": "Santiago", "email": "facturacion@ejemplo.cl"}Respuestas
Sección titulada «Respuestas»Cliente creado
object
Example
{ "rut": "76543210-K", "razon_social": "Empresa Ejemplo SpA"}Datos inválidos (RUT inválido, razon_social vacía)
object
Código de error máquina-legible
Mensaje descriptivo del error. Este es el campo canónico para clientes nuevos.
Alias de compatibilidad de message mantenido hacia atrás.
object
Campo con error (dot notation para nested)
Código de validación
Mensaje descriptivo
Acción recomendada para el cliente
Severidad opcional del error
Contexto estructurado opcional para debugging
object
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"}Token o API key inválido o ausente
object
Código de error máquina-legible
Mensaje descriptivo del error. Este es el campo canónico para clientes nuevos.
Alias de compatibilidad de message mantenido hacia atrás.
object
Campo con error (dot notation para nested)
Código de validación
Mensaje descriptivo
Acción recomendada para el cliente
Severidad opcional del error
Contexto estructurado opcional para debugging
object
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"}Cliente con este RUT ya existe para la empresa
object
Código de error máquina-legible
Mensaje descriptivo del error. Este es el campo canónico para clientes nuevos.
Alias de compatibilidad de message mantenido hacia atrás.
object
Campo con error (dot notation para nested)
Código de validación
Mensaje descriptivo
Acción recomendada para el cliente
Severidad opcional del error
Contexto estructurado opcional para debugging
object
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"}