CallSabyApi2

Материал из razgovorov.ru
Версия от 16:34, 29 ноября 2024; Долбицын Артём (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Описание

Прокси метод, позволяющий вызывать методы API ЭДО через ExtSdk2. Например, в статье API СБИС.ПрочитатьДокумент указан успешный вызов метода

{
   "jsonrpc": "2.0",
   "method": "СБИС.ПрочитатьДокумент",
   "params": {
      "Документ": {
         "Идентификатор": "f2a7c885-269a-44e4-8781-cb928df94163",
         "ДопПоля": "ДополнительныеПоля"
      }
   },
   "id": 0
}

В поле params переданные параметры имеют определенное название. В нашем случае параметр с именем "Документ". Для CallSabyApi2 нет необходимости указывать имя параметра, достаточно передать его значение, но необходимо соблюдать порядок передаваемых параметров. Подробнее в примере ниже.

Параметры

  • Method (строка) - название метода для вызова
  • Params (массив объектов) - массив объектов с параметрами для вызова метода

Результат

Исключения

Пример успешного вызова

Запрос

   "Method": "СБИС.ПрочитатьДокумент",
   "Params": 
   [
      {
         "Идентификатор": "f2a7c885-269a-44e4-8781-cb928df94163",
         "ДопПоля": "ДополнительныеПоля"
      }
   ]

Ответ

{
  "Result": {
       "Автор": {
         "Идентификатор": "",
         "Имя": "Иван",
         "Отчество": "Иванович",
         "Фамилия": "Иванов"
      },
      "Вложение": [],
      ...
  }, 
  "Stat": ...
}

Ответ с ошибкой

{
  'code': 100,
  'detail': "Не найден документ с идентификатором 'f2a7c885-269a-44e4-8781-cb928df94163'",
  'dump': {},
  'message': "Не найден документ с идентификатором 'f2a7c885-269a-44e4-8781-cb928df94163'",
  'method_name': 'ExtSdk2.CallSabyApi2',
  'stack': [
              {
                'error': " : error -1 Не найден документ с идентификатором 'f2a7c885-269a-44e4-8781-cb928df94163'",
                'method_name': 'SbisCallSabyApi'
              },
              {
                'method_name': 'ExtSdk2.CallSabyApi2'
              }
           ]
}