Входящий API. Как учесть в отклике результат внешних действий в API
Во входящем API иногда возникает потребность для выдачи точного результата по некоторому формату. В этом случае мы ставим тип вывода Text и выдаем в SELECT 2 нужный вывод:
CREATE PROCEDURE [dbo].[api_t1_t1]
@parameters ExtendedDictionaryParameter READONLY,
@username nvarchar(256) -- API login (not as_users login)
as
begin
-- inbound API method
-- SELECT 1 - API result metadata
select '' Msg, 1 Result, 0 ErrorCode, 0 OnlyData
-- SELECT 2 - API data with free col names
select 'its result from incomeAPI_SP' t1x
select 'notification' type, 'text1' text , 'editor1' [to], 'common' typeCode, '' url, '' additional
end
Однако в этом случае мы не можем учесть результат внешних действий (в данном случае создания уведомления, но могут быть и любые другие действия), задействованных в вызове метода API.
Чтобы это сделать, необходимо реализовать, необходимо создать еще одну процедуру, которая отличается от начально добавкой суффикса _result.
Пример:
CREATE OR ALTER PROCEDURE [dbo].[api_t1_t1_result]
@parameters ExtendedDictionaryParameter READONLY,
@username nvarchar(256), -- API login (not as_users login),
@outerData nvarchar(max)
as
begin
print @outerData
select 'xxx' Msg, 1 Result
end
В итоге наш метод API выдаст по запросу "xxx"
В parameters передается словарь всех тех же параметров, что и был в начальной процедуре API метода, а также специальный параметр FalconApiGuid - он передается как во входную процедуру, так и сюда для возможности идентификации данных, сохраняемых в промежуточных внешних действиях (т.е. передали из action во внешние действия этот guid, сохранили данные по данному Guid в некой таблице, а затем в выходной процедуре _result извлекли эти данные для формирования выходного результата работы API метода).
При этом outerData содержит в себе JSON строку, в котором записаны все результаты по всем вызванным внешним действиям:
[{"items":[{"key":"result","value":null,"title":null,"value2":"True"},{"key":"id","value":null,"title":null,"value2":"499"}],"result":true,"msg":null,"additionalData":null,"icon":null,"type":null}]
Процедура возвращает модель Result, Msg, ErrorCode, HttpCode, RedirectUrl (если result =1, то будет происходить замена выходного сообщения).
Параметры выходной модели если установлены то подменяют соответствующие параметры SELECT входящего API.
ВАЖНО! Обязательно ставить тип вывода Text - (иначе будут добавляться ненужные элементы в выходной поток).
Google поиск по нашей документации
- Руководства
- Основа Falcon Space
- Основные компоненты
- Возможности
- Коммуникация с пользователем
- Дизайн, стилизация
- API, Интеграции Создание сервиса API для сайта. Программный интерфейс веб-платформы Как сделать вебхук (webhook) Прием платежей через Яндекс.Кассу Онлайн-платежи. Интеграция с Робокассой (платежный шлюз) Zapier интеграция на платформе Falcon Space Интеграция API DaData.ru подсказки по адресам Интеграция коллтрекинга МАНГО ОФИС (режим Площадка) Интеграция API Курсы валют Центрального Банка РФ в веб-платформе Falcon Space Интеграция API Почта РФ Интеграция API Служба доставки СДЭК (CDEK) Интеграция API Служба доставки Деловые линии Интеграция API IpGeoBase Город по IP-адресу Интеграция импорт и парсинг файла CSV Интеграция API DaData.ru Город по IP-адресу Как вычислить расстояние между 2 точками с координатами через Google Maps Передача файлов по FTP Сканирование штрихкодов и QR кодов через камеру и с картинок Получение данных контрагента по ИНН Прием платежей на сайте через CloudPayments Программное взаимодействие через API между 2 разными экземплярами Falcon Как сделать интеграцию с Мой Склад Внедрение подсказок dadata на сайт Вывод точек на карте Яндекс. Интеграция с Яндекс Карты Интеграция с телефонией Zadarma.com Как передать скрытый параметр при исходящем запросе из Request процедуры в Response Получение данных о контрагенте - интеграция с сервисом ЗаЧестныйБизнес Интеграция с AMO CRM Как импортировать данные в базу CRM из Google Контакты Вход/регистрация через ВКонтакте(vk.com) Интеграция CRM с онлайн чатом на сайте (Replain) Загрузка на форме текстовых файлов и обработка их в процедуре SaveItem Как связать yandex metrika clientID с пользователем на сайте и посмотреть полный путь его по сайту? Входящий API. Как учесть в отклике результат внешних действий в API
- Каталоги
- Навигация
- Документы
- Дополнительные компоненты
- Продвижение, SEO
- Системные моменты
- HOWTO
- HOWTO Таблицы
- HOWTO Формы
- Работа с SQL
- HOWTO JS
- HOWTO Верстка
- Решение проблем
Falcon Space
Это снижение стоимости владения
за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом
Это быстрое внесение изменений
по ходу эксплуатации программы. Как создается функционал на платформе
Это простой удобный интерфейс
адаптация под мобильные устройства. Про юзабилити платформы