Saltar al contenido principal

Listar Sucursales

Obtén la lista de sucursales de una organización específica.

Endpoint

GET https://api.lummy.io/v1/branches
EntornoURL
Producciónhttps://api.lummy.io/v1/branches
Sandboxhttps://sandbox.lummy.io/v1/branches
Header Requerido

Este endpoint requiere el header x-organization-id para especificar de qué organización quieres obtener las sucursales.

Headers

{
"Authorization": string,requerido
Token de autenticación en formato Bearer. Se obtiene del endpoint de autenticación y debe incluirse en todas las peticiones para verificar la identidad del usuario.
"x-organization-id": stringrequerido
Identificador único de la organización. Debe ser un UUID válido de una organización a la que el usuario autenticado tenga acceso.
Formato: uuid
}

Query Parameters

Todos los parámetros son opcionales y permiten filtrar, paginar y ordenar los resultados.

{
"search": string,opcional
Término de búsqueda para filtrar sucursales por nombre. Se realiza una búsqueda parcial (contiene).
"isMain": boolean,opcional
Filtra las sucursales por su condición de matriz. Cuando es true retorna solo la sucursal principal, false retorna solo las secundarias.
"page": number,opcional
Número de página para la paginación. La numeración comienza en 1. Se usa en conjunto con limit para navegar por los resultados.
Valor mínimo: 1 · Valor por defecto: 1
"limit": number,opcional
Cantidad máxima de sucursales a retornar por página. El valor máximo permitido es 100.
Rango: 1 - 100 · Valor por defecto: 10
"sortBy": string,opcional
Campo por el cual ordenar los resultados. Puede ser por nombre de la sucursal o fecha de creación.
Valor por defecto: "createdAt"
Valores permitidos: "name""createdAt"
"sortOrder": stringopcional
Orden de clasificación de los resultados. "ASC" para ascendente (A-Z, más antiguo primero), "DESC" para descendente (Z-A, más reciente primero).
Valor por defecto: "DESC"
Valores permitidos: "ASC""DESC"
}

Ejemplos de Código

# Listar todas las sucursales
curl -X GET "https://sandbox.lummy.io/branches" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "x-organization-id: ${LUMMY_ORG_ID}"

# Con paginación y búsqueda
curl -X GET "https://sandbox.lummy.io/branches?search=norte&page=1&limit=20" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "x-organization-id: ${LUMMY_ORG_ID}"

# Filtrar solo la sucursal principal
curl -X GET "https://sandbox.lummy.io/branches?isMain=true" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "x-organization-id: ${LUMMY_ORG_ID}"

Respuestas

Todas las respuestas siguen el formato estándar StandardResponse. Para endpoints paginados se usa PaginatedResponse.

200 OK

Lista de sucursales obtenida exitosamente.

{
"type": ,opcional
"properties": opcional
}
{
"requestId": "abc123-def456",
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440001",
"name": "Matriz",
"zipCode": "64000",
"isMain": true,
"isActive": true,
"createdAt": "2025-01-15T10:30:00.000Z",
"updatedAt": "2025-01-15T10:30:00.000Z"
},
{
"id": "550e8400-e29b-41d4-a716-446655440002",
"name": "Sucursal Norte",
"zipCode": "64100",
"isMain": false,
"isActive": true,
"createdAt": "2025-01-16T14:20:00.000Z",
"updatedAt": "2025-01-16T14:20:00.000Z"
}
],
"total": 2,
"page": 1,
"limit": 10,
"totalPages": 1,
"timestamp": "2025-01-15T10:30:00.000Z",
"path": "/branches",
"method": "GET"
}

400 Bad Request

Falta el header x-organization-id.

{
"requestId": "abc123-def456",
"error": {
"message": "Header requerido: x-organization-id. El contexto organizacional es obligatorio.",
"code": "ValidationError",
"status": 400
},
"timestamp": "2025-01-15T10:30:00.000Z",
"path": "/branches",
"method": "GET"
}

401 Unauthorized

Token inválido o expirado.

{
"requestId": "abc123-def456",
"error": {
"message": "Unauthorized",
"code": "UnauthorizedException",
"status": 401
},
"timestamp": "2025-01-15T10:30:00.000Z",
"path": "/branches",
"method": "GET"
}

403 Forbidden

No tienes acceso a la organización especificada.

{
"requestId": "abc123-def456",
"error": {
"message": "Usuario no autorizado para la organización: 550e8400-e29b-41d4-a716-446655440000.",
"code": "ForbiddenException",
"status": 403
},
"timestamp": "2025-01-15T10:30:00.000Z",
"path": "/branches",
"method": "GET"
}

Próximos Pasos