Use $vzaps->chatwoot() to connect a VZaps instance to Chatwoot.
Common fields on all calls:
| Field | Type | Required | Description |
|---|
instanceId | string | Yes | Instance ID. |
instanceToken | string | Yes | Instance token. |
chatwoot()->get($instanceId, $instanceToken = null)
Reads the current configuration, including webhookUrl and tokenMasked when applicable.
$chatwoot = $vzaps->chatwoot()->get('VZ...', 'instance-token');
print_r($chatwoot);
Return: Chatwoot config (enabled, url, account_id, webhook_url, token_masked, etc.).
chatwoot()->set($request)
Creates or updates the instance Chatwoot integration.
$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' => 'My company',
'logo' => '',
'ignoreGroups' => false,
'ignoreJids' => [],
]);
print_r($saved);
Return: saved config (includes webhook_url when generated).
Main payload fields:
| Field | Type | Required | Description |
|---|
enabled | boolean | Yes | Enables or disables the integration. |
url | string | Yes | Chatwoot base URL. |
accountId | string | Yes | Numeric account ID. |
token | string | Yes | Chatwoot API token. |
nameInbox | string | No | API inbox name. |
autoCreate | boolean | No | Creates inbox and webhook automatically. |
importContacts | boolean | No | Imports contacts in the initial flow. |
importMessages | boolean | No | Imports messages in the initial flow. |
daysLimitImportMessages | number | No | Message import window in days. Minimum 1. |
ignoreGroups | boolean | No | Ignores group messages. |
ignoreJids | array | No | JIDs to ignore. |
Copy webhookUrl from the response into the Chatwoot API inbox when autoCreate does not apply by itself.
chatwoot()->delete($instanceId, $instanceToken = null)
Removes the Chatwoot integration from the instance.
$vzaps->chatwoot()->delete('VZ...', 'instance-token');
Return: integration removal confirmation.
chatwoot()->triggerImport($request)
Triggers a manual import of contacts, messages, or both.
Import contacts:
$vzaps->chatwoot()->triggerImport([
'instanceId' => 'VZ...',
'instanceToken' => 'instance-token',
'what' => 'contacts',
]);
Return: import job confirmation (contacts, messages, or all).
Import messages:
$vzaps->chatwoot()->triggerImport([
'instanceId' => 'VZ...',
'instanceToken' => 'instance-token',
'what' => 'messages',
]);
Import everything:
$vzaps->chatwoot()->triggerImport([
'instanceId' => 'VZ...',
'instanceToken' => 'instance-token',
'what' => 'all',
]);
Accepted values for what: contacts, messages, all.