콘텐츠로 이동

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

섹션 제목: “📌 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

Los puntos finales de control de salud no requieren encabezados de autenticación.

Terminal window
curl https://api.ankk.app/v1/health
{
"service": "api-public",
"status": "ok"
}

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:

Terminal window
export ANKK_API_KEY='spk_live_xxxxxxxxxxxxxxxx'

Verifique el estado de su marca y liste las cuentas de SNS conectadas para obtener los connection_id de destino.

Terminal window
# 1. Inspect brand details
curl https://api.ankk.app/v1/brand \
-H "Authorization: Bearer $ANKK_API_KEY"
# 2. List connected SNS accounts
curl https://api.ankk.app/v1/brand/connections \
-H "Authorization: Bearer $ANKK_API_KEY"
const API_KEY = process.env.ANKK_API_KEY!;
const BASE_URL = 'https://api.ankk.app/v1';
const res = await fetch(`${BASE_URL}/brand/connections`, {
headers: {
'Authorization': `Bearer ${API_KEY}`,
},
});
const { items: connections } = await res.json();
console.log('Connected accounts:', connections);
const targetConnectionId = connections[0]?.id;
import os
import 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)
connections = response.json().get('items', [])
print(f'Connected accounts: {connections}')
target_connection_id = connections[0]['id']

Envíe una solicitud de publicación con una idempotency_key generada por el cliente para evitar ejecuciones duplicadas.

Terminal window
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! 🚀"
}'
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: `post-${Date.now()}`,
text: 'Hello World from TypeScript! 🚀',
}),
});
const result = await publishRes.json();
console.log('Publish accepted (HTTP 202):', result);
import time
payload = {
'connection_id': target_connection_id,
'idempotency_key': f'post-{int(time.time())}',
'text': 'Hello World from Python! 🚀',
}
publish_res = requests.post(
f'{BASE_URL}/brand/contents',
headers={**headers, 'Content-Type': 'application/json'},
json=payload,
)
print('Publish outcome:', publish_res.json())

Una solicitud exitosa devuelve HTTP 202 Accepted y un content_id. Verifique el estado de entrega a través de:

Terminal window
curl https://api.ankk.app/v1/brand/contents/<content_id> \
-H "Authorization: Bearer $ANKK_API_KEY"