1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-01-14 04:35:49 +02:00

Main build (Jenkins)

This commit is contained in:
Vitaly the Alpaca (bot) 2024-11-10 12:19:24 +03:00
parent 58a91c2e10
commit 09727e7d23
30 changed files with 6118 additions and 5286 deletions

View File

@ -2476,6 +2476,14 @@ def test_metrika(){
powershell encoding: 'UTF-8', script:'./oint.exe metrika GetTagsList --token "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika CreateCounter --token "test" --fields "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika DeleteCounter --token "test" --counter "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika GetCounterStructure --empty "test" --debug --test '
}

View File

@ -2476,6 +2476,14 @@ def test_metrika(){
powershell encoding: 'UTF-8', script:'./oint.exe metrika ПолучитьСписокМеток --token "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika СоздатьСчетчик --token "test" --fields "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika УдалитьСчетчик --token "test" --counter "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika ПолучитьСтруктуруСчетчика --empty "test" --debug --test '
}

View File

@ -0,0 +1,3 @@
{
"Token": "y0_AgAAAABdylaOAAy9KgAAAAEXh6i..."
}

View File

@ -0,0 +1,4 @@
{
"Token": "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...",
"CounterID": 98873524
}

View File

@ -0,0 +1,46 @@
 Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
CounterStructure = New Structure;
CounterStructure.Insert("autogoals_enabled", True);
CodeSettingsStructure = New Structure;
CodeSettingsStructure.Insert("async" , 0);
CodeSettingsStructure.Insert("clickmap" , 1);
CodeSettingsStructure.Insert("ecommerce" , 1);
CodeSettingsStructure.Insert("in_one_line" , 0);
CodeSettingsStructure.Insert("track_hash" , 1);
CodeSettingsStructure.Insert("visor" , 1);
CodeSettingsStructure.Insert("xml_site" , 0);
CodeSettingsStructure.Insert("ytm" , 0);
CodeSettingsStructure.Insert("alternative_cdn", 1);
InformerStructure = New Structure;
InformerStructure.Insert("color_arrow", 1);
InformerStructure.Insert("color_end" , "EFEFEFFE");
InformerStructure.Insert("color_start", "EEEEEEEE");
InformerStructure.Insert("color_text" , 0);
InformerStructure.Insert("enabled" , 1);
InformerStructure.Insert("indicator" , "uniques");
InformerStructure.Insert("size" , 2);
InformerStructure.Insert("type" , "ext");
CodeSettingsStructure.Insert("informer", InformerStructure);
CounterStructure.Insert("code_options", CodeSettingsStructure);
FlagsStructure = New Structure;
FlagsStructure.Insert("collect_first_party_data" , True);
FlagsStructure.Insert("measurement_enabled" , True);
FlagsStructure.Insert("use_in_benchmarks" , True);
FlagsStructure.Insert("direct_allow_use_goals_without_access", True);
CounterStructure.Insert("counter_flags" , FlagsStructure);
CounterStructure.Insert("favorite" , 1);
CounterStructure.Insert("filter_robots" , 2);
CounterStructure.Insert("gdpr_agreement_accepted", 1);
DomainStructure = New Structure("site", "openintegrations.dev");
CounterStructure.Insert("site2", DomainStructure);
Result = OPI_YandexMetrika.CreateCounter(Token, CounterStructure);

View File

@ -0,0 +1,4 @@
 Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
CounterID = "98873524";
Result = OPI_YandexMetrika.DeleteCounter(Token, CounterID);

View File

