Інтеграція онлайн-чата (Zendesk Chat) на веб-сайт
Zendesk Chat (тепер частина Zendesk Suite як Messaging) — платформа чату для підтримки клієнтів з інтеграцією в helpdesk. Особливо зручна, якщо компанія вже використовує Zendesk для обробки квитків — чат та квитки об'єднуються в єдиний рабочий стіл агента.
Установка Web Widget (Classic)
<script id="ze-snippet"
src="https://static.zdassets.com/ekr/snippet.js?key=YOUR_KEY">
</script>
Установка Zendesk Web Widget (новий Messaging)
<script id="ze-snippet"
src="https://static.zdassets.com/ekr/snippet.js?key=YOUR_KEY">
</script>
<script>
zE('messenger:set', 'locale', 'uk');
</script>
Ідентифікація користувача
// Classic Widget
zE(function() {
zE.identify({
name: user.name,
email: user.email
});
});
// Новий Messenger з JWT
zE('messenger', 'loginUser', function(callback) {
// Запросити JWT з сервера
fetch('/zendesk-token').then(r => r.json()).then(data => {
callback(data.token);
});
});
JWT для аутентифікації
// Генерація JWT для Zendesk
use Firebase\JWT\JWT;
$payload = [
'iss' => 'yourcompany',
'iat' => time(),
'jti' => uniqid(),
'name' => $user->name,
'email' => $user->email,
'external_id' => (string)$user->id
];
$token = JWT::encode($payload, env('ZENDESK_JWT_SECRET'), 'HS256');
Zendesk API: створення квитка з форми
Http::withBasicAuth($email . '/token', $apiKey)
->post("https://yourcompany.zendesk.com/api/v2/tickets", [
'ticket' => [
'subject' => $subject,
'comment' => ['body' => $message],
'requester' => ['name' => $name, 'email' => $userEmail],
'priority' => 'normal',
'tags' => ['website', 'contact-form']
]
]);
Тривалість установки: 1 робочий день з JWT-аутентифікацією та базовим налаштуванням.







