Спецификация OpenRPC

18.04.22

Интеграция - WEB-интеграция

Спецификация OpenRPC определяет стандартное, независимое от языка программирования описание интерфейса для API-интерфейсов JSON-RPC 2.0. Перевод общей информации и спецификации с официального сайта https://open-rpc.org/

Предисловие

Перевожу данную спецификацию с расчетом, что смогу реализовать JSON-RPC с документированием через HTTP сервисы 1С. Сделать что-то вразумительное в стиле REST не получилось, сказалось отсутствие инструментария на уровне платформы (RegExp до сих пор не завезли). Вижу в качестве решения что перед 1С будет стоять прокси, в котором удобно реализовать современные протоколы, а 1С использовать как back-back-end. JSON-RPC стилистически похож на SOAP, но более легковесный (наличие автодокументации с JSON схемами перекрывает использование wsdl схем). Вопрос с валидацией схем пока открыт, есть наработки //infostart.ru/public/1265429/, но обвязки хранения и использования в контексте сервера еще не реализовано.

"|" - обозначает ИЛИ

"[]" - обозначает массив элементов

"GitHub Flavored Markdown", часто сокращаемый как GFM, - это диалект Markdown, который в настоящее время поддерживается для пользовательского контента на GitHub.com и GitHub Enterprise.

Введение

Спецификация OpenRPC определяет стандартное, не зависящее от языка программирования описание интерфейса для API JSON-RPC 2.0, которое позволяет как людям, так и компьютерам обнаруживать и понимать возможности службы, не требуя доступа к исходному коду, дополнительной документации или проверки сетевого трафика. При правильном определении через OpenRPC потребитель может понимать и взаимодействовать с удаленной службой с минимальным количеством логики реализации. Подобно описаниям интерфейсов для программирования более низкого уровня, спецификация OpenRPC устраняет догадки при вызове службы.

Варианты использования для машиночитаемых документов определения API JSON-RPC включают, но не ограничиваются:

  • интерактивная документация
  • генерация кода по документации
  • клиенты
  • серверы
  • автоматизация тестирования.

Документы OpenRPC описывают API-сервисы JSON-RPC и представлены в формате JSON. Эти документы могут создаваться и обслуживаться статически или динамически из приложения.

Спецификация OpenRPC не требует переписывания существующих API JSON-RPC. Он не требует привязки какого-либо программного обеспечения к сервису - описываемый сервис может даже не принадлежать создателю его описания. Однако требуется, чтобы возможности службы были описаны в структуре спецификации OpenRPC. Не все сервисы могут быть описаны OpenRPC — эта спецификация не предназначена для покрытия API REST - она предназначена исключительно для API, которые придерживаются спецификации JSON-RPC 2.0. Спецификация OpenRPC не требует определенного процесса разработки, такого как design-first или code-first. Это облегчает любой метод, устанавливая четкие взаимодействия с API JSON-RPC.

Определения

Документ OpenRPC
Документ (или набор документов), который определяет или описывает API. Документ OpenRPC использует спецификацию OpenRPC и соответствует ей.

Поля шаблонов
Поле (пара ключ - значение), в котором имя ключа задается пользователем, а значение определяется спецификацией для шаблонного поля. Поле шаблона является регулярным выражением.

Регулярное выражение
В спецификации OpenRPC и инструментах рекомендуется использовать регулярные выражения, совместимые с Perl. При этом разработчики инструментов ДОЛЖНЫ придерживаться регулярных выражений ECMA-262 6th Edition.

 

Официальный OpenRPC инструментарий (Tooling)

Инструмент, который создается, поддерживается и документируется организацией OpenRPC. Он предназначен для использования в качестве функциональной эталонной реализации спецификации. Пользователям спецификации OpenRPC рекомендуется создавать версии инструмента как свою собственные организации/проекты.

Примечание переводчика: Ссылки на инструменты https://open-rpc.org/developers

 

Версии

Спецификация OpenRPC версионируется с использованием семантического управления версиями 2.0.0.

Часть версии"major.minor" (например, 1.0.x) ДОЛЖНА обозначать набор функций OpenRPC. Как правило, версии ".patch" устраняют ошибки в этом документе, а не в наборе функций. Инструментарий, поддерживающий OpenRPC 1.0.0, ДОЛЖЕН быть совместим со всеми версиями OpenRPC 1.0.x. Версия исправления НЕ ДОЛЖНА учитываться инструментами, не делая различий, например, между 1.0.0 и 1.0.1.

