Разработать модуль для OAuth интеграции с Drip

10 000 руб. за проект • безналичный расчёт, электронные деньги
12 апреля 2018, 17:03 • 1 отклик • 11 просмотров
обходимо реализовать интеграцию сервиса Drip http://developer.drip.com/ c convertful. Скрипт должен добавлять подписчиков (subscribers) в определенную компанию drip.
На данный момент готов GUI для тестирования и реализован пример интеграции HubSpot. С GUI можно ознакомится по ссылке http://joxi.net/bmoR6wGHMa9x8r.

Это GUI доступен в репозитории https://github.com/convertful/integrations-dev, инструкции по установке можно прочитать в README.md

Как должна работать интеграция с Drip (см. картинку выше):

  1. После выбора интеграции пользователя просят ввести название интеграции и пройти oauth авторизацию
  2. Затем скрипт использует полученные от пользователя данные для прохождения авторизации и получения данных (список компаний пользователя) из интеграции. Если во время авторизации или получения данных произошла ошибка, то мы должны выкинуть исключение ( посмотреть пример ошибок можно в драйвере HubSpot )
  3. После успешной авторизации мы запрашиваем настройки интеграции у пользователя
  4. Следующим шагом мы должны заполнить форму с email (и другими данными) и отправить ее в провайдера интеграции.
    кнопка Get Person: проверяет создан ли подписчик в Drip и принадлежит ли он выбранной компании (п.2), если да, то возвращает его объект в формате данных Convertful (посмотреть можно в файле README)
  5. кнопка Create person: добавляет подписчика
  6. кнопка Update person: обновляет подписчика, в качестве идентификатора мы используем email.
  7. кнопка Submit: проверяет создан ли подписчик и добавляет/обновляет его (аналог get person + create/update person)

Техническое описание:

Для реализации интеграции необходимо создать класс от Integration_OauthDriver с интерфейсом Integration_Interface_BackendESP и реализовать все недостающие методы:

  • describe_credentials_fields - описание полей для формы доступа (по аналогии с https://github.com/convertful/integrations-dev/...)
  • describe_params_fields - описание полей для параметров интеграции (по аналогии с https://github.com/convertful/integrations-dev/...)
  • oauth_get_token / oauth_refresh_token - методы для получения и обновления токенов oauth интеграции
  • fetch_meta - функция для получения списка компаний из интеграции
  • get_person / create_person / update_person - функции для работы с пользователями, формируют и выполняют запрос к интеграции.
  • translate_person_data_to_int_data / translate_int_data_to_person_data - функции для преобразования данных пользователя Convertful (можно посмотреть в README) в формат данных пользователя интеграции (и обратно)

Особенности интеграции Drip:

  • Custom field с именем Tags, должно записывать теги в соответствующий массив, а не в custom_fields

К отклику на задание необходимо приложить ссылку на уже реализованные интеграции/парсеры с описанием вашей работы, а также пример вашего кода. Приветствуется знание фреймворка Kohana.


Пример реализации MailChimp интеграции можно посмотреть здесь:
https://github.com/convertful/integrations-dev/blob/master/application/classes/Integration/Driver/MailChimp.php
Интерфейс инетеграции:
https://github.com/convertful/integrations-dev/blob/master/application/classes/Integration/Interface/BackendESP.php
Песочница для реализации интеграции:
https://github.com/convertful/integrations-dev





Файлы