Okdesk и Sendsay
Okdesk — автоматизированная система поддержки клиентов на основе учёта заявок. Интеграция позволяет автоматически передавать контакты и другие данные о клиентах из заполненных заявок в Sendsay — без ручной загрузки файлов.
Чтобы импортировать данные в профиль клиента Sendsay, необходимо создать специальную webhook-ссылку, которая позволит сопоставить данные из JSON-файла с нужными полями анкет.
Рассмотрим настройку передачи данных на примере 4 полей — email, имени, фамилии и отчества. Следуя инструкции, вы поймёте, как передавать собственные кастомные поля:
-
Авторизуйтесь в личном кабинете Okdesk и перейдите в раздел Настройки → Заявки → Атрибуты заявок.
-
Нажмите «Добавить» и в окне редактирования атрибута задайте:
- Код —
email
, - Название —
Email подписчика в Sendsay
. Это название будет отображаться в карточке создания запроса.
Заполните остальные настройки и нажмите «Создать». Если у вас уже есть созданные поля в этом разделе, перетащите поле email на первое место сверху.
ВажноЕсли вы идёте чётко по инструкции и хотите передавать эти 4 поля, следует использовать именно такой порядок полей в начале формы — так система корректно сопоставит поля между Okdesk и Sendsay.
О том, как переда вать другие поля или в другом порядке, читайте здесь.
- Код —
-
Перейдите в Настройки → Вебхуки и нажмите «Добавить».
-
В открывшемся окне редактирования укажите название. В поле Триггерные события выберите
Создание заявки
, при срабатывании которого данные из Okdesk будут передаваться в Sendsay. -
В поле Вызываемый URL укажите ссылку:
https://be.sendsay.ru/backend/api/<API-ключ>/member.set/email/-/member.email,set.copy,issue.parameters[0].value/base.firstName,set.copy,issue.client.contact.first_name/base.lastName,set.copy,issue.client.contact.last_name/base.middleName,set.copy,issue.client.contact.patronymic
где
<API-ключ>
— ваш API-ключ, полученный в Sendsay.Нажмите «Обновить».
-
Включите событие в разделе Триггерные события:
На этом базовая настройка интеграции завершена. После создания новой заявки в Sendsay появится новый подписчик с указанными данными.
Если нужно передавать другие стандартные поля
При необходимости вы можете передавать в Sendsay другие стандартные поля Okdesk. Для этого нужно дополнить ссылку интеграции командой ви да /<КОД ПОЛЯ В SENDSAY>,set.copy,<КОД ПОЛЯ В OKDESK>/
для каждого поля.
Полная структура JSON-файла, которую присылает Okdesk в теле вебхука при срабатывании события Создание заявки:
{
"event": {
"event_type": "new_ticket",
"source": "from_employee"
},
"issue": {
"title": "Тема заявки",
"planned_execution_in_hours": null,
"id": 10,
"parent_id": null,
"child_ids": [],
"description": "Тестовый текст",
"type": {
"code": "service",
"name": "Обслуживание",
"inner": false
},
"priority": {
"code": "low",
"name": "Низкий"
},
"status": {
"code": "opened",
"name": "Открыта"
},
"rate": null,
"old_status": null,
"client": {
"company": {
"name": "ООО Космический Туризм",
"id": 2
},
"contact": {
"first_name": "Дмитрий",
"last_name": "Локтионов",
"patronymic": "Валерьевич",
"id": 2
}
},
"agreement": {
"title": "Обслуживание космодрома",
"id": 3
},
"maintenance_entity": {
"name": "Космодром Центральный",
"timezone": null,
"id": 3,
"address": {
"string_value": "Красноярский край, пос. Млечный Путь",
"coordinates": [
58.358658,
90.030769
]
},
"schedule": null
},
"equipments": [],
"author": {
"first_name": "Николай",
"last_name": "Петров",
"patronymic": null,
"id": 1,
"type": "employee"
},
"assignee": {
"group": null,
"employee": null
},
"coexecutors": [],
"observers": {
"employees": [],
"contacts": [],
"groups": []
},
"created_at": "2025-06-26T12:51:43.949+02:00",
"deadline_at": "2025-07-02T16:51:00.000+02:00",
"planned_reaction_at": "2025-06-26T14:51:00.000+02:00",
"start_execution_until": null,
"completed_at": null,
"reacted_at": null,
"parameters": [
{
"code": "email",
"name": "Email",
"type": "ftstring",
"value": "example@mail.ru"
},
{
"code": "custom1",
"name": "Поле 1",
"type": "ftstring",
"value": "Значение пол я 1"
},
{
"code": "custom2",
"name": "Поле 2",
"type": "ftstring",
"value": "Значение поля 2"
}
],
"attachments": []
}
}
Сначала необходимо определить коды нужных вам п олей: стандартные поля Okdesk находятся в ключе issue
.
Рассмотрим на примере: допустим, вы хотите передать Дату создания заявки и Имя комапнии. Коды полей будут такие:
- Дата создания заявки:
issue.created_at
, - Имя компании:
issue.client.company.name
.
Для этих полей необходимо создать поля в анкете Sendsay с типами Дата и время и Свободный ввод соответственно:
В нашем примере коды полей — custom.q512
и custom.q970
. Чтобы сопоставить поля, составьте команду вида /<КОД ПОЛЯ В SENDSAY>,set.copy,<КОД ПОЛЯ В OKDESK>/
:
- Дата создания заявки:
/custom.q512,set.copy,issue.created_at/
, - Имя компании:
/custom.q970,set.copy,issue.client.company.name/
.
В итоге дополненная ссылка будет такой:
https://be.sendsay.ru/backend/api/<API-ключ>/member.set/email/-/member.email,set.copy,issue.parameters[0].value/base.firstName,set.copy,issue.client.contact.first_name/base.lastName,set.copy,issue.client.contact.last_name/base.middleName,set.copy,issue.client.contact.patronymic/custom.q512,set.copy,issue.created_at/custom.q970,set.copy,issue.client.company.name
Подробнее о том, как создать вебхук-ссылку
Если нужно передавать кастомные поля
Кастомные поля, которые вы создаёте в Okdesk, хранятся в массиве по ключу issue.parameters
. Порядок объектов в этом массиве соответствует порядку кастомных полей в Okdesk в разделе Настройки → Заявки → Атрибуты заявок.
Например, если вы создадите в Okdesk помимо поля email кастомные поля custom1 и custom2 в таком порядке, то и в JSON-файле в массиве issue.parameters
эти данные придут в том же порядке: сначала объект email, затем custom1 и custom2:
Аналогично стандартным полям, необходимо написать команду сопоставления для каждого кастомного поля в формате /<КОД ПОЛЯ В SENDSAY>,set.copy,parameters[НОМЕР ПОЛЯ В НАСТРОЙКАХ OKDESK].value/
, где:
<КОД ПОЛЯ В SENDSAY>
- уникальный идентификатор поля в sendsay. Например, поле Имя в Sendsay имеет кодbase.firstName
.[НОМЕР ПОЛЯ В НАСТРОЙКАХ OKDESK]
- порядковый номер поля в разделе Настройки → Заявки → Атрибуты заявок. Нумерация элементов массива всегда начинается с0
.
На примере полей Custom1 и Custom2 рассмотрим, как сопоставить кастомные поля:
-
Определите порядковые номера полей в Okdesk. Поле email имеет порядковый номер
0
, Custom1 —1
, Custom2 —2
. Теперь нужно сопоставить эти поля с полями в Sendsay. -
Для этих полей необходимо создать поля в дополнительной анкете Sendsay:
В нашем примере коды полей —
custom.q512
иcustom.q970
. -
Напишите команды для сопоставления полей формата
/<КОД ПОЛЯ В SENDSAY>,set.copy,parameters[НОМЕР ПОЛЯ В НАСТРОЙКАХ OKDESK].value/
. В нашем примере так:- Custom1:
/custom.q512,set.copy,issue.parameters[1].value/
, - Custom2:
/custom.q970,set.copy,issue.parameters[2].value/
.
- Custom1:
-
Допишите команды в ссылку и обновите ссылку в настройках вебхука:
https://be.sendsay.ru/backend/api/<API-КЛЮЧ>/member.set/email/-/member.email,set.copy,issue.parameters[0].value/base.firstName,set.copy,issue.client.contact.first_name/base.lastName,set.copy,issue.client.contact.last_name/base.middleName,set.copy,issue.client.contact.patronymic/custom.q512,set.copy,issue.parameters[1].value/custom.q970,set.copy,issue.parameters[2].value
Так, при создании заявки с новым контактным лицом, в Sendsay появится новый подписчик с указанными данными. Если же заявка в Okdesk создаётся по контакту, который уже добавлен в Sendsay как подписчик, его данные в анкете обновятся.
Как протестировать передачу данных
- Создайте нов ую заявку в Okdesk.
- Перейдите в Sendsay и удостоверьтесь, что новый подписчик с указанными данными появился в базе контактов.