curl --request GET \
--url https://api.raul.ugps.io/api/v1/client/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.raul.ugps.io/api/v1/client/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.raul.ugps.io/api/v1/client/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.raul.ugps.io/api/v1/client/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.raul.ugps.io/api/v1/client/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.raul.ugps.io/api/v1/client/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.raul.ugps.io/api/v1/client/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"client_id": "<string>",
"client_name": "<string>",
"fantasy_name": "<string>",
"rut": "<string>",
"classification": 123,
"platform_usage_frequency": 123,
"usage_preference": 123,
"address": "<string>",
"city_id": "<string>",
"integration": true,
"id_navixy": "<string>",
"id_wialon": "<string>",
"atlas_client_id": "<string>",
"rubro_id": 123,
"rubro_name": "<string>",
"giro": "<string>",
"type_of_contract_id": "<string>",
"type_of_contract_name": "<string>",
"base_plan_id": 123,
"base_plan_name": "<string>",
"special_prices": "<string>",
"email": "<string>",
"phone": "<string>",
"logo_url": "<string>",
"linkedin_url": "<string>",
"linkedin_summary": "<string>",
"contact_list": [
{
"contact_id": "<string>",
"contact_name": "<string>",
"phone": "<string>",
"email": "<string>",
"linkedin_url": "<string>",
"linkedin_summary": "<string>",
"rol": "<string>",
"role_contact_name": "<string>",
"position": "<string>",
"functional_roles": [
{}
]
}
],
"gps_count": 123,
"id_father": "<string>",
"city_name": "<string>",
"region_name": "<string>",
"seller_id": "<string>",
"seller_name": "<string>",
"payment_terms": 123,
"dte_type": "<string>",
"dte_casilla_email": "<string>",
"factura": true,
"orden_compra": true,
"requires_hes": true,
"invoice_description_template": "<string>",
"consolidate_billing_groups": true
}Obtener cliente por ID
Retorna el detalle completo de un cliente, incluyendo contactos y campos comerciales normalizados al formato esperado por el frontend legacy.
curl --request GET \
--url https://api.raul.ugps.io/api/v1/client/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.raul.ugps.io/api/v1/client/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.raul.ugps.io/api/v1/client/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.raul.ugps.io/api/v1/client/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.raul.ugps.io/api/v1/client/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.raul.ugps.io/api/v1/client/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.raul.ugps.io/api/v1/client/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"client_id": "<string>",
"client_name": "<string>",
"fantasy_name": "<string>",
"rut": "<string>",
"classification": 123,
"platform_usage_frequency": 123,
"usage_preference": 123,
"address": "<string>",
"city_id": "<string>",
"integration": true,
"id_navixy": "<string>",
"id_wialon": "<string>",
"atlas_client_id": "<string>",
"rubro_id": 123,
"rubro_name": "<string>",
"giro": "<string>",
"type_of_contract_id": "<string>",
"type_of_contract_name": "<string>",
"base_plan_id": 123,
"base_plan_name": "<string>",
"special_prices": "<string>",
"email": "<string>",
"phone": "<string>",
"logo_url": "<string>",
"linkedin_url": "<string>",
"linkedin_summary": "<string>",
"contact_list": [
{
"contact_id": "<string>",
"contact_name": "<string>",
"phone": "<string>",
"email": "<string>",
"linkedin_url": "<string>",
"linkedin_summary": "<string>",
"rol": "<string>",
"role_contact_name": "<string>",
"position": "<string>",
"functional_roles": [
{}
]
}
],
"gps_count": 123,
"id_father": "<string>",
"city_name": "<string>",
"region_name": "<string>",
"seller_id": "<string>",
"seller_name": "<string>",
"payment_terms": 123,
"dte_type": "<string>",
"dte_casilla_email": "<string>",
"factura": true,
"orden_compra": true,
"requires_hes": true,
"invoice_description_template": "<string>",
"consolidate_billing_groups": true
}Authorizations
Token de sesión Better Auth para rutas de backoffice; las rutas de portal usan su token propio.
Path Parameters
ID del cliente (UUID)
Response
La sesión legacy recibe el detalle completo snake_case; una llamada MCP delegada recibe sólo la proyección curada.
- Option 1
- Option 2
ID del cliente
Nombre legal del cliente
Nombre de fantasía del cliente
RUT formateado del cliente
Clasificación del cliente
Frecuencia de uso de plataforma
Preferencia de uso
Dirección comercial
ID de la ciudad
Integración activa
ID de Navixy
ID de Wialon
Id del cliente de Atlas vinculado (ObjectId)
ID del rubro
Nombre del rubro
Giro comercial
ID del tipo de contrato
Nombre del tipo de contrato
ID del plan base
Nombre del plan base
Precios especiales
Correo comercial
Teléfono comercial
URL del logo del cliente
URL de LinkedIn del cliente
Resumen de LinkedIn del cliente
Contactos legacy del cliente
Show child attributes
Show child attributes
Cantidad de GPS activos
ID del cliente padre
Nombre de la ciudad
Nombre de la región
ID del vendedor
Nombre del vendedor
Días de plazo de pago
Tipo de documento tributario
Casilla DTE del cliente
Indica si factura
Indica si requiere orden de compra
Indica si requiere HES
Plantilla de descripción de factura
Indica si consolida grupos de facturación