Плейсхолдери в запитах інструментів
Для розробників, у коді: кожен {{…}}, який може нести інструмент, — секрети, токен користувача, маршрут і параметри екрана, поля заявки — де кожен дійсний, як кодується і що стається з невідомим.
Плейсхолдер — це {{назва}} в URL, заголовках, значеннях запиту чи шаблоні тіла інструмента. Він
підставляється в момент побудови запиту, одним проходом, лише в рядкових значеннях — ніколи в
ключі.
| Плейсхолдер | Значення | Доступний на | Кодування |
|---|---|---|---|
{{secret.<назва>}} |
секрет цього інструмента, розшифрований | кожному виклику | сирим усюди — Секрети |
{{user}} |
токен відвідувача, що увійшов, переданий через Shukai.setUser |
виклику моделі і проактивному запиті; порожній при перевірці і доставці | сирим — Ідентичність користувача |
{{screen.route}} |
збіглий шаблон маршруту екрана, на якому відвідувач (/orders/{id}) |
виклику моделі і проактивному запиті | percent-кодування в URL, сирим деінде |
{{screen.<параметр>}} |
значення плейсхолдера, який оголошує збіглий маршрут — {{screen.siteId}} лише якщо в маршруті є {siteId} |
те саме | percent-кодування в URL, сирим деінде |
{{handoff.contact}} · .contact_kind · .question · .comment · .page · .ref · .source · .language · .id |
поля заявки | лише доставці заявок — Доставка заявок | percent-кодування в URL, сирим деінде; керівні символи вилучаються |
Власний URL сторінки і її рядок запиту навмисно не доступні як плейсхолдери: власники кладуть
?email= в URL, а запит інструмента логує той, хто його отримує.
Правила
- Невідомий плейсхолдер лишається буквально як
{{…}}і надсилається. Кнопка перевірки показує результат сирого запиту — так і виявляється одруківка. - Відсутній
{{user}}(анонімний відвідувач або перевірка) розв’язується в порожній рядок, а заголовок, шаблон якого — лишеBearer {{user}}, відкидається, а не надсилається порожнім. - Аргументи шляху (
{name}з одинарними дужками) — інший механізм: це аргументи моделі, розміщені черезlocation: path, і вони percent-кодуються. - Один прохід: підставлене значення ніколи не сканується на плейсхолдери знову, тож коментар відвідувача не може розгорнутися в один із ваших секретів.
Приклади
GET https://api.example.com/orders?user={{screen.userId}}&q={query}
Authorization: Bearer {{user}}
X-Api-Key: {{secret.catalogue}}
POST https://crm.example.com/leads
Authorization: Token {{secret.crm}}
{ "email": "{{handoff.contact}}", "message": "{{handoff.question}}",
"page": "{{handoff.page}}", "lang": "{{handoff.language}}", "ref": "{{handoff.ref}}" }