Skip to main content

Autenticación

Este documento proporciona instrucciones detalladas sobre cómo autenticarse con la API de Tianji, incluyendo la obtención, uso y gestión de claves de API.

Método de Autenticación​

La API de Tianji utiliza autenticación Bearer Token. Debes incluir tu clave de API en el encabezado HTTP de cada solicitud a la API.

Formato del Encabezado HTTP​

Authorization: Bearer <TU_CLAVE_API>

Obtención de Claves de API​

  1. Inicia sesión en tu instancia de Tianji
  2. Haz clic en tu avatar en la esquina superior derecha
  3. Encuentra la sección Claves de API
  4. Haz clic en el botón + para crear una nueva clave de API
  5. Nombra tu clave de API y guárdala

Gestión de Claves de API​

Ver Claves Existentes​

En la sección Claves de API, puedes ver:

  • Nombre/descripción de la clave de API
  • Fecha de creación
  • Última fecha de uso
  • Estadísticas de conteo de uso

Eliminar Claves de API​

Si necesitas revocar una clave de API:

  1. Encuentra la clave de API que deseas eliminar
  2. Haz clic en el botón Eliminar
  3. Confirma la operación de eliminación
Nota

Después de eliminar una clave de API, todas las aplicaciones que utilicen esa clave ya no podrán acceder a la API.

Uso de Claves de API​

Ejemplo con cURL​

curl -X GET "https://your-tianji-domain.com/open/global/config" \
-H "Authorization: Bearer <tu_clave_api_aquí>" \
-H "Content-Type: application/json"

Ejemplo en JavaScript/Node.js​

const apiKey = '<tu_clave_api_aquí>';
const baseUrl = 'https://your-tianji-domain.com/open';

const headers = {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
};

// Usando fetch
const response = await fetch(`${baseUrl}/global/config`, {
method: 'GET',
headers: headers
});

// Usando axios
const axios = require('axios');
const response = await axios.get(`${baseUrl}/global/config`, {
headers: headers
});

Ejemplo en Python​

import requests

api_key = '<tu_clave_api_aquí>'
base_url = 'https://your-tianji-domain.com/open'

headers = {
'Authorization': f'Bearer {api_key}',
'Content-Type': 'application/json'
}

# Usando la biblioteca requests
response = requests.get(f'{base_url}/global/config', headers=headers)
data = response.json()

Ejemplo en PHP​

<?php
$apiKey = '<tu_clave_api_aquí>';
$baseUrl = 'https://your-tianji-domain.com/open';

$headers = [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json'
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $baseUrl . '/global/config');
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
?>

Permisos y Alcance​

Permisos de Clave de API​

Las claves de API heredan todos los permisos de su creador, incluyendo:

  • Acceso a todos los datos en los espacios de trabajo del usuario
  • Ejecutar todas las operaciones para las que el usuario tiene permiso
  • Gestionar recursos creados por ese usuario

Acceso a Espacios de Trabajo​

Las claves de API solo pueden acceder a los espacios de trabajo a los que pertenece el usuario. Si necesitas acceder a múltiples espacios de trabajo, asegúrate de que tu cuenta de usuario tenga permisos adecuados para esos espacios.

Manejo de Errores​

Errores Comunes de Autenticación​

401 No Autorizado​

{
"error": {
"code": "UNAUTHORIZED",
"message": "Authorization not provided"
}
}

Causas:

  • No se proporcionó un encabezado de autorización
  • Formato incorrecto de clave de API

403 Prohibido​

{
"error": {
"code": "FORBIDDEN",
"message": "Insufficient access"
}
}

Causas:

  • Clave de API inválida o eliminada
  • El usuario no tiene permiso para acceder al recurso solicitado

Depuración de Problemas de Autenticación​

  1. Verificar formato de la clave de API: Asegúrate de utilizar el formato Bearer token_aquí
  2. Verificar validez de la clave: Confirma que la clave aún existe en la interfaz de Tianji
  3. Verificar permisos: Asegúrate de que la cuenta de usuario tenga permiso para acceder al recurso objetivo
  4. Probar puntos finales simples: Comienza probando puntos finales públicos como /global/config