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