Последующие выпуски второстепенных версий спецификации OpenRPC (увеличение "minor" номера версии) НЕ должно мешать инструменту, разработанному для более низкой младшей версии и той же основной версии. Таким образом, гипотетическая 1.1.0 спецификация ДОЛЖНА использоваться с инструментами, предназначенными для 1.0.0.

Документ OpenRPC, совместимый с OpenRPC 1.0.0, содержит обязательное "openrpc" поле, которое обозначает семантическую версию OpenRPC, которую он использует.

 

Формат

Документ OpenRPC, соответствующий спецификации OpenRPC, сам по себе является объектом JSON, который должен быть представлен в формате JSON. Из-за характера API-интерфейсов JSON-RPC, использующих форматы JSON, строго используйте JSON только так, как описано здесь. Если вы хотите использовать любой другой формат, кроме JSON, он должен быть преобразован вне любого инструмента OpenRPC.

Примечание переводчика: для ручного формирования документации удобнее использовать YAML, проверено на Swagger/OpenAPI, но позиция авторов такова что "только JSON", https://github.com/open-rpc/spec/issues/265. Использовать конвертер JSON<->YAML ради удобного просмотра или формирования без автодополнения неудобно.

Рекомендуется, чтобы документ OpenRPC назывался: openrpc.json. Инструмент , для ввода которого требуется документ OpenRPC, МОЖЕТ принять расположение документа по умолчанию "./openrpc.json", где "./" представляет текущий рабочий каталог.

Все имена полей в спецификации чувствительны к регистру. camelCase СЛЕДУЕТ использовать для всех ключевых имен. Сюда входят все поля, которые используются в качестве ключей в соответствии (map), за исключением случаев, когда явно указано, что ключи нечувствительны к регистру.

Согласно спецификации JSON для объектов, имена ключей ДОЛЖНЫ быть уникальными. Однако, чтобы избежать двусмысленности, все шаблонные поля в документе OpenRPC ДОЛЖНЫ иметь уникальные имена ключей внутри содержащего объекта.

 

Форматирование текста

Все поля спецификации "description" отмечены как поддерживающие форматирование Github markdown. Там, где инструмент OpenRPC отображает форматированный текст, он ДОЛЖЕН поддерживать, как минимум, синтаксис markdown, как описано в GitHub Flavored Markdown. Tooling МОЖЕТ игнорировать некоторые функции "GitHub Flavored Markdown" для решения проблем безопасности.

 

Метод обнаружения службы

API JSON-RPC могут поддерживать спецификацию OpenRPC, реализуя метод обнаружения служб, который возвращает схему OpenRPC для API JSON-RPC. Метод ДОЛЖЕН быть назван "rpc.discover." "rpc." префикс является зарезервированным префиксом метода для системных расширений спецификации JSON-RPC 2.0. Ниже приведена спецификация OpenRPC для метода обнаружения службы:

{
  "methods": [
    {
      "name": "rpc.discover",
      "description": "Returns an OpenRPC schema as a description of this service",
      "result": {
        "name": "OpenRPC Schema",
        "schema": {
          "$ref": "https://raw.githubusercontent.com/open-rpc/meta-schema/master/schema.json"
        }
      }
    }
  ]
}

Примеры

Примеры документов OpenRPC можно найти в OpenRPC Examples. Должен быть пример, который использует каждую концепцию спецификации. Эти примеры должны быть использованы в качестве основы тестирования для всех официальных инструментов OpenRPC.

 

Объект OpenRPC

Это корневой объект документа OpenRPC. Содержимое этого объекта представляет собой целый документ OpenRPC. То, как этот объект создается или хранится, выходит за рамки спецификации OpenRPC.

Имя поля Тип Описание
openrpc строка Обязательное. Эта строка ДОЛЖНА быть семантическим номером версии спецификации Open RPC, используемой в документе OpenRPC. Поле openrpc ДОЛЖНО использоваться спецификациями инструментов и клиентами для интерпретации документа OpenRPC. Это не связано со строкой API info.version.
info Объект информации Обязательное. Предоставляет метаданные об API. Метаданные МОГУТ быть использованы инструментарием по мере необходимости.
servers [Объект сервера] Массив серверных объектов, которые предоставляют информацию о подключении к целевому серверу. Если свойство "servers" не указано или представляет собой пустой массив, значением по умолчанию будет объект Server со значением URL localhost.
methods

