Skava Skava / Wiki

Персонализирани елементи: API

API интерфейс е формуляр, чиито попълнени стойности Skava изпраща като JSON към адрес, който вие посочвате (ваш бекенд). По този начин можете да свържете Skava безопасно със собствените си системи.

i

Управлявате API интерфейси в Webapp под Custom Elements → превключете API Interfaces. Създаването и редактирането е запазено за администратори на компанията; публикуваните интерфейси могат да бъдат задействани от всички членове на компанията.

Настройка на API интерфейс

Интерфейсът се състои от полета за въвеждане (те формират JSON), целев адрес и автентикация.

  1. Създаване на полета: Всяко поле получава JSON ключ. Вдясно виждате JSON преглед в реално време, който се изпраща към вашия backend точно по този начин.
  2. Адрес (URL): адресът https:// на вашия backend. Допускани са само HTTPS и публично достъпни адреси (вижте „Сигурност“ по-долу).
  3. Метод: POST (по подразбиране), PUT, PATCH или GET. При GET стойностите се добавят като query параметри вместо да се изпращат в тялото.
  4. Автентикация: Задайте името на заглавката (напр. Authorization) и префикса на стойността (напр. Bearer ), след което запазете токена. По желание задайте срок на валидност.
  5. Полета в отговора (по избор): Определете по път кои стойности от отговора на backend-а да се показват: напр. order.id или items[0].sku.
  6. Проверете с Ping и Test Request, след което натиснете Release.
Skava уеб приложение: Вкладка „Поля“ на API интерфейс. В горната част са автоматично включените контекстни стойности (име на потребител, фирма, проект и др.), а под тях са персонализираните полета с JSON ключ. Вдясно се виждат прегледът на формата и живият JSON преглед.
Вкладка Поля: всяко поле получава JSON ключ. В горната част автоматично се включват контекстни стойности като потребител, фирма и име на проекта. Вдясно виждате формата и живия JSON: точно това, което се изпраща към вашия бекенд.
Skava уеб приложение: Вкладка „Endpoint“ на API интерфейс с полета за URL, метод POST, таймаут, заглавка за автентикация, префикс на стойност Bearer и поле за въвеждане на шифрирания токен.
Вкладка Endpoint: целев адрес (само HTTPS), метод, таймаут, заглавка за автентикация и префикс на стойност. Токенът се съхранява шифрирано и никога не се предоставя на клиентите.
Skava уеб приложение: Вкладка „Преглед“ на интерфейс на API. Поле за отговор с JSON ключ Success е конфигурирано, вдясно е прегледът как резултатът ще изглежда в чата.
Вкладка Преглед (по избор): задайте по път кои стойности от отговора на сървъра да се показват. Вдясно Skava изгражда резултатната карта от тях, точно както по-късно ще се появи в чата.

Съхранявайте токена безопасно

Токенът се съхранява шифрован и никога не се връща към клиентите: приложението показва само дали е зададен токен и кога изтича. При изпращане Skava го добавя от страна на сървъра в конфигурираната заглавна част. Ако зададете дата на изтичане, Skava отхвърля повикването след изтичане и ви моли да подновите токена.

Тестване: Ping и тестово заявка

  • Ping: лека проверка за достъпност. Тя проверява само дали вашият адрес отговаря и не изпраща токен или данни от формуляр по време на процеса. Показва достъпност, статус и време за отговор. Идеална като първа стъпка.
  • Тестово запитване: истински пробен ход: изпраща примерни данни, включително токен, към вашия адрес и ви показва пълния отговор, както и извлечените полета от отговора.

Като администратор можете да изпълнявате и двете, докато все още сте в режим на чернова, за да проверите интеграцията преди пускане.

Skava уеб приложение: Вкладка „Тест“ на API интерфейс с бутоните „Ping“ и „Тестово запитване“, резултат Статус 200 OK, времето за отговор и пълният JSON отговор от бекенда.
Вкладка Тест: Ping и Тестово запитване едно до друго. Тук със статус 200, време за отговор и пълния отговор от бекенда като JSON.

