Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

ТЗ выгрузка данных YC в свою БД

Документация YClients https://developers.yclients.com/ru/#operation/Получить%20список%20клиентов Данные необходимо сохранять в БД PostgreSQL, размещенную на reg.ru

Таблицы: 1 Записи 2 Клиенты 2.1 Категории клиентов 3 Сотрудники 3.1 Должности сотрудников 4 Услуги 4.1 Сотрудники, оказывающие услугу 5 Финансовые операции 5.1 Категория операции 5.2 Касса 6 Таблица синхронизации. Поля: сущность, порядковый номер последней записи (нужна для того, чтобы очередной проход синхронизации стартовать с конкретного места, а не с начала)

Порядок синхронизации

  • Запуск скрипта
  • Авторизация
  • Выгружаем список сотрудников
  • Загружаем список услуг
  • Синхронизируем список всех клиентов (по алгоритму ниже)
  • Синхронизируем список всех записей (по алгоритму ниже)
  • Синхронизируем список всех финансовых операций
Общий алгоритм синхронизации пагинированных данных: Смотрим последнюю запись в нашей БД, берем ее id. Смотрим последний порядковый номер записи из таблицы 6 Делаем запрос с нужной страницы. Например, если последний сохраненный порядковый номер 524, то делаем запрос с pageSize = 200 и pageNumber = 3. Таким образом, последняя сохраненная запись попадет в текущую страницу. Проверяем, что id записи из ответа запроса по порядковому номеру из таблицы 6 равен последнему id из нашей таблицы. Иначе говоря, проверяем, что ничего не добавилось/удалилось из начала таблицы.

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

Авторизация https://developers.yclients.com/ru/#operation/Авторизовать%20пользователя

Запрос сотрудников https://developers.yclients.com/ru/#operation/Получить%20список%20сотрудников%20/%20конкретного%20сотрудника Запрос не панированный. Получили данные, все сохранили в БД. Должность сотрудника сохраняем в таблицу 3.1

Запрос услуг https://developers.yclients.com/ru/#operation/Получить%20список%20услуг%20/%20конкретную%20услугу Запрос не пагинированный. Массив staff сохраняем в таблицу 4.1.

Запрос клиентов https://developers.yclients.com/ru/#operation/Получить%20список%20клиентов Body имеет следующий вид: { "page": 1, "page_size": 25, "fields": [ "id", "name" ], "order_by": "name", "order_by_direction": "desc", "operation": "AND", "filters": [] } Какие параметры указывать в body page - номер страницы по алгоритму page_size - 200 fields: "id" "name" "phone" "email" "card" "birth_date" "comment" "discount" "sex_id" "sex" "sms_check" "sms_bot" "sms_not" "balance" "importance_id" "importance" "categories" "last_change_date" "custom_fields" order_by: id order_by_direction: asc operation: AND filters: [] Массив categories записывается в отдельную таблицу 2.1

Запрос записей https://developers.yclients.com/ru/#operation/Получить%20список%20записей Параметры для query page - номер страницы по алгоритму page_size = 200 Массив services - ссылки не соответствующие услуги из таблицы 4 Массив staff - ссылки на соответствующие записи из таблицы 3 Client - ссылка на запись из таблицы 2 Document - не сохраняем

Запрос финансовых операций https://developers.yclients.com/ru/#tag/Finansovye-tranzakcii поле «expense» пишем в отдельную таблицу 5.1 категорий финансовых операций, финансовая операция имеет ссылку на эту запись Поле «account» пишем в отдельную таблицу «кассы» 5.2. Финансовая операция имеет ссылку на эту запись Поле «client» - ссылка на запись клиента

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

3 года назад
miher19mri94
Михаил 
30 лет
7 лет в сервисе
Был
3 года назад

Выбранный исполнитель

izmaylov_d
Дмитрий 
30 лет
7 лет в сервисе
Был
3 года назад
3 года назад
$100
5 дней
Рекомендую Дмитрия. Сам инициировал составление подробного ТЗ со структурой всех таблиц. К работе подходит методично, на связи в оговорённое время. Результат полностью соответствует ожиданиям.
Положительные впечатления от сотрудничества. Михаил точно описал задачу и дополнил инструкциями о том, как он видит реализацию. Все необходимые данные были предоставлены своевременно и в полном объеме. Всегда был на связи и оперативно отвечал на вопросы, которые возникали в процессе реализации задачи. Оплата точно в срок. Рекомендую к сотрудничеству!

Заявки фрилансеров

izmaylov_d
Дмитрий 
30 лет
7 лет в сервисе
Был
3 года назад
3 года назад
  • Похожие заказы

  • $133

    Необходимо собрать базу всех кадастровых номеров земельных участков, расположенных в радиусе 15 минут пешком от станций метро и МЦД в Москве и Московской области. Метод сбора данных может быть любым: ручной, парсингом или другим способом. Главное — предоставить готовый результат.

    Базы данных4 заявки
    Закрыт
    3 года назад
  • Требуется разработать программу для менеджеров по работе с турагентствами. Необходимо реализовать загрузку списка турагентств, возможность редактирования карточек, добавления и удаления записей, а также изменения статуса работы. Также требуется форма регистрации для менеджеров и их личные кабинеты с отображением турагентств. Программу нужно разместить на сервере.

    Базы данных1 исполнитель
    Закрыт
    3 года назад
  • $500

    Требуется перевести десктопную версию приложения с Angular 1.5.8 на версию 2 и выше. Проект связан с метео и агро данными. Оценка должна быть за весь проект с указанием сроков выполнения. Возможна работа через MR в GitLab.

    Базы данныхнет заявок
    Закрыт
    3 года назад
  • Требуется разработка API для сервиса рассылки и парсинга Telegram чатов. Дизайн и фронтенд уже готовы. Ищется специалист для долгосрочного сотрудничества, возможно получение процента от заработка проекта.

    Базы данных2 заявки
    Закрыт
    3 года назад
  • Необходимо интегрировать колонку на сайт для отображения информации о транзакциях с BSC блокчейна. Информация должна извлекаться напрямую с RPC серверов, без задержек. В колонке должны отображаться данные о игроках в игре Biswap: номер игрока, уровень, кошелек и время.

    Базы данных1 заявка
    Закрыт
    3 года назад
  • Требуется заполнить Word шаблон данными из таблицы Google Excel для автоматического создания ярлыков, предназначенных для отправки на почту. Необходимо обеспечить корректное извлечение информации и форматирование документа.

    Базы данных3 заявки
    Закрыт
    3 года назад
  • Необходимо осуществить перенос данных из базы ЗУП КОРП в обычную базу ЗУП. Задача включает перенос информации по персональному учету, расчету заработной платы и налогам. Дополнительные функции КОРП не используются. Требуется решить возникшую ошибку при самостоятельном переносе.

    Базы данныхнет заявок
    Закрыт
    3 года назад
  • Необходимо выполнить одно из заданий на Pascal, выбираемое из прикрепленного файла. Задача заключается в добавлении процедуры к уже готовой программе. Ожидается работа с базами данных и корректное внедрение кода.

    Базы данныхнет заявок
    Закрыт
    3 года назад
  • Требуется настроить автопостинг в Telegram канал из базы данных MySQL. При добавлении новых записей в определенные поля необходимо организовать автоматическую публикацию через бота. Необходимы навыки работы с MySQL и Telegram API.

    Базы данных4 заявки
    Закрыт
    3 года назад