Перейти к содержанию

01.1.2 Yoloco

Версия 1.0.0
Количество листов

Оглавление

История изменений

№ Дата: Автор: RFC: Версия:

1. Yoloco

Сервис Yoloco используется для получения информации об аккаунте Инфлюэнсера и аудитории данного аккаунта.

Интеграция с сервисом осуществляется на основе API документации сервиса.

1_1 Переменные окружения

Переменная окружения Описание
YOLOCO_HOST Хост для выполнения запросов к сервису.
YOLOCO_TOKEN Токен авторизации.
YOLOCO_SOCIAL_NETWORK_INSTAGRAM Значение параметра “social_network” для выполнения запросов к сервису.
YOLOCO_AVATAR_HOST Хост для получения изображения аватара аккаунта.

01.1.2_1_1 Процедура получения данных аккаунта от Yoloco

  1. Выполняется инициация данной процедуры с параметрами:
  2. account;
  3. Выполняется:
  4. Запрос “Create Analytics Account Order” к сервису Yoloco c параметрами:
    1. query - согласно значению параметра “account”, который был указан при инициации данной процедуры;
    2. social_network - Значение переменной окружения “YOLOCO_SOCIAL_NETWORK_INSTAGRAM”.
  5. Если запрос “Create Analytics Account Order” к сервису Yoloco не выполнен:
    1. Выполняется логирование события с Payload:
      1. title - “Account data update”;
      2. error - "Yoloco service did not respond";
      3. data.account - “Имя в сервисе” аккаунта, для которого инициирована данная процедура.
    2. Процедура является не выполненной. Дальнейшие этапы процедуры не выполняются.
  6. Если запрос “Create Analytics Account Order” к сервису выполнен не успешно(код ответа не “200”):
    1. Выполняется логирование события с Payload:
      1. title - “Account data update”;
      2. error - "Yoloco service responded incorrectly";
      3. data.account - “Имя в сервисе” аккаунта, для которого инициирована данная процедура.
    2. Процедура является не выполненной. Дальнейшие этапы процедуры не выполняются.
  7. Если запрос “Create Analytics Account Order” к сервису выполнен успешно(код ответа “200”) и:
    1. Значение параметра "status" соответствует одному из значений "Some Error"/"Does not exist"/"Private Account" выполняется:
      1. Выполняется логирование события с Payload:
        1. title - “Account data update”;
        2. error - "Yoloco responded with some error";
        3. data.account - “Имя в сервисе” аккаунта, для которого инициирована данная процедура.
      2. Изменение параметров “Данных аккаунта”:
        1. Дата обновления - согласно текущей дате;
        2. Исходные данные - согласно телу ответа который был получен в результатах запроса “Create Analytics Account Order”.
      3. Процедура является успешно выполненной. Дальнейшие этапы процедуры не выполняются.
    2. Значение параметра "status" не "Parsing in progress" или "Done":
      1. Выполняется логирование события с Payload:
        1. title - “Account data update”;
        2. error - "Yoloco service responded with unexpected status";
        3. data.account - “Имя в сервисе” аккаунта, для которого инициирована данная процедура.
      2. Процедура является успешно выполненной. Дальнейшие этапы процедуры не выполняются.
    3. Значение параметра "status" - "Parsing in progress":
      1. Выполняется логирование события с Payload:
        1. event - “proccesed”;
        2. title - “Account data update”;
        3. info - "Yoloco returned status Parsing in progress";
        4. data.account - “Имя в сервисе” аккаунта, для которого инициирована данная процедура
      2. Изменение параметров “Данных аккаунта”:
        1. Дата обновления - согласно текущей дате.
      3. Процедура является не выполненной. Дальнейшие этапы процедуры не выполняются.
    4. Значение параметра "status" - "Done" выполняется изменение параметров “Данных аккаунта”:

      1. Дата получения - согласно текущей дате;
      2. Исходные данные - согласно телу ответа, которое было получено в результатах запроса “Create Parsing Account Order”.

      процедура является успешно выполненной.

01.1.2_1_2 Маппинг данных аккаунта от Yoloco

Параметр Параметр Yoloco Описание
avatar report.info.avatar Ссылка на “Аватар” аккаунта инфлюэнсера. Если для параметра “report.info.avatar”: Не имеется значения - определяется как “null”; Имеется значения - определяется как: “{Значение переменной окружения YOLOCO_AVATAR_HOST}{значение параметра “report.info.avatar”}”
fullName report.info.full_name “Полное имя” аккаунта инфлюэнсера.
biography report.info.biography “Информация о пользователе” аккаунта инфлюэнсера.
engagementRate report.metrics.er “Показатель вовлеченности аудитории” аккаунта инфлюэнсера.
followersCount report.metrics.followers “Количество подписчиков” аккаунта инфлюэнсера.
likesCount report.metrics.likes “Среднее количество лайков” аккаунта инфлюэнсера.
commentsCount report.metrics.comments “Среднее количество комментов” аккаунта инфлюэнсера.
city Определяется как объект с параметрами: "name" - report.info.city.city_name; countryName - report.info.city.country.country_name. “Город” аккаунта инфлюэнсера.
languageCode report.info.language.code “Код языка” аккаунта инфлюэнсера.
interests interests Массив “Интересов аккаунта”.
languageAudience Определяется как массив из объектов массива “report.audience.languages” Элементом массива является объект с параметрами: "code" - report.audience.languages[].language.code; "share" - report.audience.languages[].share. Массив “Аудиторий аккаунта по языку”.
countryAudience Определяется как массив из объектов массива “report.audience.countries” Элементом массива является объект с параметрами: "countryName" - report.audience.countries[].country.country_name; "share" - report.audience.countries[].share. Массив “Аудиторий аккаунта по стране”.
cityAudience Определяется как массив из объектов массива “report.audience.cities” Элементом массива является объект с параметрами: "cityName" - report.audience.cities[].city.city_name; "countryName" - report.audience.cities[].city.country.counrty_name; "share" - report.audience.cities[].share. Массив “Аудиторий аккаунта по стране”.
genderAudience Определяется как массив из объектов массива “report.audience.genders” Элементом массива является объект с параметрами: "genderName" - report.audience.genders[].gender.name; "share" - report.audience.genders[].share. Массив “Аудиторий аккаунта по полу”.
ageRangeAudience Определяется как массив из объектов массива “report.audience.age_genders”. Элемент массива должен быть уникален по значению параметра “report.audience.age_genders[].age_group.name” Элементом массива является объект с параметрами: "ageRangeName" - report.audience.age_genders[].age_group.name; "share" - определяется как сумма “maleShare” и “femaleShare; "maleShare" - “report.audience.age_genders[].share” того объекта для которого значение параметра “report.audience.age_genders[].age_group.name” соответвествет “title” и значение параметра “report.audience.age_genders[].gender.name” - “Male”. "femaleShare" - того объекта для которого значение параметра “report.audience.age_genders[].age_group.name” соответвествет “title” и значение параметра “report.audience.age_genders[].gender.name” - “Female Массив “Аудиторий аккаунта по возрастной группе”.