Необходимо разработать программу на C# для работать с API Bitrix24

Цена договорная
03 сентября 2019, 08:30 • 5 откликов • 62 просмотра
Необходимо разработать программу на C#, которая будет работать с API системы Bitrix24 (https://dev.1c-bitrix.ru/rest_help/crm/index.php). Программа нужна для экспорта данных из этой системы и последующего переноса в другую.

Сущности, которые нужно экспортировать: Лиды, контакты, компании (а также дочерние сущности такие как комментарии, живая лента и т.п.).

Алгоритм работы программы:

1. При запуске программы запомнить время запуска в UTC в переменную.
2. Загрузка одной страницы (API Битрикс выдаёт только 50 записей за раз и нужно использовать параметр "start" для пагинации) данных какой-либо сущности. Например, для лидов:

https://xxx.bitrix24.ru/rest/yy/zzzzzzzzzzzzzzzz/crm.lead.list/

3. Сравнение со своей базой уже собранных сущностей (нужно использовать MSSQL).

При не нахождении такой сущности в своей БД нужно добавить такую сущность (с прошлого времени запуска программы эта сущность была добавлена в Битрикс) со значением колонок REVISION = 0 и REVISION_DATE = (UTC-время из пункта 1) соответственно.

Если такая сущность найдена в своей базе и одно из значений полей сущности изменилось -- удалить старую запись сущности и добавить новую со значениями колонок REVISION = (предыдущее значение REVISION + 1) и REVISION_DATE = (UTC-время из пункта 1) соответственно.

4. Переход к следующей странице и повтор шагов 2 и 3.
5. Как только один тип сущности был обработан (все возможные сущности были выгружены), нужно перейти к другому. Например, мы обработали лиды и дальше переходим к компаниям и т.д.

Результаты работы программы в виде готовой MSSQL базы данных затем будут обработаны определённым образом и загружены в другую систему. Готовую схему БД Битрикс можно посмотреть здесь: https://dev.1c-bitrix.ru/rest_help/crm/fields.php Учесть что существуют пользовательские поля, которые можно создавать в Битрикс (начинаются с "UF_") их также нужно экспортировать (можно использовать колонку с массивом значений таких полей в JSON). В схеме БД также предусмотреть поле с значением JSON-представления сущности (можно использовать просто из выдачи API Битрикса).

Перед началом работы:

1. Создать новый аккаунт в системе Битрикс24
2. Включить демо режим на 30 дней в разделе "Мой тариф".
3. Создать входящий вебхук с максимальными правами доступа
4. Добавить пользовательские поля к сущностям
5. Добавить тестовые данные (компании, лиды и пр.)

При подаче заявки на этот проект необходимо указать за сколько Вы готовы это сделать и сколько времени это займёт.
Необходимо использовать систему контроля версий git и коммитить промежуточные результаты работы в определённый git репозиторий.
Технологии, которые нужно использовать: .NET Framework, язык программирования C#