[Объект метода] |[Объект примера]

Обязательное. Доступные методы для API. Пока это требуется, массив может быть пустым (например, для обработки фильтрации безопасности).
components Объект компонента Элемент для хранения различных схем для спецификации.
externalDocs Объект внешней документации Дополнительная внешняя документация.

Этот объект МОЖЕТ быть расширен с помощью расширений спецификации.

 

Объект информации (Info Object)

Объект предоставляет метаданные об API. Метаданные МОГУТ быть использованы клиентами, если это необходимо, и МОГУТ быть представлены в инструментах редактирования или создания документации для удобства.

Имя поля Тип Описание
title строка Обязательное. Название приложения
description строка Подробное описание приложения. Синтаксис GitHub Flavored Markdown МОЖЕТ использоваться для представления расширенного текста.
termsOfService строка URL-адрес Условий предоставления услуг для API. ДОЛЖЕН быть в формате URL.
contact Объект контакта Контактная информация для открытого API.
license Объект лицензии Информация о лицензии для открытого API.
version строка Обязательное. Версия документа Open RPC (которая отличается от версии спецификации OpenRPC или версии реализации API).

Этот объект МОЖЕТ быть расширен с помощью расширений спецификации.

 

Объект контакта (Contact Object)

Контактная информация для открытого API.

Имя поля Тип Описание
name строка Идентифицирующее имя контактного лица/организации.
url строка URL-адрес, указывающий на контактную информацию. ДОЛЖЕН быть в формате URL.
email строка Адрес электронной почты контактного лица/организации. ДОЛЖЕН быть в формате адреса электронной почты.

Этот объект МОЖЕТ быть расширен с помощью расширений спецификации.

 

Объект лицензии (License Object)

Информация о лицензии для открытого API.

Имя поля Тип Описание
name строка
Обязательное. Имя лицензии, используемое для API.
url строка URL-адрес лицензии, используемой для API. ДОЛЖЕН быть в формате URL.

Этот объект МОЖЕТ быть расширен с помощью расширений спецификации.

 

Объект сервера (Server Object)

Объект описывающий сервер.

Имя поля Тип Описание
name строка Обязательное. Имя, которое будет использоваться в качестве канонического имени сервера.
url Выражение выполнения Обязательное. URL-адрес целевого хоста. Этот URL-адрес поддерживает переменные сервера и МОЖЕТ быть относительным, чтобы указать, что местоположение хоста относительно местоположения, в котором обслуживается документ OpenRPC. Переменные сервера передаются в выражение времени выполнения для создания URL-адреса сервера.
summary строка Краткое изложение того, что такое сервер.
description строка Необязательная строка, описывающая хост, назначенный URL. Синтаксис GitHub Flavored Markdown МОЖЕТ использоваться для представления расширенного текста.
variables Соответствие из строк | Объект переменных сервера Сопоставление между именем переменной и ее значением. Значение передается в выражение среды выполнения для создания URL-адреса сервера.

Этот объект МОЖЕТ быть расширен с помощью расширений спецификации.

 

Объект переменных сервера (Server Variable Object)

Объект, представляющий серверную переменную для замены шаблона URL-адреса сервера.

Имя поля Тип Описание
enum [строка] Массив строковых значений, которые будут использоваться, если параметры подстановки из ограниченного набора.
default строка

Обязательное. Значение по умолчанию для подстановки, которое будет отправлено, если альтернативное значение не указано.

Обратите внимание, что это поведение отличается от обработки объектом схемы значений по умолчанию, поскольку в этих случаях значения параметров являются необязательными.

description строка Необязательное описание для переменной сервера. Синтаксис GitHub Flavored Markdown МОЖЕТ использоваться для представления расширенного текста.

Этот объект МОЖЕТ быть расширен с помощью расширений спецификации.

 

Объект метода (Method Object)

Описывает интерфейс для данного имени метода. Имя метода используется в качестве поля метода тела JSON-RPC. Поэтому он ДОЛЖЕН быть уникальным.

