← ClaudeAtlas

unipile-v2-messaginglisted

Padrão para ENVIAR via Unipile v2 — mensagens/chats (LinkedIn, WhatsApp), convites de conexão no LinkedIn, e e-mail (com tracking de abertura/clique). Use ao implementar ou revisar passos de cadência que disparam mensagem, convite ou e-mail. Requer os fundamentos em [[unipile-v2-foundations]].
henriquecaner/next-level-outreach · ★ 4 · AI & Automation · score 67
Install: claude install-skill henriquecaner/next-level-outreach
# Unipile v2 — Envio (mensagens, convites, e-mail) Todas as rotas são `/v2/{account_id}/...` com `account_id` no PATH. Ver [[unipile-v2-foundations]]. ## Iniciar/enviar mensagem (LinkedIn, WhatsApp) **Novo chat 1-a-1** — `POST /v2/{account_id}/chats/send` (application/json): ```json { "text": "<msg>", "users_ids": "<PROVIDER_ID>" } ``` - `users_ids` como **string única** → chat 1-a-1; como **array** → grupo. - Opcional: `name` (nome do chat/grupo), `attachments` (base64 `{content,content_type,filename}`). - **LinkedIn:** sem InMail só dá pra iniciar com **conexões**; p/ não-conexão → convide antes. **Enviar em chat existente** — `POST /v2/{account_id}/chats/{chat_id}/messages/send`: ```json { "text": "<msg>", "quote_id": "<message_id a responder (opcional)>" } ``` Prefira quando já tiver o `chat_id` (ex.: respondendo a um webhook `message_received`). ## InMail (LinkedIn) — `POST /v2/{account_id}/chats/send` com `specifics` Confirmado na spec 2.16.0: a flag vai em `specifics` — **NÃO existe** `linkedin.api='inmail'` nem `subject` no top-level (shapes do v1 morto). ```json { "text": "<msg>", "users_ids": "<PROVIDER_ID>", "specifics": { "linkedin": { "classic": { "inmail": true } } } } ``` - `subject` **só existe no produto Sales Navigator** (lá é obrigatório): `"specifics": { "linkedin": { "sales_navigator": { "subject": "<assunto>" } } }` — exige a conta com SN conectado. ✅ Nosso `sendInMail` roteia: com subject → SN; sem subject → classic com `inmail: true`. -