Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Входящий 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 поиск по нашей документации
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта