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