Obtener Cliente
Obtiene los detalles completos de un cliente específico por su ID.
Endpoint
GET https://api.lummy.io/v1/customers/{customerId}
| Entorno | URL |
|---|---|
| Producción | https://api.lummy.io/v1/customers/{customerId} |
| Sandbox | https://sandbox.lummy.io/v1/customers/{customerId} |
Request
Headers
Headers requeridos
{
"Authorization": string,requerido
↳Token JWT obtenido del endpoint de autenticación o API Key. Debe incluir el prefijo "Bearer " seguido del token para autenticación JWT.
↳Ejemplo:
"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." "x-organization-id": stringrequerido
↳Identificador único de la organización a la que pertenece el cliente. Debe ser un UUID válido de una organización a la que el usuario autenticado tenga acceso.
↳Formato: UUID v4
↳Ejemplo:
"550e8400-e29b-41d4-a716-446655440000"}
Path Parameters
Parámetros de ruta
{
"customerId": stringrequerido
↳Identificador único del cliente que se desea consultar. Debe ser un UUID válido de un cliente existente en la organización.
↳Formato: UUID v4
↳Ejemplo:
"550e8400-e29b-41d4-a716-446655440000"}
Response
200 OK
Cliente encontrado exitosamente.
Response Body
{
"requestId": string,requerido
↳Identificador único de la petición. Útil para trazabilidad y soporte técnico.
↳Formato: UUID
↳Ejemplo:
"req_abc123-def456-ghi789" "data": {requerido
↳Objeto con los datos completos del cliente.
"id": string,requerido
↳Identificador único del cliente en Lummy.
↳Formato: UUID v4
↳Ejemplo:
"550e8400-e29b-41d4-a716-446655440000" "rfc": string,requerido
↳Registro Federal de Contribuyentes del cliente.
↳Ejemplo:
"XEXX010101000" "legalName": string,requerido
↳Razón social o nombre completo del cliente tal como aparece en su Constancia de Situación Fiscal.
↳Ejemplo:
"Empresa Cliente S.A. de C.V." "fiscalRegime": string,requerido
↳Clave del régimen fiscal según el catálogo c_RegimenFiscal del SAT.
↳Ejemplo:
"601" "fiscalZipCode": string,requerido
↳Código postal del domicilio fiscal.
↳Ejemplo:
"06500" "email": string,requerido
↳Correo electrónico principal donde se envían los CFDIs.
↳Ejemplo:
"facturacion@cliente.com" "phone": string,opcional
↳Número de teléfono de contacto (si fue proporcionado).
↳Ejemplo:
"+525512345678" "createdAt": string,requerido
↳Fecha y hora de creación del registro.
↳Formato: ISO 8601
↳Ejemplo:
"2025-01-15T10:30:00.000Z" "updatedAt": stringrequerido
↳Fecha y hora de la última actualización.
↳Formato: ISO 8601
↳Ejemplo:
"2025-01-15T10:30:00.000Z" },
"timestamp": string,requerido
↳Marca de tiempo de la respuesta del servidor.
↳Formato: ISO 8601
↳Ejemplo:
"2025-01-15T10:30:00.000Z" "path": string,requerido
↳Ruta del endpoint invocado.
↳Ejemplo:
"/customers/550e8400-e29b-41d4-a716-446655440000" "method": stringrequerido
↳Método HTTP utilizado.
↳Ejemplo:
"GET"}
404 Not Found
El cliente especificado no existe en la organización.
{
"requestId": "abc123-def456",
"error": {
"message": "Cliente no encontrado",
"code": "CustomerNotFoundError",
"status": 404
},
"timestamp": "2025-01-15T10:30:00.000Z",
"path": "/customers/550e8400-e29b-41d4-a716-446655440000",
"method": "GET"
}
Ejemplos de Código
- cURL
- Node.js (TypeScript)
- Python
- PHP (Guzzle)
curl -X GET https://sandbox.lummy.io/customers/550e8400-e29b-41d4-a716-446655440000 \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "x-organization-id: ${LUMMY_ORG_ID}"
import axios from 'axios';
interface CustomerDetail {
id: string;
rfc: string;
legalName: string;
fiscalRegime: string;
fiscalZipCode: string;
email: string;
phone: string | null;
createdAt: string;
updatedAt: string;
}
async function obtenerCliente(customerId: string): Promise<CustomerDetail> {
const API_URL = `https://sandbox.lummy.io/customers/${customerId}`;
const response = await axios.get<CustomerDetail>(API_URL, {
headers: {
'Authorization': `Bearer ${process.env.ACCESS_TOKEN}`,
'x-organization-id': process.env.LUMMY_ORG_ID!,
},
});
return response.data;
}
obtenerCliente('550e8400-e29b-41d4-a716-446655440000');
import os
import requests
def obtener_cliente(customer_id):
api_url = f"https://sandbox.lummy.io/customers/{customer_id}"
headers = {
"Authorization": f"Bearer {os.getenv('ACCESS_TOKEN')}",
"x-organization-id": os.getenv("LUMMY_ORG_ID"),
}
response = requests.get(api_url, headers=headers)
response.raise_for_status()
return response.json()
if __name__ == "__main__":
cliente = obtener_cliente("550e8400-e29b-41d4-a716-446655440000")
print(cliente)
<?php
require 'vendor/autoload.php';
use GuzzleHttp\Client;
function obtenerCliente(string $customerId): array
{
$client = new Client([
'base_uri' => 'https://sandbox.lummy.io',
'headers' => [
'Authorization' => 'Bearer ' . getenv('ACCESS_TOKEN'),
'x-organization-id' => getenv('LUMMY_ORG_ID'),
],
]);
$response = $client->get("/customers/{$customerId}");
return json_decode($response->getBody(), true);
}
$cliente = obtenerCliente('550e8400-e29b-41d4-a716-446655440000');
print_r($cliente);