← ClaudeAtlas

unipile-v2-posts-and-webhookslisted

Padrão v2 para ENGAJAMENTO em posts do LinkedIn (curtir, comentar, listar posts — sempre por social_id) e para RECEBER webhooks (novas mensagens, status de conta, tracking de e-mail, nova relação/convite aceito). Use ao implementar warming por post, reações/comentários, ou o handler de webhook (runtime/src/webhook.ts). Requer [[unipile-v2-foundations]].
henriquecaner/next-level-outreach · ★ 4 · AI & Automation · score 67
Install: claude install-skill henriquecaner/next-level-outreach
# Unipile v2 — Posts e Webhooks Rotas de post são `/v2/{account_id}/posts/...`. Ver [[unipile-v2-foundations]]. ## Regra de ouro dos posts: use `social_id`, não `id` Toda ação (reagir/comentar/listar) usa o `social_id` no formato `urn:li:activity:...` (ou `urn:li:ugcPost:...` / `urn:li:share:...`). O `id` numérico é fonte de bug. - Listar posts de um usuário/empresa: `GET /v2/{account_id}/users/{user_id}/posts` → use o campo `social_id` de cada item. ✅ Nosso `listRecentPosts` prioriza `social_id`. ### Reagir a um post — `POST /v2/{account_id}/posts/{post_id}/reactions` (`{post_id}` = social_id.) Body: `{ "reaction": "<tipo>" }`. No LinkedIn o tipo é o enum `linkedin_like | linkedin_celebrate | linkedin_support | linkedin_love | linkedin_insightful | linkedin_funny`. ✅ Nosso `reactToPost` normaliza `like` → `linkedin_like`. (Reagir a um comentário: `.../comments/{comment_id}/reactions`.) ### Comentar um post — `POST /v2/{account_id}/posts/{post_id}/comments` Body: `{ "text": "…", "comment_as": "<user_id p/ comentar como org (opcional)>", "attachments": [...] }`. Responder a um comentário: `.../comments/{comment_id}`. ## Webhooks (recebimento) Os payloads de webhook são o **formato realtime da Unipile** e não mudaram na v2 (são independentes do versionamento das rotas REST). Gestão de endpoints: `POST /v2/webhooks/endpoints/`. Regra operacional: **responda 200 em < 30s**; webhooks são at-least-once → **dedup por id externo** (`message_id`, `event_id`…). ### Novas men