Създаване и публикуване

Всеки интерфейс започва като чернова и може да се редактира свободно. Когато всичко е готово, го публикувате с Публикуване.

!

След публикуване целевият адрес, методът, полетата, заглавката за автентикация и времевият лимит са фиксирани. Това е намерено: никой не може тихо да промени къде отиват данните. Точно три неща остават променяеми, защото операциите имат нужда от тях: токенът и неговият срок на валидност (за да може изтекъл или използван токен да бъде заменен) и аудиторията, тоест дали само вашата екип или и партньорски компании могат да го задействат в чата. За всичко друго създавате нова версия.

Сигурност

i

За да се предотврати неправилно използване на интерфейса, важат строги правила: разрешени са само HTTPS адреси, а адресът трябва да сочи към публична целева точка: вътрешните адреси (напр. localhost, частни мрежи или облачни метаданни) се отхвърлят. Skava проверява това при всяко извикване, свързва се точно към проверения адрес, не следва пренасочвания и ограничава таймаута и размера на отговора.

Как екипът използва публикуван интерфейс

След като интерфейсът е публикуван, всички членове на компанията могат да го активират директно от чата, без нужда от редактор. Няма общ вход и междинен диалог: всеки публикуван елемент се намира в менюто с плюс под собственото си име, заедно с логото на компанията, която го предлага.

  1. В чата докоснете Плюс в долната част и изберете желания елемент, например Поръчка на материали.
  2. Попълнете формата и натиснете Изпрати.
  3. Резултатът се появява като карта в чата и е видим за всички участници в разговора.
Skava уеб приложение: попълнима форма на API действието „Поръчка на материали“ с полета за артикулен номер, описание, количество, мерна единица, поискана дата на доставка и бележка, както и бележка за автоматично включените стойности.
Стъпка 3: попълнете формата. Бележката в долната част показва кои стойности се включват автоматично.
Skava уеб приложение: резултатна карта на API действието „Поръчка на материали“ в чата със статус 200, въведените стойности и отговора от бекенда (номер на поръчка, статус, дата на доставка), плюс разгъваемо сурово данни.
Стъпка 4: резултатната карта в чата, с входните данни и отговора от вашия бекенд.

Нека ИИ изгради елемент

Като администратор на компанията не е нужно да използвате редактора сами. Кажете на Skava асистента в чата, например „сгради ми ми форма за поръчка за моя каталог с количество и адрес за доставка“. Той създава чернова от това, може по-късно да променя полета едно по едно и познава качения от вас каталог със статии: за поръчки предлага селектор за продукти, а не текстово поле за номер на статия.

Той може да зададе и: крайна точка и метод, както и аудиторията („само членове на компанията“ или „и външни лица в същия чат“). За аудиторията първо пита, вместо просто да я зададе, защото тя определя кой може да изпълнява нещо от външния свят.

Какво той изрично не докосва: токена за достъп. Той никога не пита за такъв и никога не го приема, защото съобщенията в чата се съхраняват. Вие го въвеждате сами в редактора, иначе няма да се изпрати никакво извикване. И той не може да публикува: последната стъпка остава при вас, за да не стане нищо видимо за клиентите непроверено.

Кой може да го изпълнява

Вътрешността „Крайна точка“ показва кой може да използва елемент. По подразбиране това са членовете на вашата компания. Втората настройка го отваря за външни лица, но само в чат, където присъства и някой от вашата компания: точно случаят, за който е предназначен, клиентът, който поръчва от вас. Когато вашата компания напусне чата, разрешението приключва автоматично.

Продукти от вашия собствен каталог

След като качите каталога си с артикули, строителят предлага блок избор на продукт. Няма опции за поддръжка: списъкът е вашият каталог. Лицето, което поръчва, го търси, вижда изображението, името и артикулния номер, а вашият бекенд получава артикулния номер. Skava отхвърля номер, който не е в вашия каталог. За количеството поставете обикновено числово поле до него.