@ -0,0 +1,83 @@
---
sidebar_position: 1
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Create counter
Creates a counter by field description
`Function CreateCounter(Val Token, Val CounterStructure) Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Token | --token | String | ✔ | Auth token |
| CounterStructure | --fields | Structure of KeyAndValue | ✔ | Counter structure. See GetCounterStructure |
Returns: Map Of KeyAndValue - serialized JSON response from Yandex
<br/>
:::tip
Method at API documentation: [Creating a counter](https://yandex.ru/dev/metrika/en/management/openapi/counter/addCounter)
:::
<br/>
```bsl title="1C:Enterprise/OneScript code example"
Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
CounterStructure = New Structure;
CounterStructure.Insert("autogoals_enabled", True);
CodeSettingsStructure = New Structure;
CodeSettingsStructure.Insert("async" , 0);
CodeSettingsStructure.Insert("clickmap" , 1);
CodeSettingsStructure.Insert("ecommerce" , 1);
CodeSettingsStructure.Insert("in_one_line" , 0);
CodeSettingsStructure.Insert("track_hash" , 1);
CodeSettingsStructure.Insert("visor" , 1);
CodeSettingsStructure.Insert("xml_site" , 0);
CodeSettingsStructure.Insert("ytm" , 0);
CodeSettingsStructure.Insert("alternative_cdn", 1);
InformerStructure = New Structure;
InformerStructure.Insert("color_arrow", 1);
InformerStructure.Insert("color_end" , "EFEFEFFE");
InformerStructure.Insert("color_start", "EEEEEEEE");
InformerStructure.Insert("color_text" , 0);
InformerStructure.Insert("enabled" , 1);
InformerStructure.Insert("indicator" , "uniques");
InformerStructure.Insert("size" , 2);
InformerStructure.Insert("type" , "ext");
CodeSettingsStructure.Insert("informer", InformerStructure);
CounterStructure.Insert("code_options", CodeSettingsStructure);
FlagsStructure = New Structure;
FlagsStructure.Insert("collect_first_party_data" , True);
FlagsStructure.Insert("measurement_enabled" , True);
FlagsStructure.Insert("use_in_benchmarks" , True);
FlagsStructure.Insert("direct_allow_use_goals_without_access", True);
CounterStructure.Insert("counter_flags" , FlagsStructure);
CounterStructure.Insert("favorite" , 1);
CounterStructure.Insert("filter_robots" , 2);
CounterStructure.Insert("gdpr_agreement_accepted", 1);
DomainStructure = New Structure("site", "openintegrations.dev");
CounterStructure.Insert("site2", DomainStructure);
Result = OPI_YandexMetrika.CreateCounter(Token, CounterStructure);
```

View File

@ -0,0 +1,41 @@
---
sidebar_position: 2
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Delete counter
Deletes a counter by ID
`Function DeleteCounter(Val Token, Val CounterID) Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Token | --token | String | &#x2714; | Auth token |
| CounterID | --counter | Number, String | &#x2714; | Counter ID for deletion |
Returns: Map Of KeyAndValue - serialized JSON response from Yandex
<br/>
:::tip
Method at API documentation: [Deleting a counter](https://yandex.ru/dev/metrika/en/management/openapi/counter/deleteCounter)
:::
<br/>
```bsl title="1C:Enterprise/OneScript code example"
Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
CounterID = "98873524";
Result = OPI_YandexMetrika.DeleteCounter(Token, CounterID);
```

View File

@ -1,5 +1,5 @@
---
sidebar_position: 1
sidebar_position: 3
---
import Tabs from '@theme/Tabs';
@ -34,4 +34,118 @@ Description in the API documentation: [Creating a counter](https://yandex.ru/dev
```json title="Result"
{
"autogoals_enabled": "<auto-targeting>",
"code_options": {
"async": "<asynchronous counter code>",
"clickmap": "<collection of statistics for Click Map operation>",
"ecommerce": "<e-commerce data collection>",
"in_one_line": "<output the counter code in one line>",
"track_hash": "<tracking the hash in the browser address bar>",
"visor": "<recording and analyzing the behavior of site visitors>",
"xml_site": "<for XML-sites>",
"ytm": "<use of a tag management system>",
"alternative_cdn": "<take into account visits from regions without access to Yandex resources>",
"informer": {
"color_arrow": "<arrow color on the informer>",
"color_end": "<final (bottom) color of the informer in RRGGBBAA format>",
"color_start": "<initial (top) color of the informer in RRGGBBAA format>",
"color_text": "<informer text color>",
"enabled": "<informer display permission>",
"indicator": "<informer index>",
"size": "<informer size>",
"type": "<informer type>"
}
},
"counter_flags": {
"collect_first_party_data": "<use advanced tracking settings>",
"measurement_enabled": "<enable the Measurement Protocol option>",
"use_in_benchmarks": "<access market reports>",
"direct_allow_use_goals_without_access": "<allow optimization by goals in advertising campaigns without access to the counter>"
},
"favorite": "<favorite>",
"filter_robots": "<robots filtration>",
"filters": [
{
"action": "<filter type>",
"attr": "<type of data to which the filter is applied>",
"status": "<filter status>",
"type": "<attitude or action for the filter>",
"end_ip": "<last IP address of the range>",
"id": "<filter identifier to change>",
"start_ip": "<first IP address of the range>",
"value": "<value>",
"with_subdomains": "<subdomain filter>"
}
],
"gdpr_agreement_accepted": "<consent to the Data Processing Agreement>",
"goals": [
{
"name": "<goal name>",
"type": "<goal type>",
"default_price": "<goal default price>",
"id": "<if of goal for updating>",
"is_favorite": "<favorite>"
}
],
"grants": [
{
"perm": "<Access level>",
"comment": "<arbitrary comment>",
"partner_data_access": "<access to report group Monetization>",
"user_login": "<login of the user to whom the authorization has been granted>",
"user_uid": "<uid of the user to whom the authorization has been granted>"
}
],
"labels": [
{
"name": "<lable name>"
}
],
"measurement_tokens": "<active token list>",
"mirrors2": [
{
"site": "<full site domain>"
}
],
"name": "<counter name>",
"offline_options": {
"offline_calls_extended_threshold": "<extended call accounting period>",
"offline_conversion_extended_threshold": "<extended accounting period for offline conversions>",
"offline_visits_extended_threshold": "<extended accounting period for offline visits>"
},
"operations": [
{
"action": "<action type>",
"attr": "<filter field>",
"status": "<action status>",
"id": "<change actions>",
"value": "<replacement value>"
}
],
"owner_login": "<owners login>",
"permission": "<counter access level>",
"publisher_options": {
"enabled": "<content analytics data collection>",
"schema": "<markup type used on the site>",
"schema_options": "<available markup options>"
},
"site2": [
{
"site": "<full site domain>"
}
],
"source": "<counter type>",
"time_zone_name": "<time zone>",
"visit_threshold": "<visit timeout in seconds>",
"webvisor": {
"arch_enabled": "<page saving>",
"arch_type": "<page content recording>",
"load_player_type": "<page load to player>",
"urls": "<save page list>",
"wv_forms": "<recording the contents of fields and forms>",
"wv_version": "<webvisor version>"
}
}
```

View File

@ -0,0 +1,3 @@
{
"Токен": "y0_AgAAAABdylaOAAy9KgAAAAEXh6i..."
}

View File

@ -0,0 +1,4 @@
{
"Токен": "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...",
"IDСчетчика": 98873524
}

View File

@ -0,0 +1,46 @@
 Токен = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
СтруктураСчетчика = Новый Структура;
СтруктураСчетчика.Вставить("autogoals_enabled", Истина);
СтруктураНастроекКода = Новый Структура;
СтруктураНастроекКода.Вставить("async" , 0);
СтруктураНастроекКода.Вставить("clickmap" , 1);
СтруктураНастроекКода.Вставить("ecommerce" , 1);
СтруктураНастроекКода.Вставить("in_one_line" , 0);
СтруктураНастроекКода.Вставить("track_hash" , 1);
СтруктураНастроекКода.Вставить("visor" , 1);
СтруктураНастроекКода.Вставить("xml_site" , 0);
СтруктураНастроекКода.Вставить("ytm" , 0);
СтруктураНастроекКода.Вставить("alternative_cdn", 1);
СтруктураИнформера = Новый Структура;
СтруктураИнформера.Вставить("color_arrow", 1);
СтруктураИнформера.Вставить("color_end" , "EFEFEFFE");
СтруктураИнформера.Вставить("color_start", "EEEEEEEE");
СтруктураИнформера.Вставить("color_text" , 0);
СтруктураИнформера.Вставить("enabled" , 1);
СтруктураИнформера.Вставить("indicator" , "uniques");
СтруктураИнформера.Вставить("size" , 2);
СтруктураИнформера.Вставить("type" , "ext");
СтруктураНастроекКода.Вставить("informer", СтруктураИнформера);
СтруктураСчетчика.Вставить("code_options", СтруктураНастроекКода);
СтруктураФлагов = Новый Структура;
СтруктураФлагов.Вставить("collect_first_party_data" , Истина);
СтруктураФлагов.Вставить("measurement_enabled" , Истина);
СтруктураФлагов.Вставить("use_in_benchmarks" , Истина);
СтруктураФлагов.Вставить("direct_allow_use_goals_without_access", Истина);
СтруктураСчетчика.Вставить("counter_flags" , СтруктураФлагов);
СтруктураСчетчика.Вставить("favorite" , 1);
СтруктураСчетчика.Вставить("filter_robots" , 2);
СтруктураСчетчика.Вставить("gdpr_agreement_accepted", 1);
СтруктураДомена = Новый Структура("site", "openintegrations.dev");
СтруктураСчетчика.Вставить("site2", СтруктураДомена);
Результат = OPI_YandexMetrika.СоздатьСчетчик(Токен, СтруктураСчетчика);

View File

@ -0,0 +1,4 @@
 Токен = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
IDСчетчика = "98873524";
Результат = OPI_YandexMetrika.УдалитьСчетчик(Токен, IDСчетчика);

View File

@ -0,0 +1,83 @@
---
sidebar_position: 1
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Создать счетчик
Создает счетчик по описанию полей
`Функция СоздатьСчетчик(Знач Токен, Знач СтруктураСчетчика) Экспорт`
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| Токен | --token | Строка | &#x2714; | Токен авторизации |
| СтруктураСчетчика | --fields | Структура Из КлючИЗначение | &#x2714; | Структура счетчика. См. ПолучитьСтруктуруСчетчика |
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
<br/>
:::tip
Метод в документации API: [Создание счетчика](https://yandex.ru/dev/metrika/ru/management/openapi/counter/addCounter)
:::
<br/>
```bsl title="Пример использования для 1С:Предприятие/OneScript"
Токен = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
СтруктураСчетчика = Новый Структура;
СтруктураСчетчика.Вставить("autogoals_enabled", Истина);
СтруктураНастроекКода = Новый Структура;
СтруктураНастроекКода.Вставить("async" , 0);
СтруктураНастроекКода.Вставить("clickmap" , 1);
СтруктураНастроекКода.Вставить("ecommerce" , 1);
СтруктураНастроекКода.Вставить("in_one_line" , 0);
СтруктураНастроекКода.Вставить("track_hash" , 1);
СтруктураНастроекКода.Вставить("visor" , 1);
СтруктураНастроекКода.Вставить("xml_site" , 0);
СтруктураНастроекКода.Вставить("ytm" , 0);
СтруктураНастроекКода.Вставить("alternative_cdn", 1);
СтруктураИнформера = Новый Структура;
СтруктураИнформера.Вставить("color_arrow", 1);
СтруктураИнформера.Вставить("color_end" , "EFEFEFFE");
СтруктураИнформера.Вставить("color_start", "EEEEEEEE");
СтруктураИнформера.Вставить("color_text" , 0);
СтруктураИнформера.Вставить("enabled" , 1);
СтруктураИнформера.Вставить("indicator" , "uniques");
СтруктураИнформера.Вставить("size" , 2);
СтруктураИнформера.Вставить("type" , "ext");
СтруктураНастроекКода.Вставить("informer", СтруктураИнформера);
СтруктураСчетчика.Вставить("code_options", СтруктураНастроекКода);
СтруктураФлагов = Новый Структура;
СтруктураФлагов.Вставить("collect_first_party_data" , Истина);
СтруктураФлагов.Вставить("measurement_enabled" , Истина);
СтруктураФлагов.Вставить("use_in_benchmarks" , Истина);
СтруктураФлагов.Вставить("direct_allow_use_goals_without_access", Истина);
СтруктураСчетчика.Вставить("counter_flags" , СтруктураФлагов);
СтруктураСчетчика.Вставить("favorite" , 1);
СтруктураСчетчика.Вставить("filter_robots" , 2);
СтруктураСчетчика.Вставить("gdpr_agreement_accepted", 1);
СтруктураДомена = Новый Структура("site", "openintegrations.dev");
СтруктураСчетчика.Вставить("site2", СтруктураДомена);
Результат = OPI_YandexMetrika.СоздатьСчетчик(Токен, СтруктураСчетчика);
```

View File

@ -0,0 +1,41 @@
---
sidebar_position: 2
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Удалить счетчик
Удаляет счетчик по ID
`Функция УдалитьСчетчик(Знач Токен, Знач IDСчетчика) Экспорт`
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| Токен | --token | Строка | &#x2714; | Токен авторизации |
| IDСчетчика | --counter | Число, Строка | &#x2714; | ID счетчика для удаления |
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
<br/>
:::tip
Метод в документации API: [Удаление счетчика](https://yandex.ru/dev/metrika/ru/management/openapi/counter/deleteCounter)
:::
<br/>
```bsl title="Пример использования для 1С:Предприятие/OneScript"
Токен = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
IDСчетчика = "98873524";
Результат = OPI_YandexMetrika.УдалитьСчетчик(Токен, IDСчетчика);
```

View File

@ -1,5 +1,5 @@
---
sidebar_position: 1
sidebar_position: 3
---
import Tabs from '@theme/Tabs';

File diff suppressed because it is too large Load Diff

View File

@ -176,8 +176,55 @@ EndFunction
#Region CountersManagement
// Create counter
// Creates a counter by field description
//
// Note
// Method at API documentation: [Creating a counter](@yandex.ru/dev/metrika/en/management/openapi/counter/addCounter)
//
// Parameters:
// Token - String - Auth token - token
// CounterStructure - Structure of KeyAndValue - Counter structure. See GetCounterStructure - fields
//
// Returns:
// Map Of KeyAndValue - serialized JSON response from Yandex
Function CreateCounter(Val Token, Val CounterStructure) Export
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://api-metrika.yandex.net/management/v1/counters";
Parameters = New Structure;
OPI_Tools.AddField("counter", CounterStructure, "Collection", Parameters);
Response = OPI_Tools.Post(URL, Parameters, Headers);
Return Response;
EndFunction
// Delete counter
// Deletes a counter by ID
//
// Note
// Method at API documentation: [Deleting a counter](@yandex.ru/dev/metrika/en/management/openapi/counter/deleteCounter)
//
// Parameters:
// Token - String - Auth token - token
// CounterID - Number, String - Counter ID for deletion - counter
//
// Returns:
// Map Of KeyAndValue - serialized JSON response from Yandex
Function DeleteCounter(Val Token, Val CounterID) Export
OPI_TypeConversion.GetLine(CounterID);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://api-metrika.yandex.net/management/v1/counter/" + CounterID;
Response = OPI_Tools.Delete(URL, , Headers);
Return Response;
EndFunction
// Get counter structure

View File

@ -2089,6 +2089,8 @@ Procedure YaMetrika_CountersManagement() Export
OPI_TestDataRetrieval.ParameterToCollection("Metrika_Token", TestParameters);
YandexMetrika_GetCounterStructure(TestParameters);
YandexMetrika_CreateCounter(TestParameters);
YandexMetrika_DeleteCounter(TestParameters);
EndProcedure
@ -14423,6 +14425,81 @@ Procedure YandexMetrika_GetCounterStructure(FunctionParameters)
EndProcedure
Procedure YandexMetrika_CreateCounter(FunctionParameters)
Token = FunctionParameters["Metrika_Token"];
CounterStructure = New Structure;
CounterStructure.Insert("autogoals_enabled", True);
CodeSettingsStructure = New Structure;
CodeSettingsStructure.Insert("async" , 0);
CodeSettingsStructure.Insert("clickmap" , 1);
CodeSettingsStructure.Insert("ecommerce" , 1);
CodeSettingsStructure.Insert("in_one_line" , 0);
CodeSettingsStructure.Insert("track_hash" , 1);
CodeSettingsStructure.Insert("visor" , 1);
CodeSettingsStructure.Insert("xml_site" , 0);
CodeSettingsStructure.Insert("ytm" , 0);
CodeSettingsStructure.Insert("alternative_cdn", 1);
InformerStructure = New Structure;
InformerStructure.Insert("color_arrow", 1);
InformerStructure.Insert("color_end" , "EFEFEFFE");
InformerStructure.Insert("color_start", "EEEEEEEE");
InformerStructure.Insert("color_text" , 0);
InformerStructure.Insert("enabled" , 1);
InformerStructure.Insert("indicator" , "uniques");
InformerStructure.Insert("size" , 2);
InformerStructure.Insert("type" , "ext");
CodeSettingsStructure.Insert("informer", InformerStructure);
CounterStructure.Insert("code_options", CodeSettingsStructure);
FlagsStructure = New Structure;
FlagsStructure.Insert("collect_first_party_data" , True);
FlagsStructure.Insert("measurement_enabled" , True);
FlagsStructure.Insert("use_in_benchmarks" , True);
FlagsStructure.Insert("direct_allow_use_goals_without_access", True);
CounterStructure.Insert("counter_flags" , FlagsStructure);
CounterStructure.Insert("favorite" , 1);
CounterStructure.Insert("filter_robots" , 2);
CounterStructure.Insert("gdpr_agreement_accepted", 1);
DomainStructure = New Structure("site", "openintegrations.dev");
CounterStructure.Insert("site2", DomainStructure);
Result = OPI_YandexMetrika.CreateCounter(Token, CounterStructure);
// END
OPI_TestDataRetrieval.WriteLog(Result, "CreateCounter", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaCounter(Result);
CounterID = Result["counter"]["id"];
OPI_TestDataRetrieval.WriteParameter("Metrika_CounterID", CounterID);
OPI_Tools.AddField("Metrika_CounterID", CounterID, "String", FunctionParameters);
EndProcedure
Procedure YandexMetrika_DeleteCounter(FunctionParameters)
Token = FunctionParameters["Metrika_Token"];
CounterID = FunctionParameters["Metrika_CounterID"];
Result = OPI_YandexMetrika.DeleteCounter(Token, CounterID);
// END
OPI_TestDataRetrieval.WriteLog(Result, "DeleteCounter", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaSuccess(Result);
EndProcedure
#EndRegion
#EndRegion

View File

@ -1958,6 +1958,10 @@ Procedure Check_MetrikaSuccess(Val Result) Export
ExpectsThat(Result["success"]).Равно(True);
EndProcedure
Procedure Check_MetrikaCounter(Val Result) Export
ExpectsThat(Result["counter"]).ИмеетТип("Map").Заполнено();
EndProcedure
#EndRegion
#EndRegion

View File

@ -1958,6 +1958,10 @@ Procedure Check_MetrikaSuccess(Val Result) Export
ExpectsThat(Result["success"]).Равно(True);
EndProcedure
Procedure Check_MetrikaCounter(Val Result) Export
ExpectsThat(Result["counter"]).ИмеетТип("Map").Заполнено();
EndProcedure
#EndRegion
#EndRegion

View File

@ -2089,6 +2089,8 @@ Procedure YaMetrika_CountersManagement() Export
OPI_TestDataRetrieval.ParameterToCollection("Metrika_Token", TestParameters);
YandexMetrika_GetCounterStructure(TestParameters);
YandexMetrika_CreateCounter(TestParameters);
YandexMetrika_DeleteCounter(TestParameters);
EndProcedure
@ -14423,6 +14425,81 @@ Procedure YandexMetrika_GetCounterStructure(FunctionParameters)
EndProcedure
Procedure YandexMetrika_CreateCounter(FunctionParameters)
Token = FunctionParameters["Metrika_Token"];
CounterStructure = New Structure;
CounterStructure.Insert("autogoals_enabled", True);
CodeSettingsStructure = New Structure;
CodeSettingsStructure.Insert("async" , 0);
CodeSettingsStructure.Insert("clickmap" , 1);
CodeSettingsStructure.Insert("ecommerce" , 1);
CodeSettingsStructure.Insert("in_one_line" , 0);
CodeSettingsStructure.Insert("track_hash" , 1);
CodeSettingsStructure.Insert("visor" , 1);
CodeSettingsStructure.Insert("xml_site" , 0);
CodeSettingsStructure.Insert("ytm" , 0);
CodeSettingsStructure.Insert("alternative_cdn", 1);
InformerStructure = New Structure;
InformerStructure.Insert("color_arrow", 1);
InformerStructure.Insert("color_end" , "EFEFEFFE");
InformerStructure.Insert("color_start", "EEEEEEEE");
InformerStructure.Insert("color_text" , 0);
InformerStructure.Insert("enabled" , 1);
InformerStructure.Insert("indicator" , "uniques");
InformerStructure.Insert("size" , 2);
InformerStructure.Insert("type" , "ext");
CodeSettingsStructure.Insert("informer", InformerStructure);
CounterStructure.Insert("code_options", CodeSettingsStructure);
FlagsStructure = New Structure;
FlagsStructure.Insert("collect_first_party_data" , True);
FlagsStructure.Insert("measurement_enabled" , True);
FlagsStructure.Insert("use_in_benchmarks" , True);
FlagsStructure.Insert("direct_allow_use_goals_without_access", True);
CounterStructure.Insert("counter_flags" , FlagsStructure);
CounterStructure.Insert("favorite" , 1);
CounterStructure.Insert("filter_robots" , 2);
CounterStructure.Insert("gdpr_agreement_accepted", 1);
DomainStructure = New Structure("site", "openintegrations.dev");
CounterStructure.Insert("site2", DomainStructure);
Result = OPI_YandexMetrika.CreateCounter(Token, CounterStructure);
// END
OPI_TestDataRetrieval.WriteLog(Result, "CreateCounter", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaCounter(Result);
CounterID = Result["counter"]["id"];
OPI_TestDataRetrieval.WriteParameter("Metrika_CounterID", CounterID);
OPI_Tools.AddField("Metrika_CounterID", CounterID, "String", FunctionParameters);
EndProcedure
Procedure YandexMetrika_DeleteCounter(FunctionParameters)
Token = FunctionParameters["Metrika_Token"];
CounterID = FunctionParameters["Metrika_CounterID"];
Result = OPI_YandexMetrika.DeleteCounter(Token, CounterID);
// END
OPI_TestDataRetrieval.WriteLog(Result, "DeleteCounter", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaSuccess(Result);
EndProcedure
#EndRegion
#EndRegion

View File

@ -176,8 +176,55 @@ EndFunction
#Region CountersManagement
// Create counter
// Creates a counter by field description
//
// Note
// Method at API documentation: [Creating a counter](@yandex.ru/dev/metrika/en/management/openapi/counter/addCounter)
//
// Parameters:
// Token - String - Auth token - token
// CounterStructure - Structure of KeyAndValue - Counter structure. See GetCounterStructure - fields
//
// Returns:
// Map Of KeyAndValue - serialized JSON response from Yandex
Function CreateCounter(Val Token, Val CounterStructure) Export
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://api-metrika.yandex.net/management/v1/counters";
Parameters = New Structure;
OPI_Tools.AddField("counter", CounterStructure, "Collection", Parameters);
Response = OPI_Tools.Post(URL, Parameters, Headers);
Return Response;
EndFunction
// Delete counter
// Deletes a counter by ID
//
// Note
// Method at API documentation: [Deleting a counter](@yandex.ru/dev/metrika/en/management/openapi/counter/deleteCounter)
//
// Parameters:
// Token - String - Auth token - token
// CounterID - Number, String - Counter ID for deletion - counter
//
// Returns:
// Map Of KeyAndValue - serialized JSON response from Yandex
Function DeleteCounter(Val Token, Val CounterID) Export
OPI_TypeConversion.GetLine(CounterID);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://api-metrika.yandex.net/management/v1/counter/" + CounterID;
Response = OPI_Tools.Delete(URL, , Headers);
Return Response;
EndFunction
// Get counter structure

View File

@ -115,6 +115,48 @@
NewLine.ОписаниеМетода = "Gets a list of the users tags";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "metrika";
NewLine.Модуль = "OPI_YandexMetrika";
NewLine.Метод = "CreateCounter";
NewLine.МетодПоиска = "CREATECOUNTER";
NewLine.Параметр = "--token";
NewLine.Описание = "Auth token";
NewLine.Область = "Counters management";
NewLine.ОписаниеМетода = "Creates a counter by field description";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "metrika";
NewLine.Модуль = "OPI_YandexMetrika";
NewLine.Метод = "CreateCounter";
NewLine.МетодПоиска = "CREATECOUNTER";
NewLine.Параметр = "--fields";
NewLine.Описание = "Counter structure. See GetCounterStructure";
NewLine.Область = "Counters management";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "metrika";
NewLine.Модуль = "OPI_YandexMetrika";
NewLine.Метод = "DeleteCounter";
NewLine.МетодПоиска = "DELETECOUNTER";
NewLine.Параметр = "--token";
NewLine.Описание = "Auth token";
NewLine.Область = "Counters management";
NewLine.ОписаниеМетода = "Deletes a counter by ID";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "metrika";
NewLine.Модуль = "OPI_YandexMetrika";
NewLine.Метод = "DeleteCounter";
NewLine.МетодПоиска = "DELETECOUNTER";
NewLine.Параметр = "--counter";
NewLine.Описание = "Counter ID for deletion";
NewLine.Область = "Counters management";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "metrika";
NewLine.Модуль = "OPI_YandexMetrika";

View File

@ -178,14 +178,14 @@
// Создать счетчик
// Создает счетчик по описанию полей
//
//
// Примечание:
// Метод в документации API: [Создание счетчика](@yandex.ru/dev/metrika/ru/management/openapi/counter/addCounter)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
// СтруктураСчетчика - Структура Из КлючИЗначение - Структура счетчика. См. ПолучитьСтруктуруСчетчика - fields
//
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
Функция СоздатьСчетчик(Знач Токен, Знач СтруктураСчетчика) Экспорт
@ -199,23 +199,23 @@
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
Возврат Ответ;
КонецФункции
// Удалить счетчик
// Удаляет счетчик по ID
//
//
// Примечание:
// Метод в документации API: [Удаление счетчика](@yandex.ru/dev/metrika/ru/management/openapi/counter/deleteCounter)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
// IDСчетчика - Число, Строка - ID счетчика для удаления - counter
//
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
Функция УдалитьСчетчик(Знач Токен, Знач IDСчетчика) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDСчетчика);
Заголовки = OPI_YandexID.ПолучитьЗаголовокАвторизации(Токен);
@ -224,7 +224,7 @@
Ответ = OPI_Инструменты.Delete(URL, , Заголовки);
Возврат Ответ;
КонецФункции
// Получить структуру счетчика

View File

@ -14426,9 +14426,9 @@
КонецПроцедуры
Процедура YandexMetrika_СоздатьСчетчик(ПараметрыФункции)
Токен = ПараметрыФункции["Metrika_Token"];
СтруктураСчетчика = Новый Структура;
СтруктураСчетчика.Вставить("autogoals_enabled", Истина);
@ -14467,36 +14467,36 @@
СтруктураСчетчика.Вставить("favorite" , 1);
СтруктураСчетчика.Вставить("filter_robots" , 2);
СтруктураСчетчика.Вставить("gdpr_agreement_accepted", 1);
СтруктураДомена = Новый Структура("site", "openintegrations.dev");
СтруктураСчетчика.Вставить("site2", СтруктураДомена);
Результат = OPI_YandexMetrika.СоздатьСчетчик(Токен, СтруктураСчетчика);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСчетчик", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаСчетчик(Результат);
OPI_ПолучениеДанныхТестов.Проверка_МетрикаСчетчик(Результат);
IDСчетчика = Результат["counter"]["id"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Metrika_CounterID", IDСчетчика);
OPI_Инструменты.ДобавитьПоле("Metrika_CounterID", IDСчетчика, "Строка", ПараметрыФункции);
КонецПроцедуры
Процедура YandexMetrika_УдалитьСчетчик(ПараметрыФункции)
Токен = ПараметрыФункции["Metrika_Token"];
IDСчетчика = ПараметрыФункции["Metrika_CounterID"];
Результат = OPI_YandexMetrika.УдалитьСчетчик(Токен, IDСчетчика);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСчетчик", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаУспех(Результат);
OPI_ПолучениеДанныхТестов.Проверка_МетрикаУспех(Результат);
КонецПроцедуры

View File

@ -1998,9 +1998,9 @@
КонецФункции
Функция ПолучитьОбщийМодуль(Знач Имя)
Модуль = Вычислить(Имя);
Возврат Модуль;
КонецФункции

View File

@ -178,14 +178,14 @@
// Создать счетчик
// Создает счетчик по описанию полей
//
//
// Примечание:
// Метод в документации API: [Создание счетчика](@yandex.ru/dev/metrika/ru/management/openapi/counter/addCounter)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
// СтруктураСчетчика - Структура Из КлючИЗначение - Структура счетчика. См. ПолучитьСтруктуруСчетчика - fields
//
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
Функция СоздатьСчетчик(Знач Токен, Знач СтруктураСчетчика) Экспорт
@ -199,23 +199,23 @@
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
Возврат Ответ;
КонецФункции
// Удалить счетчик
// Удаляет счетчик по ID
//
//
// Примечание:
// Метод в документации API: [Удаление счетчика](@yandex.ru/dev/metrika/ru/management/openapi/counter/deleteCounter)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
// IDСчетчика - Число, Строка - ID счетчика для удаления - counter
//
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
Функция УдалитьСчетчик(Знач Токен, Знач IDСчетчика) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDСчетчика);
Заголовки = OPI_YandexID.ПолучитьЗаголовокАвторизации(Токен);
@ -224,7 +224,7 @@
Ответ = OPI_Инструменты.Delete(URL, , Заголовки);
Возврат Ответ;
КонецФункции
// Получить структуру счетчика

View File

@ -14426,9 +14426,9 @@
КонецПроцедуры
Процедура YandexMetrika_СоздатьСчетчик(ПараметрыФункции)
Токен = ПараметрыФункции["Metrika_Token"];
СтруктураСчетчика = Новый Структура;
СтруктураСчетчика.Вставить("autogoals_enabled", Истина);
@ -14467,36 +14467,36 @@
СтруктураСчетчика.Вставить("favorite" , 1);
СтруктураСчетчика.Вставить("filter_robots" , 2);
СтруктураСчетчика.Вставить("gdpr_agreement_accepted", 1);
СтруктураДомена = Новый Структура("site", "openintegrations.dev");
СтруктураСчетчика.Вставить("site2", СтруктураДомена);
Результат = OPI_YandexMetrika.СоздатьСчетчик(Токен, СтруктураСчетчика);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСчетчик", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаСчетчик(Результат);
OPI_ПолучениеДанныхТестов.Проверка_МетрикаСчетчик(Результат);
IDСчетчика = Результат["counter"]["id"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Metrika_CounterID", IDСчетчика);
OPI_Инструменты.ДобавитьПоле("Metrika_CounterID", IDСчетчика, "Строка", ПараметрыФункции);
КонецПроцедуры
Процедура YandexMetrika_УдалитьСчетчик(ПараметрыФункции)
Токен = ПараметрыФункции["Metrika_Token"];
IDСчетчика = ПараметрыФункции["Metrika_CounterID"];
Результат = OPI_YandexMetrika.УдалитьСчетчик(Токен, IDСчетчика);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСчетчик", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаУспех(Результат);
OPI_ПолучениеДанныхТестов.Проверка_МетрикаУспех(Результат);
КонецПроцедуры

View File

@ -115,6 +115,48 @@
НоваяСтрока.ОписаниеМетода = "Получает список меток пользователя";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "metrika";
НоваяСтрока.Модуль = "OPI_YandexMetrika";
НоваяСтрока.Метод = "СоздатьСчетчик";
НоваяСтрока.МетодПоиска = "СОЗДАТЬСЧЕТЧИК";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации";
НоваяСтрока.Область = "Управление счетчиками";
НоваяСтрока.ОписаниеМетода = "Создает счетчик по описанию полей";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "metrika";
НоваяСтрока.Модуль = "OPI_YandexMetrika";
НоваяСтрока.Метод = "СоздатьСчетчик";
НоваяСтрока.МетодПоиска = "СОЗДАТЬСЧЕТЧИК";
НоваяСтрока.Параметр = "--fields";
НоваяСтрока.Описание = "Структура счетчика. См. ПолучитьСтруктуруСчетчика";
НоваяСтрока.Область = "Управление счетчиками";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "metrika";
НоваяСтрока.Модуль = "OPI_YandexMetrika";
НоваяСтрока.Метод = "УдалитьСчетчик";
НоваяСтрока.МетодПоиска = "УДАЛИТЬСЧЕТЧИК";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации";
НоваяСтрока.Область = "Управление счетчиками";
НоваяСтрока.ОписаниеМетода = "Удаляет счетчик по ID";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "metrika";
НоваяСтрока.Модуль = "OPI_YandexMetrika";
НоваяСтрока.Метод = "УдалитьСчетчик";
НоваяСтрока.МетодПоиска = "УДАЛИТЬСЧЕТЧИК";
НоваяСтрока.Параметр = "--counter";
НоваяСтрока.Описание = "ID счетчика для удаления";
НоваяСтрока.Область = "Управление счетчиками";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "metrika";
НоваяСтрока.Модуль = "OPI_YandexMetrika";