API de conteúdos
A API de conteúdos fornece endpoints para criar, agendar, consultar e cancelar tarefas de publicação, além de fazer upload de mídia.
📌 Endpoints
Seção intitulada “📌 Endpoints”| Método | Caminho | Descrição | Escopo Necessário |
|---|---|---|---|
POST | /v1/brand/contents/uploads | Gera URL PUT pré-assinada para uploads de imagens e vídeos | publishing:create ou * |
POST | /v1/brand/contents | Envia postagem imediata ou agendada (202 Accepted) | publishing:create ou * |
GET | /v1/brand/contents | Lista os conteúdos da marca com paginação e filtros de status | publishing:read ou * |
GET | /v1/brand/contents/{content_id} | Recupera detalhes do conteúdo e o resultado do trabalho de publicação | publishing:read ou * |
DELETE | /v1/brand/contents/{content_id}/cancel | Cancela uma postagem agendada antes do início do processamento | publishing:delete ou * |
1. URL Pré-assinada para Upload de Mídia (POST /v1/brand/contents/uploads)
Seção intitulada “1. URL Pré-assinada para Upload de Mídia (POST /v1/brand/contents/uploads)”Para anexar mídia a postagens, solicite uma URL de upload pré-assinada e faça o upload do binário diretamente para o armazenamento S3/R2 via HTTP PUT.
Formatos de Mídia Suportados
Seção intitulada “Formatos de Mídia Suportados”- Imagens (Máx. 20MB, expiração da URL em 300s):
image/jpeg,image/png,image/webp,image/gif - Vídeos (Máx. 500MB, expiração da URL em 600s):
video/mp4,video/quicktime(.mov),video/webm
Exemplo de Requisição
Seção intitulada “Exemplo de Requisição”curl -X POST "https://api.ankk.app/v1/brand/contents/uploads" \ -H "Authorization: Bearer spk_live_xxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "filename": "launch-banner.png", "content_type": "image/png", "size": 1420500 }'Exemplo de Resposta (200 OK)
Seção intitulada “Exemplo de Resposta (200 OK)”{ "upload_url": "https://storage.ankk.app/sns-posts/original/brand_.../launch-banner.png?X-Amz-Signature=...", "asset_ref": "https://cdn.ankk.app/sns-posts/original/brand_.../launch-banner.png", "method": "PUT", "object_key": "sns-posts/original/brand_.../launch-banner.png", "content_type": "image/png", "size": 1420500, "expires_in_seconds": 300}Upload de Binário via PUT
Seção intitulada “Upload de Binário via PUT”curl -X PUT "<upload_url>" \ -H "Content-Type: image/png" \ --data-binary "@/path/to/launch-banner.png"2. Publicar Conteúdo (POST /v1/brand/contents)
Seção intitulada “2. Publicar Conteúdo (POST /v1/brand/contents)”Envie o texto junto com o asset_ref carregado para criar um trabalho de publicação.
Campos do Corpo da Requisição
Seção intitulada “Campos do Corpo da Requisição”| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
connection_id | string | Obrigatório | ID da conexão SNS de destino (API de conexões) |
idempotency_key | string | Obrigatório | Chave exclusiva gerada pelo cliente para evitar envios duplicados |
text | string | Opcional | Texto do corpo da postagem |
media | array | Opcional | Matriz de objetos de mídia com url ou asset_ref |
scheduled_for | string | Opcional | Timestamp ISO 8601 para agendamento. Omita para publicação imediata |
thread_posts | array | Opcional | Postagens adicionais para encadeamento de conversa no Threads |
provider_settings | object | Opcional | Configurações específicas da plataforma (ex: categoria do YouTube) |
Exemplo de Requisição (Postagem Imediata)
Seção intitulada “Exemplo de Requisição (Postagem Imediata)”curl -X POST "https://api.ankk.app/v1/brand/contents" \ -H "Authorization: Bearer spk_live_xxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "connection_id": "conn_01jm8x9k2example", "idempotency_key": "launch-2026-001", "text": "Excited to launch our new product today! 🚀\nhttps://ankk.app", "media": [ { "url": "https://cdn.ankk.app/sns-posts/original/brand_.../launch-banner.png" } ] }'Exemplo de Resposta (202 Accepted)
Seção intitulada “Exemplo de Resposta (202 Accepted)”{ "content_id": "content_01jm8za2example", "status": "scheduled", "publish_job_id": "job_01jm8za2jobexample", "connection_id": "conn_01jm8x9k2example", "idempotency_key": "launch-2026-001"}3. Listar e Inspecionar Conteúdo
Seção intitulada “3. Listar e Inspecionar Conteúdo”Listar Conteúdo (GET /v1/brand/contents)
Seção intitulada “Listar Conteúdo (GET /v1/brand/contents)”curl -X GET "https://api.ankk.app/v1/brand/contents?status=published&limit=20" \ -H "Authorization: Bearer spk_live_xxxxxxxx"Obter Detalhes do Conteúdo (GET /v1/brand/contents/{content_id})
Seção intitulada “Obter Detalhes do Conteúdo (GET /v1/brand/contents/{content_id})”curl -X GET "https://api.ankk.app/v1/brand/contents/content_01jm8za2example" \ -H "Authorization: Bearer spk_live_xxxxxxxx"4. Cancelar Postagem Agendada (DELETE /v1/brand/contents/{content_id}/cancel)
Seção intitulada “4. Cancelar Postagem Agendada (DELETE /v1/brand/contents/{content_id}/cancel)”Cancela uma postagem com status scheduled antes que sua execução comece.
curl -X DELETE "https://api.ankk.app/v1/brand/contents/content_01jm8za2example/cancel" \ -H "Authorization: Bearer spk_live_xxxxxxxx"