Определете картата сами

Вашият бекенд решава какво да пише на картата. Skava проверява само формата, размера и безопасността, а не смисъла: не знае нито състоянията на поръчките, нито имената на полетата. За да направите това, отговорете с обект card:

{"card": {"v": 1, "title": "Order 10001", "state": "pending", "status_text": "Being picked", "fields": [{"label": "Tracking number", "value": "DPD123456789"}]}}

  • v трябва да бъде цялото число 1. Без него отговорът не се брои за карта и се прилага мапирането на отговора, конфигурирано в елемента.
  • state е само цвят и икона: ok, pending, warn или error. Всичко, което носи смисъл, отива в status_text като свободен текст.
  • fields е списък от етикети и стойности, максимум 20 записи. Стойностите, които са твърде дълги, се съкращават вместо да се отхвърлят, така че поръчката никога не се проваля заради детайл.

Въвеждането на потребителя принадлежи на сървъра: то остава непроменено независимо какво изпраща вашият бекенд. То е записът в чата за това, което всъщност е подадено.

Докладване на статуса по-късно

Когато елементът се изпълни, Skava изпраща две допълнителни стойности: callback_url и callback_token. Докладвайте ново състояние там по-късно и нова карта се появява в чата, дори на телефона, докато някой гледа. Предишната остава, така че е ясно кое състояние е било докладвано. Изпратете същия обект card като по-горе, чрез POST с заглавието Authorization: Bearer <callback_token>. Три необязателни стойности отиват до картата:

  • seq: ваш собствено число. Доклад с по-малка или равна стойност се отхвърля, така че двама доклад не могат да се изпреварят.
  • final: затваря взаимодействието. Токенът става невалиден и картата е окончателна.
  • notify: задайте false, за да публикувате картата тихо, без брояч на непрочетени и без известие. За междинни стъпки, които не трябва да будят никого. Без него картата е напълно обикновено съобщение.

Едно взаимодействие може да публикува до 50 карти. Едни и същи доклад два пъти не създава втора карта.

Skava отговаря с 200 и списък от hints, ако нещо е съкратено или изпуснато, и с 422, ако картата е била неизползвана. Взаимодействието приема доклади в продължение на 90 дни.

Картите се публикуват от системния изпращач на Skava, а не от лицето, което е изпълнило елемента, и не от акаунт на вашата фирма. В заглавието на картата е посочено коя система изпраща.

Пълен пример за копиране се намира в репозиторията под example_order_server/ и работи на api.skava.io.

Свързано

Искате ли вместо това да създадете попълним документен шаблон? Вижте Custom Elements: Документи.

Често задавани въпроси

Какво е API интерфейс в Skava?

Форма, чиито попълнени стойности Skava изпраща като JSON към адрес, който посочвате (ваш бекенд): удобно за свързване на Skava с вашите собствени системи.

Кой може да създава и задейства API интерфейси?

Създаването и редактирането са запазени за администратори на компанията. Публикуван интерфейс може след това да бъде задействан от всички членове на компанията.

Каква е разликата между „Ping“ и „Test Request“?

Ping проверява само дали адресът е достъпен: без токен и без данни. Test Request изпраща примерни данни, включително токена, и показва пълния отговор.

Дали API токенът ми е защитен?

Да. Токенът се съхранява шифрирано и никога не се предава на клиенти. Приложението показва само дали е зададен токен и кога изтича.

Какви адреси са разрешени като крайни точки?

Само публично достъпни адреси с https://. Вътрешни цели като localhost, частни мрежи или облачни метаданни се отхвърлят: това предпазва от неправилно използване на интерфейса.

Защо вече не мога да променям публикуван интерфейс?

Целевият адрес, методът, полетата и заглавката за автентикация са фиксирани след публикуването, за да не може някой да промени тихо къде отиват данните. Токенът, неговият срок на валидност и аудиторията (само собственият екип или и партньорски компании) остават променяеми; точно така се подменя изтекъл токен. За всичко друго създавате нова версия.