Inicio rápido de la API
La API pública de ANKK es una API RESTful que permite la gestión programática de sus operaciones de redes sociales multicanal utilizando una sola clave de API con alcance de marca (spk_...).
📌 Descripción general de los puntos finales
Section titled “📌 Descripción general de los puntos finales”- URL base:
https://api.ankk.app - Swagger / Documentación interactiva:
https://api.ankk.app/v1/docs - Especificación JSON de OpenAPI:
https://api.ankk.app/v1/openapi.json
1. Verificar la salud del servicio
Section titled “1. Verificar la salud del servicio”Los puntos finales de control de salud no requieren encabezados de autenticación.
curl https://api.ankk.app/v1/health{ "service": "api-public", "status": "ok"}2. Obtener y exportar su clave de API
Section titled “2. Obtener y exportar su clave de API”En la aplicación web (https://app.ankk.app), navegue a Configuración de la marca → Claves de API para generar una clave y luego expórtela:
export ANKK_API_KEY='spk_live_xxxxxxxxxxxxxxxx'3. Recuperar marca y conexiones de SNS
Section titled “3. Recuperar marca y conexiones de SNS”Verifique el estado de su marca y liste las cuentas de SNS conectadas para obtener los connection_id de destino.
# 1. Inspect brand detailscurl https://api.ankk.app/v1/brand \ -H "Authorization: Bearer $ANKK_API_KEY"
# 2. List connected SNS accountscurl https://api.ankk.app/v1/brand/connections \ -H "Authorization: Bearer $ANKK_API_KEY"TypeScript / JavaScript
Section titled “TypeScript / JavaScript”const API_KEY = process.env.ANKK_API_KEY;if (!API_KEY) throw new Error('Set ANKK_API_KEY');const BASE_URL = 'https://api.ankk.app/v1';
const res = await fetch(`${BASE_URL}/brand/connections`, { headers: { Authorization: `Bearer ${API_KEY}` }});if (!res.ok) throw new Error(`Connections request failed: ${res.status}`);const { items: connections } = await res.json();console.log('Connected accounts:', connections);const targetConnectionId = connections[0]?.connection_id;if (!targetConnectionId) throw new Error('Connect an SNS account first');Python
Section titled “Python”import osimport requests
API_KEY = os.environ['ANKK_API_KEY']BASE_URL = 'https://api.ankk.app/v1'
headers = {'Authorization': f'Bearer {API_KEY}'}
response = requests.get(f'{BASE_URL}/brand/connections', headers=headers)response.raise_for_status()connections = response.json().get('items', [])print(f'Connected accounts: {connections}')target_connection_id = connections[0]['connection_id'] if connections else Noneif not target_connection_id: raise RuntimeError('Connect an SNS account first')4. Publique su primer contenido
Section titled “4. Publique su primer contenido”Envíe una solicitud de publicación con una idempotency_key generada por el cliente para evitar ejecuciones duplicadas.
curl -X POST "https://api.ankk.app/v1/brand/contents" \ -H "Authorization: Bearer $ANKK_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "connection_id": "conn_01jm8x9k2example", "idempotency_key": "my-first-post-001", "text": "Hello World from ANKK Public API! 🚀" }'TypeScript / JavaScript
Section titled “TypeScript / JavaScript”const publishRes = await fetch(`${BASE_URL}/brand/contents`, { method: 'POST', headers: { Authorization: `Bearer ${API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ connection_id: targetConnectionId, idempotency_key: 'my-first-post-001', text: 'Hello World from TypeScript! 🚀' })});
if (publishRes.status !== 202) throw new Error(`Publish request failed: ${publishRes.status}`);const result = await publishRes.json();console.log('Publish accepted (HTTP 202):', result);Python
Section titled “Python”payload = { 'connection_id': target_connection_id, 'idempotency_key': 'my-first-post-001', 'text': 'Hello World from Python! 🚀',}
publish_res = requests.post( f'{BASE_URL}/brand/contents', headers={**headers, 'Content-Type': 'application/json'}, json=payload,)publish_res.raise_for_status()print('Publish outcome:', publish_res.json())5. Verificar el estado de la publicación
Section titled “5. Verificar el estado de la publicación”Una solicitud exitosa devuelve HTTP 202 Accepted y un content_id. Verifique el estado de entrega a través de:
curl "https://api.ankk.app/v1/brand/contents/$CONTENT_ID" \ -H "Authorization: Bearer $ANKK_API_KEY"