Exemplo: autopostagem com Chimpee
O Chimpee consegue fazer POST de um payload JSON para qualquer webhook sempre que um feed de origem recebe um item novo. Aponte-o para https://api.canverly.com/v1/posts e cada item novo vira um post publicado na Canverly.
1. Crie uma chave de API
Seção intitulada “1. Crie uma chave de API”No admin, Configurações → Integrações API → Gerar chave. Escopos:
posts:write(obrigatório)post_types:read(opcional — permite validarpost_type)
Copie o segredo ck_… (exibido uma única vez). Veja Autenticação.
2. Configure o publicador de webhook
Seção intitulada “2. Configure o publicador de webhook”No Chimpee, adicione um publicador Webhook na origem que você quer autopostar:
| Configuração | Valor |
|---|---|
| Método | POST |
| URL | https://api.canverly.com/v1/posts |
| Cabeçalho | Authorization: Bearer ck_… |
| Cabeçalho | Content-Type: application/json |
| Corpo | o template JSON abaixo |
3. Template do corpo
Seção intitulada “3. Template do corpo”Mapeie os campos da origem para o post da Canverly. O conteúdo do corpo vai em blocks_json. Se o seu item de origem for texto puro ou HTML, envolva-o em um único paragraph (HTML inline é permitido e sanitizado):
{ "title": "{{item.title}}", "slug": "{{item.id}}", "status": "published", "excerpt": "{{item.summary}}", "category_slugs": ["{{item.category}}"], "blocks_json": { "v": 1, "blocks": [ { "id": "p1", "type": "paragraph", "text": "{{item.content_html}}" } ] }}Se o seu conteúdo for HTML longo com títulos e listas, divida-o em vários blocos (heading, list, code) para a melhor renderização — veja Blocos de conteúdo.
4. Mapeie os campos
Seção intitulada “4. Mapeie os campos”| Origem (Chimpee) | Campo na Canverly | Observações |
|---|---|---|
item.title |
title |
Obrigatório. |
item.id |
slug |
Slug estável → repetições seguras. |
item.summary |
excerpt |
Opcional; descrição de SEO. |
item.content_html |
o text de um bloco paragraph |
Sanitizado; scripts removidos. |
item.category |
category_slugs[] |
Use slugs que existem no site. |
Para mirar um tipo de post personalizado, adicione "post_type": "<slug>" e confirme-o por GET /v1/post-types.
5. Verifique
Seção intitulada “5. Verifique”Depois da primeira entrega, uma publicação bem-sucedida devolve 201 com { "id", "slug", "status" }. O post fica no ar em https://<your-site-domain>/<slug> (resolva o domínio por GET /v1/sites/me).
Solução de problemas
Seção intitulada “Solução de problemas”| Resposta | Causa | Correção |
|---|---|---|
401 |
Chave ausente/inválida | Confira o cabeçalho Authorization. |
403 |
A chave não tem posts:write |
Gere a chave de novo com o escopo certo. |
422 |
Sem blocks_json (ex.: template do corpo que não envolve o conteúdo em um bloco) |
Garanta que o template envie blocks_json. |
429 |
Acima de 60 req/min | O Chimpee respeita Retry-After; espace as entregas. |
Veja Erros e limites de requisição para a lista completa.