Comenzar
Regiones de API (EE. UU. y UE)
Conéctate a la región correcta de la API de Rhombus — URLs de endpoints de EE. UU. y la UE, claves de API vinculadas a la región, configuración de región en la CLI y solución de problemas entre regiones.
En esta página
- Una organización, una región
- Endpoints regionales
- ¿En qué región está tu organización?
- Llama a la API en tu región
- SDKs generados
- Rhombus CLI
- Conexiones OAuth y WebSocket
- Residencia de datos
- Solución de problemas
- 401 Could not find ApiKey — pero la key es correcta
- OAuth: "This application is not available for your organization"
- Próximos pasos
Esta página se tradujo automáticamente. Si encuentras errores o tienes sugerencias, escríbenos.
Una organización, una región
Rhombus opera dos regiones de producción independientes: EE. UU. y UE. Tu organización — sus usuarios, dispositivos, claves de API y datos — vive exactamente en una de ellas. La región determina a qué hostnames se conecta tu integración; todo lo demás es idéntico, incluidas las rutas de los endpoints, los encabezados de autenticación, los formatos de solicitud y respuesta, y los límites de tasa.
Las claves de API y los tokens federados están vinculados a la región. Una clave generada en la Consola de la UE solo funciona contra endpoints de la UE, y una clave de EE. UU. solo funciona contra endpoints de EE. UU. Un token federado solo funciona en la región donde se generó. No hay redirección entre regiones — consulta Solución de problemas más abajo.
Endpoints regionales
| Propósito | EE. UU. | UE |
|---|---|---|
| URL base de la API | https://api2.rhombussystems.com | https://api2.eu.rhombussystems.com |
| Media y streaming | https://media.rhombussystems.com | https://media.eu.rhombussystems.com |
| Consola de Rhombus | https://console.rhombussystems.com | https://console.eu.rhombussystems.com |
| Host de tokens OAuth | https://auth-web.rhombussystems.com | https://auth-web.eu.rhombussystems.com |
| WebSocket (STOMP) | wss://ws.rhombussystems.com:8443/ | wss://ws.eu.rhombussystems.com:8443/ |
| Especificación OpenAPI | /api/ | /api/ |
El patrón es consistente en toda la plataforma: el hostname de la UE inserta .eu. después del subdominio — api2.rhombussystems.com se convierte en api2.eu.rhombussystems.com.
¿En qué región está tu organización?
Revisa la barra de direcciones cuando hayas iniciado sesión en la Consola de Rhombus:
console.rhombussystems.com— tu organización está en la región de EE. UU.console.eu.rhombussystems.com— tu organización está en la región de la UE (la página de inicio de sesión también muestra la insignia EU).
Genera las claves de API en la consola de tu propia región en Configuración → Integraciones y recursos para desarrolladores → Tokens de API. Por ejemplo, las organizaciones de la UE usan console.eu.rhombussystems.com/settings/integrations/api-tokens. Las cuentas partner usan Configuración → Gestión de API.
Llama a la API en tu región
Define la URL base una sola vez y todos los ejemplos de código de esta documentación funcionan para cualquiera de las dos regiones — las rutas, los encabezados y los payloads nunca cambian.
# Organizaciones de EE. UU.
BASE_URL="https://api2.rhombussystems.com"
# Organizaciones de la UE
# BASE_URL="https://api2.eu.rhombussystems.com"
curl -X POST "$BASE_URL/api/org/getOrgV2" \
-H "x-auth-scheme: api-token" \
-H "x-auth-apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'import requests
# EE. UU.: "https://api2.rhombussystems.com"
# UE: "https://api2.eu.rhombussystems.com"
BASE_URL = "https://api2.rhombussystems.com"
response = requests.post(
f"{BASE_URL}/api/org/getOrgV2",
headers={
"x-auth-scheme": "api-token",
"x-auth-apikey": "YOUR_API_KEY",
"Content-Type": "application/json",
},
json={},
)
response.raise_for_status()
org = response.json()["org"]
print(org["uuid"], org["name"])// EE. UU.: "https://api2.rhombussystems.com"
// UE: "https://api2.eu.rhombussystems.com"
const BASE_URL = "https://api2.rhombussystems.com";
const response = await fetch(`${BASE_URL}/api/org/getOrgV2`, {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-auth-scheme": "api-token",
"x-auth-apikey": "YOUR_API_KEY",
},
body: JSON.stringify({}),
});
const { org } = await response.json();
console.log(org.uuid, org.name);Una llamada exitosa devuelve 200 OK con los detalles de tu organización en org (por ejemplo, org.uuid y org.name). Un 401 Unauthorized con errorCode INVALID_CREDENTIAL y un msg Could not find ApiKey[sha256:…] generalmente significa que la clave y la URL base pertenecen a regiones diferentes. Consulta Solución de problemas.
SDKs generados
Cada región sirve la especificación OpenAPI en la misma ruta (/api/openapi/public.json). La entrada servers de la especificación actualmente solo lista la URL base de EE. UU., así que cuando generes un cliente para una organización de la UE, sobrescribe la URL base explícitamente:
openapi-generator-cli generate \
-i https://api2.eu.rhombussystems.com/api/openapi/public.json \
-g python \
-o ./rhombus-python-client
# Luego apunta el cliente generado al host de la UE, p. ej.:
# configuration.host = "https://api2.eu.rhombussystems.com"Rhombus CLI
La Rhombus CLI tiene soporte de regiones integrado. rhombus login --region eu inicia sesión en la región de la UE y guarda la región en el perfil; sin --region, rhombus login usa la región del perfil. rhombus configure pregunta en qué región está tu organización con el prompt Region (us/eu) y deriva la URL del endpoint a partir de tu respuesta. Después, cada comando usa los hosts regionales correspondientes, incluidos los de inicio de sesión y de tokens y, en rhombus monitor, el host WebSocket de la UE.
También puedes apuntar un solo comando — o todo tu entorno — directamente al endpoint de la UE:
# Por comando
rhombus camera get-minimal-camera-state-list \
--endpoint-url https://api2.eu.rhombussystems.com
# Por sesión de shell
export RHOMBUS_ENDPOINT_URL=https://api2.eu.rhombussystems.com
rhombus camera get-minimal-camera-state-listConexiones OAuth y WebSocket
Los hostnames regionales aplican a toda la plataforma, no solo a la API REST:
- Inicia sesión con Rhombus (OAuth) — los tres hosts del flujo OAuth (consola,
auth-web,api2) cambian a sus equivalentes.eu.para las organizaciones de la UE. Las aplicaciones OAuth están vinculadas a la región igual que las claves de API: registra, autoriza e intercambia tokens todo en la misma región. - Eventos en tiempo real por WebSocket — las organizaciones de la UE se conectan a
wss://ws.eu.rhombussystems.com:8443/websocket. La autenticación y el protocolo STOMP son idénticos.
Residencia de datos
Las organizaciones aprovisionadas en la región de la UE están alojadas en la Unión Europea: su tráfico de API, almacenamiento de video y procesamiento en la nube permanecen dentro de la región.
Solución de problemas
401 Could not find ApiKey — pero la key es correcta
Una solicitud con una clave de la otra región falla con 401 Unauthorized:
{
"msg": "Could not find ApiKey[sha256:xxxxxxxx]",
"error": true,
"errorCode": "INVALID_CREDENTIAL",
"errorMsg": "The supplied credential is malformed or not recognized.",
"status": 401,
"timestamp": 1791158465584,
"txid": "yJ2kQw8LTaO1xX4hVd7mPA"
}Esta respuesta es idéntica tanto si la clave se eliminó como si simplemente pertenece a la otra región — el error no incluye ninguna pista sobre la región. Si estás seguro de que la clave es correcta, verifica en qué consola se generó (console. vs console.eu.) y asegúrate de que tu URL base coincida. Un msg Invalid api key (con el mismo errorCode) significa otra cosa: el valor no es una clave bien formada (un error al copiar y pegar o espacios en blanco). Si contactas con soporte, indica el txid (también en el encabezado de respuesta x-rhombus-txid).
Los tokens federados también están vinculados a la región: un token generado en los hosts de EE. UU. falla en los hosts de la UE, y viceversa. Genéralo a través del host de la API de la misma región que las cámaras que vas a transmitir.
OAuth: "This application is not available for your organization"
Los clientId de OAuth están vinculados a la región. Si tu aplicación se registró en una región y un usuario intenta autorizarla a través de la consola de la otra región, la pantalla de consentimiento muestra This application is not available for your organization. Asegúrate de que la llamada de registro, la URL de autorización y el intercambio de tokens apunten a la misma región que la organización del usuario que inicia sesión.
Próximos pasos
Navega los más de 1000 endpoints — cada ruta funciona de forma idéntica en ambas regiones.
Configura la CLI para tu región y explora la API desde tu terminal.
Transmite eventos en tiempo real desde el endpoint WebSocket de tu región.
Los mismos límites aplican en ambas regiones, y se aplican dentro de la región de tu organización.