Имя поля Тип Описание
name строка Обязательное. Каноническое имя метода. Имя ДОЛЖНО быть уникальным в массиве методов.
tags [Объект тега | Эталонный объект] Список тегов для управления документацией API. Теги могут использоваться для логической группировки методов по ресурсам или любому другому классификатору.
summary строка Краткое изложение того, что делает метод.
description строка Подробное объяснение поведения метода. Синтаксис GitHub Flavored Markdown МОЖЕТ использоваться для представления расширенного текста.
externalDocs Внешний объект документации Дополнительная внешняя документация для этого метода.
params [Дескриптор содержимого | Эталонный объект] Обязательное. Список параметров, применимых для этого метода. Список НЕ ДОЛЖЕН содержать дублированных параметров и поэтому требует, чтобы имя было уникальным. Список может использовать ссылочный объект для ссылки на параметры, определенные объектом "Дескриптор содержимого". Все необязательные параметры (объекты дескриптора содержимого с "required": false) ДОЛЖНЫ располагаться после всех обязательных параметров в списке.
result [Дескриптор содержимого | Эталонный объект] Обязательное. Описание результата, возвращаемого методом. Это ДОЛЖЕН быть Дескриптор содержимого.
deprecated булево Объявляет этот метод устаревшим. Потребители ДОЛЖНЫ воздерживаться от использования заявленного метода. Значение по умолчанию "false".
servers [Объект сервера] Альтернативный массив "servers"  для обслуживания этого метода. Если альтернативный массив "servers" указан на корневом уровне, он будет переопределен этим значением.
errors [Объект ошибки | Эталонный объект] Список ошибок, определяемых пользовательским приложением, которые МОГУТ быть возвращены. Ошибки ДОЛЖНЫ иметь уникальные коды ошибок.
links [Объект ссылки | Эталонный объект] Список возможных ссылок из этого вызова метода.
paramStructure "by-name" | "by-position" | "either"

Ожидаемый формат параметров. Согласно спецификации JSON-RPC 2.0, параметрами объекта запроса JSON-RPC могут быть "массив", "объект" или "любой из" (представленные как "by-position", "by-name" и "either" соответственно).

Когда метод имеет значение "paramStructure", равное "by-name", вызывающие метод ДОЛЖНЫ отправить объект запроса JSON-RPC, поле параметров которого является объектом. Кроме того, имена ключей объекта params ДОЛЖНЫ совпадать с "contentDescriptor.names" для данного метода. По умолчанию используется значение "either".

examples "Объект парного примера" Массив из "Объект парного примера", где каждый пример включает в себя допустимое сопряжение параметров запроса с результатом "Дескриптор содержимого".

Этот объект МОЖЕТ быть расширен с помощью расширений спецификации.

 

Объект дескриптора содержимого (Content Descriptor Object)

Дескрипторы контента - это объекты, которые делают то, что они предлагают- описывают контент. Это многоразовые способы описания параметров или результата. Они ДОЛЖНЫ иметь схему.

Имя поля Тип Описание
name строка Обязательное. Имя описываемого содержимого. Если описанное содержимое является назначаемым параметром метода by-name, это поле ДОЛЖНО определять ключ параметра (т. е. Имя).
summary строка
Краткое изложение описываемого содержимого.
description строка Подробное объяснение поведения дескриптора содержимого. Синтаксис GitHub Flavored Markdown МОЖЕТ использоваться для представления расширенного текста.
required булево Определяет, является ли содержимое обязательным полем. Значение по умолчанию "false".
schema Объект схемы Обязательное. Схема, описывающая содержимое.
deprecated булево Указывает, что содержимое устарело и ДОЛЖНО быть выведено из использования. Значение по умолчанию "false".

Этот объект МОЖЕТ быть расширен с помощью расширений спецификации.

 

Объект схемы (Schema Object)
Объект схемы позволяет определять типы входных и выходных данных. Объекты схемы ДОЛЖНЫ соответствовать описанию спецификаций JSON Schema Specification 7, каждый раз, когда объект схемы может использоваться, вместо него может использоваться "Ссылочный объект". Это позволяет ссылаться на определения, а не определять их повторно (inline).

 

Объект парного примера (Example Pairing Object)

Объект примера состоит из набора параметров примера и результата. Результат-это то, что вы можете ожидать от службы JSON-RPC, учитывая точные параметры.

Имя поля Тип Описание
name строка
Имя для примера сопряжения.
description строка Подробное объяснение примера сопряжения.
summary строка Краткое описание примера сопряжения.
params [Объект примера| Объект ссылки] Пример параметров.
result Объект примера| Объект ссылки Пример результата.

