Guía de autenticación de la API
Guía de autenticación de la API
Aprende a autenticarte de forma segura con la API de atoship mediante claves de API.
Descripción general
Método de autenticación: atoship utiliza autenticación por clave de API en todas las solicitudes. Cada solicitud debe incluir tu clave de API en el encabezado.
Cómo obtener tu clave de API
Paso a paso:
- Inicia sesión en atoship
- Ve a Configuración → API
- Haz clic en «Generar clave de API»
- Cópiala y guárdala en un lugar seguro
- La clave se muestra una sola vez
Tipos de clave de API
Niveles de clave:
| Tipo | Acceso | Caso de uso |
|---|---|---|
| Live | Producción | Envíos reales |
| Test | Sandbox | Desarrollo |
Encabezado de autenticación
Encabezado obligatorio:
Authorization: Bearer YOUR_API_KEY
Ejemplo de solicitud:
curl -X GET https://api.atoship.com/v1/rates \
-H "Authorization: Bearer sk_live_abc123..." \
-H "Content-Type: application/json"
Formato de la clave de API
Estructura de la clave:
sk_live_xxxxxxxxxxxxxxxxxxxx (clave Live)
sk_test_xxxxxxxxxxxxxxxxxxxx (clave Test)
Ejemplos de código
JavaScript:
const response = await fetch('https://api.atoship.com/v1/rates', {
method: 'GET',
headers: {
'Authorization': 'Bearer sk_live_abc123...',
'Content-Type': 'application/json'
}
});
Python:
import requests
headers = {
'Authorization': 'Bearer sk_live_abc123...',
'Content-Type': 'application/json'
}
response = requests.get(
'https://api.atoship.com/v1/rates',
headers=headers
)
PHP:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.atoship.com/v1/rates');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer sk_live_abc123...',
'Content-Type: application/json'
]);
$response = curl_exec($ch);
Buenas prácticas de seguridad
Protege tus claves:
- Nunca las expongas en el código del cliente
- Usa variables de entorno
- Rota las claves periódicamente
- Usa claves Test para el desarrollo
- Monitorea el uso de la API
Variables de entorno
Almacenamiento seguro:
# archivo .env (¡nunca lo subas al repositorio!)
ATOSHIP_API_KEY=sk_live_abc123...
Acceso desde el código:
const apiKey = process.env.ATOSHIP_API_KEY;
Rotación de claves
Cuándo rotar:
- Sospecha de que la clave se vio comprometida
- Salida de un empleado
- Política de seguridad periódica
- Después de una auditoría de seguridad
Cómo rotar:
- Genera una clave nueva
- Actualiza tus aplicaciones
- Prueba con la nueva clave
- Revoca la clave anterior
Límite de velocidad
Límites predeterminados:
| Plan | Solicitudes/min |
|---|---|
| Starter | 60 |
| Professional | 300 |
| Enterprise | Personalizado |
Respuestas de error
Errores de autenticación:
{
"error": {
"code": "unauthorized",
"message": "Invalid API key provided",
"status": 401
}
}
Errores comunes:
| Estado | Código | Significado |
|---|---|---|
| 401 | unauthorized | Clave no válida |
| 403 | forbidden | Sin permiso |
| 429 | rate_limited | Demasiadas solicitudes |
Varias claves de API
Casos de uso:
- Distintos entornos
- Distintos servicios
- Miembros del equipo
- Integradores externos
Permisos de las claves
Control de alcance:
- Acceso completo (predeterminado)
- Solo lectura
- Endpoints específicos
- Alcances personalizados
Restricciones de IP
Seguridad opcional:
- Lista blanca de IP
- Bloqueo de orígenes desconocidos
- Auditoría de registros de acceso
Monitoreo del uso
Da seguimiento a la actividad:
- Número de llamadas a la API
- Uso por endpoint
- Tasas de error
- Tiempos de respuesta
Revocación de claves
Cuando sea necesario:
- Configuración → API
- Localiza la clave
- Haz clic en «Revocar»
- Confirma la acción
Solución de problemas
Problemas de autenticación:
- Verifica el formato de la clave
- Revisa la ortografía del encabezado
- Asegúrate de incluir el prefijo Bearer
- Comprueba que la clave esté activa
- Revisa los límites de velocidad
Modo de prueba
Configuración para desarrollo:
- Usa una clave de API Test
- Sin cargos reales
- Respuestas simuladas
- Puedes experimentar con seguridad