Comercios
Listar Comercios
Obtener una lista paginada de comercios con filtros.
GET /api/commerces
Devuelve una lista paginada de comercios con filtros opcionales.
Auth: Requerida — permiso MANAGE_COMMERCES
Encabezados
| Encabezado | Requerido | Valor |
|---|---|---|
Authorization | Sí | Bearer <access_token> |
x-tenant-id | Sí | UUID del tenant |
Parámetros de Consulta
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
page | number | 1 | Número de página |
per_page | number | 25 | Elementos por página (máx. 100) |
search | string | - | Buscar por nombre o ID externo |
external_id | string | - | Filtrar por ID externo |
global_external_id | string | - | Filtrar por ID externo global |
is_active | boolean | - | Filtrar por estado activo |
is_placeholder | boolean | - | Filtrar por estado placeholder |
Ejemplo
curl "https://api.reten.ai/api/commerces?page=1&limit=10&search=main" \
-H "Authorization: Bearer <token>" \
-H "x-tenant-id: <tenant-id>"const params = new URLSearchParams({ page: "1", limit: "10", search: "main" });
const response = await fetch(`https://api.reten.ai/api/commerces?${params}`, {
headers: {
"Authorization": "Bearer <token>",
"x-tenant-id": "<tenant-id>",
},
});
const data = await response.json();import requests
response = requests.get(
"https://api.reten.ai/api/commerces",
headers={
"Authorization": "Bearer <token>",
"x-tenant-id": "<tenant-id>",
},
params={"page": 1, "limit": 10, "search": "main"},
)
data = response.json()Respuesta 200 OK
{
"data": [
{
"id": "880e8400-e29b-41d4-a716-446655440000",
"name": "Main Street Store",
"externalId": "store-001",
"taxId": "12345678-9",
"isActive": true,
"isPlaceholder": false,
"metadata": {},
"createdAt": "2025-01-15T10:30:00.000Z",
"updatedAt": "2025-01-15T10:30:00.000Z"
}
],
"meta": {
"page": 1,
"limit": 10,
"total": 1,
"totalPages": 1
}
}