Этот объект МОЖЕТ быть расширен с помощью расширений спецификации.

 

Объект примера (Example Object)

Объект примера - это объект, определяющий пример, который должен соответствовать заданной "Схеме дескриптора содержимого". Если "Схема дескриптора содержимого" включает "examples", значение из этого примера объекта заменяет значение примера схемы.

Имя поля Тип Описание
name строка Каноническое имя примера.
summary строка Краткое описание примера.
description строка Подробное объяснение примера. Синтаксис GitHub Flavored Markdown МОЖЕТ использоваться для представления расширенного текста.
value любой Встроенный буквальный пример. Поля "value" и "externalValue" являются взаимоисключающими. Чтобы представить примеры типов носителей, которые не могут быть естественным образом представлены в JSON, используйте строковое значение, содержащее пример, экранируя его там, где это необходимо.
externalValue строка URL-адрес, указывающий на буквальный пример. Это дает возможность ссылаться на примеры, которые не могут быть легко включены в документы JSON. Поля "value" и "externalValue" являются взаимоисключающими.

Этот объект МОЖЕТ быть расширен с помощью расширений спецификации.

 

Объект ссылки (Link Object)

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

В отличие от динамических ссылок (т.е. Ссылок, предоставляемых в полезной нагрузке результата), механизм связывания OpenRPC не требует информации о ссылках в результате выполнения.

Для вычисления ссылок и предоставления инструкций, а так же для их выполнения "выражение выполнения" используется для доступа к значениям в методе и использования их в качестве параметров при вызове связанного метода.

Имя поля Тип Описание
name строка Обязательное. Каноническое имя ссылки.
description строка Описание ссылки. Синтаксис GitHub Flavored Markdown МОЖЕТ использоваться для представления расширенного текста.
summary строка Краткое описание для ссылки.
method строка Имя существующего разрешаемого метода OpenRPC, определенного с помощью уникального "method". Это поле ДОЛЖНО быть преобразовано в уникальный объект метода. В отличие от OpenAPI, относительные "method" значения НЕ допускаются.
params

Соответствие из

строка | любой | выражение выполнения

Соответствие, представляющая параметры для передачи методу, как указано в "method". Ключ - это имя параметра, которое будет использоваться, тогда как значение может быть константой или "выражение выполнения", которое будет вычислено и передано связанному методу.
server Объект сервера Объект сервера, используемый целевым методом.

 

Связанный метод должен быть идентифицирован непосредственно и должен существовать в списке методов, определенных объектом Methods.

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

Значения из результата могут использоваться для управления связанным методом.

Клиенты переходят по всем ссылкам по своему усмотрению. Ни разрешения, ни возможность успешного вызова этой ссылки не гарантируется исключительно существованием отношения.

Этот объект МОЖЕТ быть расширен с помощью расширений спецификации.

 

Выражение выполнения (Runtime Expression)

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

Выражение времени выполнения использует синтаксис языка шаблонов JSON.

В таблице ниже приведены примеры выражений времени выполнения и примеры их использования в значении:

в документации таблица отсутствует

Выражения времени выполнения сохраняют тип ссылочного значения.

 

Объект ошибки (Error Object)

Определяет ошибку уровня приложения.

Имя поля Тип Описание
code Код ошибки, определяемый приложением Обязательное. Число, указывающее тип ошибки, которая произошла. Это ДОЛЖНО быть целое число. Коды ошибок от -32768 до -32000 зарезервированы для предопределенных ошибок. Предполагается, что эти предопределенные ошибки возвращаются из любого API JSON-RPC.
message строка
Обязательное. Строка, содержащая краткое описание ошибки. Сообщение ДОЛЖНО быть ограничено одним кратким предложением.
data любой Примитивное или структурированное значение, содержащее дополнительную информацию об ошибке. Это может быть опущено. Значение этого члена определяется Сервером (например, подробная информация об ошибках, вложенные ошибки и т.д.).

 

Объект компоненты (Components Object)

Содержит набор повторно используемых объектов для различных аспектов OpenRPC. Все объекты, определенные в объекте components, не будут влиять на API, если на них явно не ссылаются свойства вне объекта components.

