Pular para o conteúdo principal
Use vzaps.chatwoot para conectar uma instância VZaps ao Chatwoot. Campos comuns em todas as chamadas:
CampoTipoObrigatórioDescrição
instanceIdstringSimID da instância.
instanceTokenstringSimToken da instância.

chatwoot.get(instanceId, options?)

Lê a configuração atual, incluindo webhookUrl e tokenMasked quando aplicável.
const chatwoot = await vzaps.chatwoot.get('VZ...', {
  instanceToken: 'instance-token',
});

console.dir(chatwoot, { depth: null });
Retorno: configuracao Chatwoot (enabled, url, accountId, webhookUrl, tokenMasked, etc.).

chatwoot.set(request)

Cria ou atualiza a integração Chatwoot da instância.
const saved = await vzaps.chatwoot.set({
  instanceId: 'VZ...',
  instanceToken: 'instance-token',
  enabled: true,
  url: 'https://app.chatwoot.com',
  accountId: '1',
  token: 'chatwoot-api-token',
  nameInbox: 'WhatsApp VZaps',
  signMsg: true,
  signDelimiter: '\n',
  number: '5511999999999',
  reopenConversation: true,
  conversationPending: false,
  importContacts: true,
  importMessages: true,
  daysLimitImportMessages: 30,
  autoCreate: true,
  organization: 'Minha empresa',
  logo: '',
  ignoreGroups: false,
  ignoreJids: [],
});

console.dir(saved, { depth: null });
Retorno: configuracao salva (inclui webhookUrl quando gerada). Campos principais do payload:
CampoTipoObrigatórioDescrição
enabledbooleanSimAtiva ou desativa a integração.
urlstringSimURL base do Chatwoot.
accountIdstringSimID numérico da conta.
tokenstringSimToken de API do Chatwoot.
nameInboxstringNãoNome da inbox API.
autoCreatebooleanNãoCria inbox e webhook automáticamente.
importContactsbooleanNãoImporta contatos no fluxo inicial.
importMessagesbooleanNãoImporta mensagens no fluxo inicial.
daysLimitImportMessagesnumberNãoJanela em dias para importação de mensagens. Mínimo 1.
ignoreGroupsbooleanNãoIgnora mensagens de grupos.
ignoreJidsarrayNãoJIDs a ignorar.
Copie webhookUrl da resposta para o inbox API do Chatwoot quando autoCreate não aplicar sozinho.

chatwoot.delete(instanceId, options?)

Remove a integração Chatwoot da instância.
await vzaps.chatwoot.delete('VZ...', {
  instanceToken: 'instance-token',
});
Retorno: confirmacao de remocao da integracao.

chatwoot.triggerImport(request)

Dispara importação manual de contatos, mensagens ou ambos. Importar contatos:
await vzaps.chatwoot.triggerImport({
  instanceId: 'VZ...',
  instanceToken: 'instance-token',
  what: 'contacts',
});
Retorno: confirmacao do job de importacao (contacts, messages ou all). Importar mensagens:
await vzaps.chatwoot.triggerImport({
  instanceId: 'VZ...',
  instanceToken: 'instance-token',
  what: 'messages',
});
Importar tudo:
await vzaps.chatwoot.triggerImport({
  instanceId: 'VZ...',
  instanceToken: 'instance-token',
  what: 'all',
});
Valores aceitos em what: contacts, messages, all.