API для интеграции со сторонними системами

API TWS предназначено для двухстороннего обмена данными с любыми системами, способными отправлять и обрабатывать https-запросы: учётные системы предприятий, бухгалтерские системы, ПО для организации документооборота и т.п.

API построено по принципу “Запрос-Ответ”, обмен данными производится через протокол https.

Запросы отправляются в виде POST-запроса с параметрами (заголовок Content-Type: "application/x-www-form-urlencoded"). Ответ отправляется сервером в формате JSON.

Сервер API для удобства тестирования принимает и запросы, отправленные через GET-запросы, однако это нерасчётный режим его работы, поэтому production-системы должны использовать только POST-запросы.

Кодировка запросов и ответов UTF-8.

Свяжитесь с нами, если у вас возникают какие-либо затруднения по реализации интеграции через API.

Общая схема обмена данными

Обмен данными происходит в течение API-сессии. Максимальная продолжительность сессии - 30 минут, максимальное количество одновременных сессий с одного IP-адреса - 20 сессий. Обмен данными в рамках сессии должен быть максимально быстрым, т.е. не подразумевать ожидания пользовательского ввода или ещё каких-то задержек.

Приложение устанавливает соединение, инициализирует сессию и проходит авторизацию, получает данные с сервера или отправляет их, и завершает сессию. Для нового обмена данными необходимо начать новую API-сессию.

Схема обмена данными:

  • Приложение отправляет запрос R0, в ответ получает Token.
  • Приложение дописывает к токену API Key, считает хэш сумму SHA256 и отправляет запрос R1 (с токеном и этим хешем в параметрах). Сервер в ответ даёт Session Key, с которым можно выполнять остальные запросы. Session Key действителен только в рамках текущей сессии.
  • Приложение выполняет необходимые запросы Rx (см.список ниже), используя полученный Session Key.
  • Приложение выполняет запрос RE, завершая сессию.

Чего-то не хватает?

Мы развиваем своё API по принципу “добавляем функционал при необходимости”. Если Вы хотите выгружать из Системы TWS ещё какие-либо данные, или хотите автоматизировать процесс загрузки каких-то данных в Систему TWS, свяжитесь с нами - вместе обсудим, решим и реализуем. Мы всегда открыты к сотрудничеству и заинтересованы в расширении функционала API.

Обработка ошибок

Каждый ответ сервера содержит поля “error_code” и “error_message”.

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

Разработка и тестирование

Для экспериментов с API вы можете использовать Демонстрационный Виртуальный Офис. В него добавлена лицензия на использование API, соответственно, там есть действующий ApiKey.

Поддержка любых платформ

Система TWS легко интегрируется с любой системой, способной отправлять http-запросы и обрабатывать ответы.

Мы уже провели успешные интеграции с системами, основанными на следующих платформах:

  • – чаще всего и проще всего с версией 8.3. Были случаи успешной интеграции с 8.2 и даже 7.x, но там уже добавляется немного плясок с бубном. Т.к. интеграция с 1С является самым часто используемым вариантом, мы добавили в документацию пару примеров исходного кода по отправке запросов и обработке результатов в документацию. Поглядеть можно на странице Примеры исходных кодов для самостоятельной интеграции 1C.
  • Microsoft Dynamics / Axapta / Navision
  • Delphi (внутренний корпоративный продукт).
  • PHP (внутренний корпоративный продукт).
  • SAP

Мы готовы помочь в решении проблем при интеграции с любой современной программной платформной.