Имя поля Тип Описание
contentDescriptors соответствие(строка, Объект дескриптора содержимого) Объект для хранения повторно используемых "Объект дескриптора содержимого"
schemas соответствие(строка, Объект схемы) Объект для хранения повторно используемых "Объект схемы"
examples соответствие(строка, Объект примера) Объект для хранения повторно используемых "Объект примера"
links соответствие(строка, Объект ссылки) Объект для хранения повторно используемых "Объект ссылки"
errors соответствие(строка, Объект ошибки) Объект для хранения повторно используемых "Объект ошибки"
examplePairingObjects соответствие(строка, Объект парного примера) Объект для хранения повторно используемых "Объект парного примера"
tags соответствие(строка, Объект тега) Объект для хранения повторно используемых "Объект тега"

Этот объект МОЖЕТ быть расширен с помощью расширений спецификации.

Все фиксированные поля, объявленные выше, являются объектами, которые ДОЛЖНЫ использовать ключи, соответствующие регулярному выражению: "^[a-zA-Z0-9\.\-_]+$"

 

Объект тега (Tag Object)

Добавляет метаданные к одному тегу, который используется "Объект метода". Не обязательно иметь объект тега для каждого тега, определенного в экземплярах объекта метода.

Имя поля Тип Описание
name строка Обязательное. Имя тега.
summary строка Краткое описание тега.
description строка Подробное объяснение тега. Синтаксис GitHub Flavored Markdown МОЖЕТ использоваться для представления расширенного текста.
externalDocs Объект внешней документации Дополнительная внешняя документация для этого тега.

Этот объект МОЖЕТ быть расширен с помощью расширений спецификации.

 

Объект внешней документации (External Documentation Object)

Позволяет ссылаться на внешний ресурс для расширенной документации.

Имя поля Тип  
description строка Подробное объяснение целевой документации. Синтаксис GitHub Flavored Markdown МОЖЕТ использоваться для представления расширенного текста.
url строка Обязательное. URL-адрес целевой документации. Значение ДОЛЖНО быть в формате URL.

Этот объект МОЖЕТ быть расширен с помощью расширений спецификации.

 

Объект ссылки

Простой объект, позволяющий ссылаться на другие компоненты спецификации, внутренние и внешние.

Ссылочный объект определяется схемой JSON и следует той же структуре, поведению и правилам.

Имя поля Тип Описание
$ref строка Обязательное. Ссылочная строка.

Этот объект не может быть расширен дополнительными свойствами, и любые добавленные свойства должны игнорироваться.

 

Расширения спецификации

В то время как спецификация OpenRPC пытается приспособить большинство вариантов использования, дополнительные данные могут быть добавлены для расширения спецификации в определенных точках.

Свойства расширений реализуются в виде шаблонных полей, которые всегда имеют префикс "x-".

Расширения могут поддерживаться или не поддерживаться доступными инструментами, но они также могут быть расширены для добавления запрашиваемой поддержки (если инструменты являются внутренними или открытыми).

 

Благодарю за внимание.

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    15992    13    18    

13

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (8.3.18.1289). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    17994    9    15    

14

SALE! 10%

Автоматическая загрузка файлов (например, прайс-листов) из электронной почты, FTP, HTTP, их обработка и выгрузка на FTP (на сайт) и для других целей

Прайсы WEB-интеграция Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Автомобили, автосервисы Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Программа с заданным интервалом времени (или по ручной команде) скачивает файлы (например, прайс-листы поставщиков) из различных источников: письма электронной почты, FTP или HTTP-адреса, и сохраняет их в каталог упорядоченной структуры. При этом извлекает файлы из архивов, может переименовывать файлы и менять их формат (csv, xls, txt). Можно настроить выгрузку обработанных файлов на сайт (через FTP-подключение). Программа будет полезна компаниям, у которых есть большое количество поставщиков и/или прайс-листы поставщиков обновляются часто (необязательно прайс-листы, файлы могут быть любого назначения). Собранные таким образом актуальные версии прайс-листов можно выгрузить с помощью программы себе на сайт (или на любой FTP-сервер) или выполнить другие необходимые задачи.

28000 25200 руб.

28.05.2015    85003    26    51    

50

Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС

Обмен с ГосИС WEB-интеграция Платформа 1С v8.3 Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

2400 руб.

28.04.2016    89152    163    216    

320

[Расширение] БОР-Навигатор.Культура

Зарплата Бюджетный учет WEB-интеграция Обмен с ГосИС Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    25903    9    0    

7
Оставьте свое сообщение