Use $vzaps->chatwoot() para conectar uma instância VZaps ao Chatwoot.
Campos comuns em todas as chamadas:
| Campo | Tipo | Obrigatório | Descrição |
|---|
instanceId | string | Sim | ID da instância. |
instanceToken | string | Sim | Token da instância. |
chatwoot()->get($instanceId, $instanceToken = null)
Lê a configuração atual, incluindo webhookUrl e tokenMasked quando aplicável.
$chatwoot = $vzaps->chatwoot()->get('VZ...', 'instance-token');
print_r($chatwoot);
Retorno: configuracao Chatwoot (enabled, url, account_id, webhook_url, token_masked, etc.).
chatwoot()->set($request)
Cria ou atualiza a integração Chatwoot da instância.
$saved = $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' => [],
]);
print_r($saved);
Retorno: configuracao salva (inclui webhook_url quando gerada).
Campos principais do payload:
| Campo | Tipo | Obrigatório | Descrição |
|---|
enabled | boolean | Sim | Ativa ou desativa a integração. |
url | string | Sim | URL base do Chatwoot. |
accountId | string | Sim | ID numérico da conta. |
token | string | Sim | Token de API do Chatwoot. |
nameInbox | string | Não | Nome da inbox API. |
autoCreate | boolean | Não | Cria inbox e webhook automaticamente. |
importContacts | boolean | Não | Importa contatos no fluxo inicial. |
importMessages | boolean | Não | Importa mensagens no fluxo inicial. |
daysLimitImportMessages | number | Não | Janela em dias para importação de mensagens. Mínimo 1. |
ignoreGroups | boolean | Não | Ignora mensagens de grupos. |
ignoreJids | array | Não | JIDs a ignorar. |
Copie webhookUrl da resposta para o inbox API do Chatwoot quando autoCreate não aplicar sozinho.
chatwoot()->delete($instanceId, $instanceToken = null)
Remove a integração Chatwoot da instância.
$vzaps->chatwoot()->delete('VZ...', 'instance-token');
Retorno: confirmacao de remocao da integracao.
chatwoot()->triggerImport($request)
Dispara importação manual de contatos, mensagens ou ambos.
Importar contatos:
$vzaps->chatwoot()->triggerImport([
'instanceId' => 'VZ...',
'instanceToken' => 'instance-token',
'what' => 'contacts',
]);
Retorno: confirmacao do job de importacao (contacts, messages ou all).
Importar mensagens:
$vzaps->chatwoot()->triggerImport([
'instanceId' => 'VZ...',
'instanceToken' => 'instance-token',
'what' => 'messages',
]);
Importar tudo:
$vzaps->chatwoot()->triggerImport([
'instanceId' => 'VZ...',
'instanceToken' => 'instance-token',
'what' => 'all',
]);
Valores aceitos em what: contacts, messages, all.