1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-03-17 21:08:03 +02:00

Main build (Jenkins)

This commit is contained in:
Vitaly the Alpaca (bot) 2024-11-07 12:52:52 +03:00
parent cc4500ad77
commit 1f0bf233de
92 changed files with 7285 additions and 5929 deletions

View File

@ -1255,9 +1255,51 @@ jobs:
key: logs-YandexMarket
path: ./docs/ru/results/YandexMarket
Testing-YandexMetrika:
runs-on: ubuntu-latest
needs: [Decode, Build]
steps:
- uses: actions/checkout@v2
- uses: otymko/setup-onescript@v1.4
with:
version: 1.9.1
- name: Получить тестовые данные из кэша
uses: actions/cache/restore@v3
with:
key: test-data
path: ./data.json
- name: Установить asserts и 1testrunner
run: |
opm install asserts
opm install 1testrunner
- name: Установить OInt
run: |
TEMP_DEB="$(mktemp)" &&
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.15.1/oint_1.15.1_all_ru.deb' &&
sudo dpkg -i "$TEMP_DEB"
rm -f "$TEMP_DEB"
- name: Управление метками
if: ${{ cancelled() }} == false
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os "CLI_ЯМетрика_УправлениеМетками"
- name: Записать логи
if: ${{ cancelled() }} == false
uses: actions/cache/save@v3
with:
key: logs-YandexMetrika
path: ./docs/ru/results/YandexMetrika
Encode:
runs-on: ubuntu-latest
needs: [Testing-Telegram,Testing-VK,Testing-Viber,Testing-Twitter,Testing-YandexDisk,Testing-GoogleWorkspace,Testing-GoogleCalendar,Testing-GoogleDrive,Testing-GoogleSheets,Testing-Notion,Testing-Slack,Testing-Airtable,Testing-Dropbox,Testing-Bitrix24,Testing-VkTeams,Testing-Ozon,Testing-Neocities,Testing-CDEK,Testing-YandexMarket]
needs: [Testing-Telegram,Testing-VK,Testing-Viber,Testing-Twitter,Testing-YandexDisk,Testing-GoogleWorkspace,Testing-GoogleCalendar,Testing-GoogleDrive,Testing-GoogleSheets,Testing-Notion,Testing-Slack,Testing-Airtable,Testing-Dropbox,Testing-Bitrix24,Testing-VkTeams,Testing-Ozon,Testing-Neocities,Testing-CDEK,Testing-YandexMarket,Testing-YandexMetrika]
if: ${{ always() }}
permissions:
contents: write
@ -1589,6 +1631,22 @@ jobs:
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/Bayselonarrend/OpenIntegrations/actions/caches?key=logs-YandexMarket"
- name: Получить логи YandexMetrika
uses: actions/cache/restore@v3
with:
key: logs-YandexMetrika
path: ./docs/ru/results/YandexMetrika
- name: Очистка логов YandexMetrika
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/Bayselonarrend/OpenIntegrations/actions/caches?key=logs-YandexMetrika"
- name: Записать данные
uses: stefanzweifel/git-auto-commit-action@v5
@ -1601,7 +1659,7 @@ jobs:
Clear-Cache:
runs-on: ubuntu-latest
needs: [Testing-Telegram, Testing-VK, Testing-Viber, Testing-Twitter, Testing-YandexDisk, Testing-GoogleWorkspace, Testing-GoogleCalendar, Testing-GoogleDrive, Testing-GoogleSheets, Testing-Notion, Testing-Slack, Testing-Airtable, Testing-Dropbox, Testing-Bitrix24, Testing-VkTeams, Testing-Ozon, Testing-Neocities, Testing-CDEK, Testing-YandexMarket, Encode]
needs: [Testing-Telegram, Testing-VK, Testing-Viber, Testing-Twitter, Testing-YandexDisk, Testing-GoogleWorkspace, Testing-GoogleCalendar, Testing-GoogleDrive, Testing-GoogleSheets, Testing-Notion, Testing-Slack, Testing-Airtable, Testing-Dropbox, Testing-Bitrix24, Testing-VkTeams, Testing-Ozon, Testing-Neocities, Testing-CDEK, Testing-YandexMarket, Testing-YandexMetrika, Encode]
if: ${{ always() }}
steps:
- name: Очистка основного кэша

View File

@ -637,6 +637,17 @@ pipeline {
}
}
stage('Testing-YandexMetrika') {
steps {
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os" "CLI_ЯМетрика_УправлениеМетками"'
}
}
}
}
post{
always{

View File

@ -116,6 +116,11 @@ pipeline {
test_yamarket()
}
}
stage('metrika'){
steps{
test_metrika()
}
}
}
}
}
@ -2437,11 +2442,41 @@ def test_yamarket(){
powershell encoding: 'UTF-8', script:'./oint.exe yamarket AddUpdateProducts --Key) "test" --business "test" --offers "test" --pmedia "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe yamarket GetCampaignProducts --Key) "test" --business "test" --filters "test" --page "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe yamarket GetProductStructure --empty "test" --debug --test '
}
}
def test_metrika(){
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika CreateTag --token "test" --title "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika UpdateTag --token "test" --label "test" --title "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika GetTag --token "test" --label "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika DeleteTag --token "test" --label "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika GetTagsList --token "test" --debug --test '
}
}
pipeline {
agent any
stages {
@ -2474,6 +2509,7 @@ test_vkteams()
test_yadisk()
test_yandex()
test_yamarket()
test_metrika()
}
}

View File

@ -116,6 +116,11 @@ pipeline {
test_yamarket()
}
}
stage('metrika'){
steps{
test_metrika()
}
}
}
}
}
@ -2437,11 +2442,41 @@ def test_yamarket(){
powershell encoding: 'UTF-8', script:'./oint.exe yamarket ДобавитьОбновитьТовары --Key) "test" --business "test" --offers "test" --pmedia "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe yamarket ПолучитьТоварыМагазина --Key) "test" --business "test" --filters "test" --page "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe yamarket ПолучитьСтруктуруТовара --empty "test" --debug --test '
}
}
def test_metrika(){
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika СоздатьМетку --token "test" --title "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika ИзменитьМетку --token "test" --label "test" --title "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika ПолучитьМетку --token "test" --label "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika УдалитьМетку --token "test" --label "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika ПолучитьСписокМеток --token "test" --debug --test '
}
}
pipeline {
agent any
stages {
@ -2474,6 +2509,7 @@ test_vkteams()
test_yadisk()
test_yandex()
test_yamarket()
test_metrika()
}
}

View File

@ -637,6 +637,17 @@ pipeline {
}
}
stage('Testing-YandexMetrika') {
steps {
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os" "ЯМетрика_УправлениеМетками"'
}
}
}
}
post{
always{

View File

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

View File

@ -0,0 +1,4 @@
{
"Token": "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...",
"TagID": 313480
}

View File

@ -0,0 +1,4 @@
{
"Token": "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...",
"TagID": 313480
}

View File

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

View File

@ -0,0 +1,4 @@
{
"Token": "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...",
"TagID": 313480
}

View File

@ -0,0 +1,4 @@
 Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
Name = "New tag";
Result = OPI_YandexMetrika.CreateTag(Token, Name);

View File

@ -0,0 +1,4 @@
 Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
TagID = "313480";
Result = OPI_YandexMetrika.DeleteTag(Token, TagID);

View File

@ -0,0 +1,4 @@
 Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
TagID = "313480";
Result = OPI_YandexMetrika.GetTag(Token, TagID);

View File

@ -0,0 +1,3 @@
 Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
Result = OPI_YandexMetrika.GetTagsList(Token);

View File

@ -0,0 +1,5 @@
 Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
TagID = "313480";
Name = "New tag title";
Result = OPI_YandexMetrika.UpdateTag(Token, TagID, Name);

View File

@ -53,6 +53,4 @@ import TabItem from '@theme/TabItem';
</Tabs>
```json title="Result"
```

View File

@ -67,6 +67,4 @@ This method call should be used in response to receiving a callbackQuery event
```json title="Result"
```

View File

@ -38,6 +38,4 @@ Method at API documentation: [Cabinet settings](https://yandex.ru/dev/market/par
```json title="Result"
```

View File

@ -39,5 +39,13 @@ Method at API documentation: [Market settings](https://yandex.ru/dev/market/part
```json title="Result"
{
"status": "ERROR",
"errors": [
{
"code": "CAMPAIGN_TYPE_NOT_SUPPORTED",
"message": "Campaign type is not allowed"
}
]
}
```

View File

@ -39,5 +39,13 @@ Method at API documentation: [Market information](https://yandex.ru/dev/market/p
```json title="Result"
{
"status": "ERROR",
"errors": [
{
"code": "CAMPAIGN_TYPE_NOT_SUPPORTED",
"message": "Campaign type is not allowed"
}
]
}
```

View File

@ -38,5 +38,25 @@ Method at API documentation: [List of users shops](https://yandex.ru/dev/market/
```json title="Result"
{
"campaigns": [
{
"domain": "Openintegrations Test1",
"id": 129112733,
"clientId": 306770815,
"business": {
"id": 172257075,
"name": "Openintegrations Test1"
}
}
],
"pager": {
"total": 1,
"from": 1,
"to": 1,
"currentPage": 1,
"pagesCount": 1,
"pageSize": 100
}
}
```

View File

@ -102,5 +102,7 @@ Method at API documentation: [Adding products to the catalogue and changing info
```json title="Result"
{
"status": "OK"
}
```

View File

@ -0,0 +1,41 @@
---
sidebar_position: 2
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Get campaign products
Gets the list of products of the selected market (campaign)
`Function GetCampaignProducts(Val Token, Val CampaignID, Val Filters = "", Val PageToken = "") Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Token | --Key) | String | &#x2714; | token |
| CampaignID | --business | String, Number | &#x2714; | Campaign ID |
| Filters | --filters | Structure of KeyAndValue | &#x2716; | Product filters |
| PageToken | --page | String | &#x2716; | Next page token in case of a large selection |
Returns: Map Of KeyAndValue - serialized JSON response from Yandex Market
<br/>
:::tip
Method at API documentation: [Information о productх, that размещены in заданbutм магазandnot](https://https:
yandex.ru/dev/market/partner-api/doc/ru/reference/assortment/getCampaignOffers)
:::
<br/>
```bsl title="1C:Enterprise/OneScript code example"
```

View File

@ -1,5 +1,5 @@
---
sidebar_position: 2
sidebar_position: 3
---
import Tabs from '@theme/Tabs';
@ -35,6 +35,4 @@ yandex.ru/dev/market/partner-api/doc/ru/reference/business-assortment/updateOffe
```json title="Result"
```

View File

@ -0,0 +1,41 @@
---
sidebar_position: 1
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Create tag
Creates a tag with the specified name
`Function CreateTag(Val Token, Val Name) Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Token | --token | String | &#x2714; | Auth token |
| Name | --title | String | &#x2714; | Tag title |
Returns: Map Of KeyAndValue - serialized JSON response from Yandex
<br/>
:::tip
Method at API documentation: [Creating a tag](https://yandex.ru/dev/metrika/en/management/openapi/label/createLabel)
:::
<br/>
```bsl title="1C:Enterprise/OneScript code example"
Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
Name = "New tag";
Result = OPI_YandexMetrika.CreateTag(Token, Name);
```

View File

@ -0,0 +1,41 @@
---
sidebar_position: 4
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Delete tag
Deletes a tag by ID
`Function DeleteTag(Val Token, Val TagID) Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Token | --token | String | &#x2714; | Auth token |
| TagID | --label | String | &#x2714; | ID of the tag to be deleted |
Returns: Map Of KeyAndValue - serialized JSON response from Yandex
<br/>
:::tip
Method at API documentation: [Deleting a tag](https://yandex.ru/dev/metrika/en/management/openapi/label/deleteLabel)
:::
<br/>
```bsl title="1C:Enterprise/OneScript code example"
Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
TagID = "313480";
Result = OPI_YandexMetrika.DeleteTag(Token, TagID);
```

View File

@ -0,0 +1,41 @@
---
sidebar_position: 3
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Get tag
Gets the tag by ID
`Function GetTag(Val Token, Val TagID) Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Token | --token | String | &#x2714; | Auth token |
| TagID | --label | String | &#x2714; | Tag ID |
Returns: Map Of KeyAndValue - serialized JSON response from Yandex
<br/>
:::tip
Method at API documentation: [Tag information](https://yandex.ru/dev/metrika/en/management/openapi/label/getLabel)
:::
<br/>
```bsl title="1C:Enterprise/OneScript code example"
Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
TagID = "313480";
Result = OPI_YandexMetrika.GetTag(Token, TagID);
```

View File

@ -0,0 +1,39 @@
---
sidebar_position: 5
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Get tags list
Gets a list of the users tags
`Function GetTagsList(Val Token) Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Token | --token | String | &#x2714; | Auth token |
Returns: Map Of KeyAndValue - serialized JSON response from Yandex
<br/>
:::tip
Method at API documentation: [List of user tags](https://yandex.ru/dev/metrika/en/management/openapi/label/getLabels)
:::
<br/>
```bsl title="1C:Enterprise/OneScript code example"
Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
Result = OPI_YandexMetrika.GetTagsList(Token);
```

View File

@ -0,0 +1,43 @@
---
sidebar_position: 2
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Update tag
Changes the tag name by ID
`Function UpdateTag(Val Token, Val TagID, Val Name) Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Token | --token | String | &#x2714; | Auth token |
| TagID | --label | String | &#x2714; | Tag ID to change |
| Name | --title | String | &#x2714; | New name |
Returns: Map Of KeyAndValue - serialized JSON response from Yandex
<br/>
:::tip
Method at API documentation: [Changing a tag](https://yandex.ru/dev/metrika/en/management/openapi/label/updateLabel)
:::
<br/>
```bsl title="1C:Enterprise/OneScript code example"
Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
TagID = "313480";
Name = "New tag title";
Result = OPI_YandexMetrika.UpdateTag(Token, TagID, Name);
```

View File

@ -0,0 +1,4 @@
{
"label": "Tags managment",
"position": "2"
}

View File

@ -0,0 +1,4 @@
{
"Токен": "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...",
"IDМетки": 313480
}

View File

@ -0,0 +1,4 @@
{
"Токен": "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...",
"IDМетки": 313480
}

View File

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

View File

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

View File

@ -0,0 +1,4 @@
{
"Токен": "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...",
"IDМетки": 313480
}

View File

@ -0,0 +1,5 @@
 Токен = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
IDМетки = "313480";
Наименование = "Новое имя метки";
Результат = OPI_YandexMetrika.ИзменитьМетку(Токен, IDМетки, Наименование);

View File

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

View File

@ -0,0 +1,3 @@
 Токен = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
Результат = OPI_YandexMetrika.ПолучитьСписокМеток(Токен);

View File

@ -0,0 +1,4 @@
 Токен = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
Наименование = "Новая метка";
Результат = OPI_YandexMetrika.СоздатьМетку(Токен, Наименование);

View File

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

View File

@ -53,6 +53,4 @@ import TabItem from '@theme/TabItem';
</Tabs>
```json title="Результат"
```

View File

@ -38,6 +38,4 @@ import TabItem from '@theme/TabItem';
```json title="Результат"
```

View File

@ -38,6 +38,4 @@ import TabItem from '@theme/TabItem';
```json title="Результат"
```

View File

@ -38,6 +38,4 @@ import TabItem from '@theme/TabItem';
```json title="Результат"
```

View File

@ -37,6 +37,4 @@ import TabItem from '@theme/TabItem';
```json title="Результат"
```

View File

@ -101,6 +101,4 @@ import TabItem from '@theme/TabItem';
```json title="Результат"
```

View File

@ -0,0 +1,41 @@
---
sidebar_position: 2
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Получить товары магазина
Получает список товаров выбранного магазина
`Функция ПолучитьТоварыМагазина(Знач Токен, Знач IDМагазина, Знач Фильтры = "", Знач ТокенСтраницы = "") Экспорт`
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| Токен | --Key) | Строка | &#x2714; | token |
| IDМагазина | --business | Строка, Число | &#x2714; | ID магазина |
| Фильтры | --filters | Структура Из КлючИЗначение | &#x2716; | Фильтры для отбора товаров |
| ТокенСтраницы | --page | Строка | &#x2716; | Токен следующей страницы при большой выборке |
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex Market
<br/>
:::tip
Метод в документации API: [Информация о товарах, которые размещены в заданном магазине](https://https:
yandex.ru/dev/market/partner-api/doc/ru/reference/assortment/getCampaignOffers)
:::
<br/>
```bsl title="Пример использования для 1С:Предприятие/OneScript"
```

View File

@ -1,5 +1,5 @@
---
sidebar_position: 2
sidebar_position: 3
---
import Tabs from '@theme/Tabs';
@ -35,6 +35,4 @@ yandex.ru/dev/market/partner-api/doc/ru/reference/business-assortment/updateOffe
```json title="Результат"
```

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -0,0 +1,4 @@
{
"label": "Управление метками",
"position": "2"
}

File diff suppressed because it is too large Load Diff

View File

@ -53,9 +53,7 @@
// Map Of KeyAndValue - serialized JSON response from Yandex
Function GetDiskInformation(Val Token) Export
OPI_TypeConversion.GetLine(Token);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Response = OPI_Tools.Get("https://cloud-api.yandex.net/v1/disk", , Headers);
Return Response;
@ -73,15 +71,12 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function CreateFolder(Val Token, Val Path) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Path);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://cloud-api.yandex.net/v1/disk/resources";
Href = "href";
Parameters = New Structure;
Parameters.Insert("path", Path);
OPI_Tools.AddField("path", Path, "String", Parameters);
Parameters = OPI_Tools.RequestParametersToString(Parameters);
Response = OPI_Tools.Put(URL + Parameters, , Headers, False);
@ -109,12 +104,10 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function GetObject(Val Token, Val Path) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Path);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Headers = AuthorizationHeader(Token);
Parameters = New Structure;
Parameters.Insert("path", Path);
OPI_Tools.AddField("path", Path, "String", Parameters);
Response = OPI_Tools.Get("https://cloud-api.yandex.net/v1/disk/resources", Parameters, Headers);
@ -134,15 +127,13 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function DeleteObject(Val Token, Val Path, Val ToCart = True) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Path);
OPI_TypeConversion.GetBoolean(ToCart);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Parameters = New Structure;
Parameters.Insert("path" , Path);
Parameters.Insert("permanently", Not ToCart);
OPI_Tools.AddField("path" , Path , "String" , Parameters);
OPI_Tools.AddField("permanently", Not ToCart, "Boolean", Parameters);
Response = OPI_Tools.Delete("https://cloud-api.yandex.net/v1/disk/resources", Parameters, Headers);
@ -163,19 +154,14 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function CreateObjectCopy(Val Token, Val Original, Val Path, Val Overwrite = False) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Original);
OPI_TypeConversion.GetLine(Path);
OPI_TypeConversion.GetBoolean(Overwrite);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://cloud-api.yandex.net/v1/disk/resources/copy";
Href = "href";
Parameters = New Structure;
Parameters.Insert("from" , Original);
Parameters.Insert("path" , Path);
Parameters.Insert("overwrite" , Overwrite);
OPI_Tools.AddField("from" , Original , "String" , Parameters);
OPI_Tools.AddField("path" , Path , "String" , Parameters);
OPI_Tools.AddField("overwrite", Overwrite, "Boolean", Parameters);
Parameters = OPI_Tools.RequestParametersToString(Parameters);
Response = OPI_Tools.Post(URL + Parameters, , Headers, False);
@ -203,13 +189,10 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function GetDownloadLink(Val Token, Val Path) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Path);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Parameters = New Structure;
Parameters.Insert("path", Path);
OPI_Tools.AddField("path", Path, "String", Parameters);
Response = OPI_Tools.Get("https://cloud-api.yandex.net/v1/disk/resources/download", Parameters, Headers);
@ -230,6 +213,7 @@ EndFunction
Function DownloadFile(Val Token, Val Path, Val SavePath = "") Export
OPI_TypeConversion.GetLine(SavePath);
Response = GetDownloadLink(Token, Path);
URL = Response["href"];
@ -264,13 +248,12 @@ Function GetFilesList(Val Token
, Val FilterByType = ""
, Val SortByDate = False) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Count);
OPI_TypeConversion.GetLine(OffsetFromStart);
OPI_TypeConversion.GetLine(FilterByType);
OPI_TypeConversion.GetBoolean(SortByDate);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Parameters = New Structure;
@ -311,12 +294,11 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function MoveObject(Val Token, Val Original, Val Path, Val Overwrite = False) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Original);
OPI_TypeConversion.GetLine(Path);
OPI_TypeConversion.GetBoolean(Overwrite);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://cloud-api.yandex.net/v1/disk/resources/move";
Href = "href";
@ -352,12 +334,11 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function UploadFile(Val Token, Val Path, Val File, Val Overwrite = False) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Path);
OPI_TypeConversion.GetBoolean(Overwrite);
OPI_TypeConversion.GetBinaryData(File);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Href = "href";
File = New Structure("file", File);
@ -390,11 +371,10 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function UploadFileByURL(Val Token, Val Path, Val Address) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Path);
OPI_TypeConversion.GetLine(Address);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://cloud-api.yandex.net/v1/disk/resources/upload";
Parameters = New Structure;
@ -454,11 +434,10 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function GetPublishedObjectsList(Val Token, Val Count = 0, Val OffsetFromStart = 0) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Count);
OPI_TypeConversion.GetLine(OffsetFromStart);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Parameters = New Structure;
@ -489,12 +468,11 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function GetPublicObject(Val Token, Val URL, Val Count = 0, Val OffsetFromStart = 0) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(URL);
OPI_TypeConversion.GetLine(Count);
OPI_TypeConversion.GetLine(OffsetFromStart);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Parameters = New Structure;
@ -526,11 +504,10 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function GetDownloadLinkForPublicObject(Val Token, Val URL, Val Path = "") Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(URL);
OPI_TypeConversion.GetLine(Path);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Parameters = New Structure;
@ -559,12 +536,11 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function SavePublicObjectToDisk(Val Token, Val URL, From = "", Target = "") Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(URL);
OPI_TypeConversion.GetLine(From);
OPI_TypeConversion.GetLine(Target);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Address = "https://cloud-api.yandex.net/v1/disk/public/resources/save-to-disk";
Href = "href";
@ -600,22 +576,12 @@ EndFunction
#Region Private
Function AuthorizationHeader(Val Token)
Headers = New Map;
Headers.Insert("Authorization", "OAuth " + Token);
Return Headers;
EndFunction
Function TogglePublicAccess(Val Token, Val Path, Val PublicAccess)
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Path);
OPI_TypeConversion.GetBoolean(PublicAccess);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Destination = ?(PublicAccess, "publish", "unpublish");
Href = "href";

View File

@ -114,4 +114,15 @@ Function RefreshToken(Val ClientId, Val ClientSecret, Val RefreshToken) Export /
EndFunction
Function GetAuthorizationHeader(Val Token) Export
OPI_TypeConversion.GetLine(Token);
Headers = New Map;
Headers.Insert("Authorization", "OAuth " + Token);
Return Headers;
EndFunction
#EndRegion

View File

@ -187,6 +187,68 @@ Function AddUpdateProducts(Val Token, Val AccountID, Val ProductsArray, Val OwnI
EndFunction
// Get campaign products
// Gets the list of products of the selected market (campaign)
//
// Note
// Method at API documentation: [Information о productх, that размещены in заданbutм магазandnot](@https://yandex.ru/dev/market/partner-api/doc/ru/reference/assortment/getCampaignOffers)
//
// Parameters:
// Token - String - Authorisation token (Api-Key) - token
// CampaignID - String, Number - Campaign ID - business
// Filters - Structure of KeyAndValue - Product filters - filters
// PageToken - String - Next page token in case of a large selection - page
//
// Returns:
// Map Of KeyAndValue - serialized JSON response from Yandex Market
Function GetCampaignProducts(Val Token, Val CampaignID, Val Filters = "", Val PageToken = "") Export
OPI_TypeConversion.GetLine(CampaignID);
OPI_TypeConversion.GetLine(PageToken);
URL = "https://api.partner.market.yandex.ru/campaigns/%1/offers";
URL = StrTemplate(URL, CampaignID);
Headers = CreateRequestHeaders(Token);
If ValueIsFilled(PageToken) Then
URL = URL + "?page_token=" + PageToken;
EndIf;
If ValueIsFilled(Filters) Then
OPI_TypeConversion.GetCollection(Filters);
Response = OPI_Tools.Post(URL, Filters, Headers);
Else
Response = OPI_Tools.Post(URL, , Headers);
EndIf;
Return Response;
EndFunction
Function GetBusinessProducts(Val Token, Val AccountID, Val Filters = "", Val PageToken = "") Export
OPI_TypeConversion.GetLine(AccountID);
OPI_TypeConversion.GetLine(PageToken);
URL = "https://api.partner.market.yandex.ru/businesses/%1/offer-mappings";
URL = StrTemplate(URL, AccountID);
Headers = CreateRequestHeaders(Token);
If ValueIsFilled(PageToken) Then
URL = URL + "?page_token=" + PageToken;
EndIf;
If ValueIsFilled(Filters) Then
OPI_TypeConversion.GetCollection(Filters);
Response = OPI_Tools.Post(URL, Filters, Headers);
Else
Response = OPI_Tools.Post(URL, , Headers);
EndIf;
Return Response;
EndFunction
// Get product structure
// Gets the structure of product standard fields
//
@ -250,15 +312,25 @@ Function GetProductStructure(Val Clear = False) Export
ItemStructure.Insert("condition", StateStructure);
// TODO: Finish
ItemStructure.Insert("customsCommodityCode", "<commodity code TN VED>");
ItemStructure.Insert("description", "<detailed product description>");
ItemStructure.Insert("downloadable", "<digital attribute>");
ItemStructure.Insert("guaranteePeriod", "<warranty period>");
ItemStructure.Insert("lifeTime", "<lifespan>");
ItemStructure.Insert("description" , "<detailed product description>");
ItemStructure.Insert("downloadable" , "<digital attribute>");
PeriodStructure = New Structure;
PeriodStructure.Insert("timePeriod", "<duration value>");
PeriodStructure.Insert("timeUnit" , "<unit>");
PeriodStructure.Insert("comment" , "<comment>");
ItemStructure.Insert("guaranteePeriod", PeriodStructure);
ItemStructure.Insert("lifeTime" , PeriodStructure);
ManualsArray = New Array;
ManualsArray.Add("<manual>");
ManualStructure = New Structure;
ManualStructure.Insert("url" , "<URL to manual>");
ManualStructure.Insert("title", "<manual title>");
ManualsArray.Add(ManualStructure);
ItemStructure.Insert("manuals", ManualsArray);
@ -270,16 +342,28 @@ Function GetProductStructure(Val Clear = False) Export
ItemStructure.Insert("name" , "<product name>");
AttributesArray = New Array;
AttributesArray.Add("<feature>");
AttributesStructure = New Structure;
AttributesStructure.Insert("parameterId", "<attribute ID>");
AttributesStructure.Insert("unitId" , "<unit ID>");
AttributesStructure.Insert("value" , "<value>");
AttributesStructure.Insert("valueId" , "<enum ID>");
AttributesArray.Add(AttributesStructure);
ItemStructure.Insert("parameterValues", AttributesArray);
ImageArray = New Array;
ImageArray.Add("<product picture link>");
ItemStructure.Insert("pictures" , ImageArray);
ItemStructure.Insert("purchasePrice", "<cost price>");
ItemStructure.Insert("shelfLife" , "<expiry date>");
ItemStructure.Insert("pictures" , ImageArray);
PurchasePriceStructure = New Structure;
PurchasePriceStructure.Insert("currencyId" , "<Currency code>");
PurchasePriceStructure.Insert("value" , "<price>");
ItemStructure.Insert("purchasePrice", PurchasePriceStructure);
ItemStructure.Insert("shelfLife" , PeriodStructure);
TagsArray = New Array;
TagsArray.Add("<tag>");
@ -292,7 +376,14 @@ Function GetProductStructure(Val Clear = False) Export
VideosArray = New Array;
VideosArray.Add("<video URL>");
ItemStructure.Insert("videos" , VideosArray);
ItemStructure.Insert("videos" , VideosArray);
SizesStructure = New Structure;
SizesStructure.Insert("height", "<height, cm.>");
SizesStructure.Insert("length", "<length, cm.>");
SizesStructure.Insert("weight", "<weight, kg (gross)>");
SizesStructure.Insert("width" , "<width, cm.>");
ItemStructure.Insert("weightDimensions", "<product dimensions and weight>");
If Clear Then

View File

@ -0,0 +1,177 @@
// OneScript: ./OInt/core/Modules/OPI_YandexMetrika.os
// Lib: Yandex Metrika
// CLI: metrika
// MIT License
// Copyright (c) 2023 Anton Tsitavets
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
// https://github.com/Bayselonarrend/OpenIntegrations
// BSLLS:Typo-off
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// BSLLS:NumberOfOptionalParams-off
// BSLLS:UsingServiceTag-off
// BSLLS:LineLength-off
//@skip-check module-structure-top-region
//@skip-check module-structure-method-in-regions
//@skip-check wrong-string-literal-content
//@skip-check method-too-many-params
// Uncomment if OneScript is executed
#Use "../../tools"
#Region Public
#Region TagsManagment
// Create tag
// Creates a tag with the specified name
//
// Note
// Method at API documentation: [Creating a tag](@yandex.ru/dev/metrika/en/management/openapi/label/createLabel)
//
// Parameters:
// Token - String - Auth token - token
// Name - String - Tag title - title
//
// Returns:
// Map Of KeyAndValue - serialized JSON response from Yandex
Function CreateTag(Val Token, Val Name) Export
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://api-metrika.yandex.net/management/v1/labels";
Label = New Structure;
OPI_Tools.AddField("name", Name, "String", Label);
Response = OPI_Tools.Post(URL, New Structure("label", Label), Headers);
Return Response;
EndFunction
// Update tag
// Changes the tag name by ID
//
// Note
// Method at API documentation: [Changing a tag](@yandex.ru/dev/metrika/en/management/openapi/label/updateLabel)
//
// Parameters:
// Token - String - Auth token - token
// TagID - String - Tag ID to change - label
// Name - String - New name - title
//
// Returns:
// Map Of KeyAndValue - serialized JSON response from Yandex
Function UpdateTag(Val Token, Val TagID, Val Name) Export
OPI_TypeConversion.GetLine(TagID);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://api-metrika.yandex.net/management/v1/label/" + TagID;
Label = New Structure;
OPI_Tools.AddField("name", Name, "String", Label);
Response = OPI_Tools.Put(URL, New Structure("label", Label), Headers);
Return Response;
EndFunction
// Get tag
// Gets the tag by ID
//
// Note
// Method at API documentation: [Tag information](@yandex.ru/dev/metrika/en/management/openapi/label/getLabel)
//
// Parameters:
// Token - String - Auth token - token
// TagID - String - Tag ID - label
//
// Returns:
// Map Of KeyAndValue - serialized JSON response from Yandex
Function GetTag(Val Token, Val TagID) Export
OPI_TypeConversion.GetLine(TagID);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://api-metrika.yandex.net/management/v1/label/" + TagID;
Response = OPI_Tools.Get(URL, , Headers);
Return Response;
EndFunction
// Delete tag
// Deletes a tag by ID
//
// Note
// Method at API documentation: [Deleting a tag](@yandex.ru/dev/metrika/en/management/openapi/label/deleteLabel)
//
// Parameters:
// Token - String - Auth token - token
// TagID - String - ID of the tag to be deleted - label
//
// Returns:
// Map Of KeyAndValue - serialized JSON response from Yandex
Function DeleteTag(Val Token, Val TagID) Export
OPI_TypeConversion.GetLine(TagID);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://api-metrika.yandex.net/management/v1/label/" + TagID;
Response = OPI_Tools.Delete(URL, , Headers);
Return Response;
EndFunction
// Get tags list
// Gets a list of the users tags
//
// Note
// Method at API documentation: [List of user tags](@yandex.ru/dev/metrika/en/management/openapi/label/getLabels)
//
// Parameters:
// Token - String - Auth token - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON response from Yandex
Function GetTagsList(Val Token) Export
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://api-metrika.yandex.net/management/v1/labels";
Response = OPI_Tools.Get(URL, , Headers);
Return Response;
EndFunction
#EndRegion
#EndRegion

View File

@ -19,6 +19,7 @@
<module name="OPI_YandexDisk" file="core/Modules/OPI_YandexDisk.os"/>
<module name="OPI_YandexID" file="core/Modules/OPI_YandexID.os"/>
<module name="OPI_YandexMarket" file="core/Modules/OPI_YandexMarket.os"/>
<module name="OPI_YandexMetrika" file="core/Modules/OPI_YandexMetrika.os"/>
<module name="OPI_Tools" file="tools/Modules/internal/Modules/OPI_Tools.os"/>
<module name="OPI_Cryptography" file="tools/Modules/internal/Modules/OPI_Cryptography.os"/>
<module name="OPI_TestDataRetrieval" file="tools/Modules/OPI_TestDataRetrieval.os"/>

View File

@ -2068,31 +2068,18 @@ EndProcedure
#EndRegion
#Region YandexMarket
#Region YandexMetrika
Procedure YaMarket_CampaignsAndBusiness() Export
Procedure YaMetrika_TagsManagment() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Token" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Campaign", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Business", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Metrika_Token", TestParameters);
YandexMarket_GetMarketsList(TestParameters);
YandexMarket_GetMarket(TestParameters);
YandexMarket_GetBusinessSettings(TestParameters);
YandexMarket_GetCampaignSettings(TestParameters);
EndProcedure
Procedure YaMarket_ProductsManagment() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Token" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Business", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Video" , TestParameters);
YandexMarket_AddUpdateProducts(TestParameters);
YandexMetrika_CreateTag(TestParameters);
YandexMetrika_GetTagsList(TestParameters);
YandexMetrika_UpdateTag(TestParameters);
YandexMetrika_GetTag(TestParameters);
YandexMetrika_DeleteTag(TestParameters);
EndProcedure
@ -14339,135 +14326,80 @@ EndProcedure
#EndRegion
#Region YandexMarket
#Region YandexMetrika
Procedure YandexMarket_GetMarketsList(FunctionParameters)
Procedure YandexMetrika_GetTagsList(FunctionParameters)
Token = FunctionParameters["YMarket_Token"];
Token = FunctionParameters["Metrika_Token"];
Result = OPI_YandexMarket.GetMarketsList(Token);
Result = OPI_YandexMetrika.GetTagsList(Token);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetMarketsList", "YandexMarket");
OPI_TestDataRetrieval.Check_YaMarketMarkets(Result);
OPI_TestDataRetrieval.WriteLog(Result, "GetTagsList", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaTags(Result);
EndProcedure
Procedure YandexMarket_GetMarket(FunctionParameters)
Procedure YandexMetrika_CreateTag(FunctionParameters)
Token = FunctionParameters["YMarket_Token"];
CampaignID = FunctionParameters["YMarket_Campaign"];
Token = FunctionParameters["Metrika_Token"];
Name = "New tag";
Result = OPI_YandexMarket.GetMarket(Token, CampaignID);
Result = OPI_YandexMetrika.CreateTag(Token, Name);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetMarket", "YandexMarket");
OPI_TestDataRetrieval.Check_Map(Result);
OPI_TestDataRetrieval.WriteLog(Result, "CreateTag", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaTag(Result, Name);
TagID = Result["label"]["id"];
OPI_TestDataRetrieval.WriteParameter("Metrika_LabelID", TagID);
OPI_Tools.AddField("Metrika_LabelID", TagID, "String", FunctionParameters);
EndProcedure
Procedure YandexMarket_GetBusinessSettings(FunctionParameters)
Procedure YandexMetrika_DeleteTag(FunctionParameters)
Token = FunctionParameters["YMarket_Token"];
AccountID = FunctionParameters["YMarket_Business"];
Token = FunctionParameters["Metrika_Token"];
TagID = FunctionParameters["Metrika_LabelID"];
Result = OPI_YandexMarket.GetBusinessSettings(Token, AccountID);
Result = OPI_YandexMetrika.DeleteTag(Token, TagID);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetMarket", "YandexMarket");
OPI_TestDataRetrieval.Check_YaMarketBusiness(Result);
OPI_TestDataRetrieval.WriteLog(Result, "DeleteTag", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaSuccess(Result);
EndProcedure
Procedure YandexMarket_GetCampaignSettings(FunctionParameters)
Procedure YandexMetrika_UpdateTag(FunctionParameters)
Token = FunctionParameters["YMarket_Token"];
CampaignID = FunctionParameters["YMarket_Campaign"];
Token = FunctionParameters["Metrika_Token"];
TagID = FunctionParameters["Metrika_LabelID"];
Name = "New tag title";
Result = OPI_YandexMarket.GetCampaignSettings(Token, CampaignID);
Result = OPI_YandexMetrika.UpdateTag(Token, TagID, Name);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetCampaignSettings", "YandexMarket");
OPI_TestDataRetrieval.Check_Map(Result);
OPI_TestDataRetrieval.WriteLog(Result, "UpdateTag", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaTag(Result, Name);
EndProcedure
Procedure YandexMarket_AddUpdateProducts(FunctionParameters)
Procedure YandexMetrika_GetTag(FunctionParameters)
Token = FunctionParameters["YMarket_Token"];
AccountID = FunctionParameters["YMarket_Business"];
Image = FunctionParameters["Picture"];
Video = FunctionParameters["Video"];
Token = FunctionParameters["Metrika_Token"];
TagID = FunctionParameters["Metrika_LabelID"];
UpdatesStructure = New Structure;
ItemStructure = New Structure;
ItemStructure.Insert("offerId" , "11111");
ItemStructure.Insert("name" , "Makita HP1630 impact drill, 710 W");
ItemStructure.Insert("marketCategoryId", 15221861);
ItemStructure.Insert("category" , "Drill");
ImageArray = New Array;
ImageArray.Add(Image);
ItemStructure.Insert("pictures", ImageArray);
VideosArray = New Array;
VideosArray.Add(Video);
ItemStructure.Insert("videos", VideosArray);
ItemStructure.Insert("vendor", "LEVENHUK");
BarcodesArray = New Array;
BarcodesArray.Add("46012300000000");
ItemStructure.Insert("barcodes" , BarcodesArray);
ItemStructure.Insert("description", "Description");
CountriesArray = New Array;
CountriesArray.Add("Russia");
ItemStructure.Insert("manufacturerCountries", CountriesArray);
SizesStructure = New Structure;
SizesStructure.Insert("length", 65.55);
SizesStructure.Insert("width" , 50.7);
SizesStructure.Insert("height", 20);
SizesStructure.Insert("weight", 1.001);
ItemStructure.Insert("weightDimensions", SizesStructure);
ItemStructure.Insert("vendorCode" , "VNDR-0005A");
TagsArray = New Array;
TagsArray.Add("up to 500 roubles");
ItemStructure.Insert("tags", TagsArray);
PeriodStructure = New Structure;
PeriodStructure.Insert("timePeriod", 24);
PeriodStructure.Insert("timeUnit" , "HOUR");
PeriodStructure.Insert("comment" , "Comment");
ItemStructure.Insert("shelfLife" , PeriodStructure);
ItemStructure.Insert("lifeTime" , PeriodStructure);
ItemStructure.Insert("guaranteePeriod" , PeriodStructure);
ItemStructure.Insert("customsCommodityCode", 8517610008);
ItemStructure.Insert("type" , "DEFAULT");
ItemStructure.Insert("downloadable" , False);
ItemStructure.Insert("adult" , False);
UpdatesStructure.Insert("offer", ItemStructure);
Result = OPI_YandexMarket.AddUpdateProducts(Token, AccountID, UpdatesStructure);
Result = OPI_YandexMetrika.GetTag(Token, TagID);
// END
OPI_TestDataRetrieval.WriteLog(Result, "AddUpdateProducts", "YandexMarket");
OPI_TestDataRetrieval.Check_YaMarketOk(Result);
OPI_TestDataRetrieval.WriteLog(Result, "GetTag", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaTag(Result);
EndProcedure

View File

@ -2064,19 +2064,18 @@ EndProcedure
#EndRegion
#Region YandexMarket
#Region YandexMetrika
Procedure CLI_YaMarket_CampaignsAndBusiness() Export
Procedure CLI_YaMetrika_TagsManagment() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Token" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Campaign", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Business", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Metrika_Token", TestParameters);
CLI_YandexMarket_GetMarketsList(TestParameters);
CLI_YandexMarket_GetMarket(TestParameters);
CLI_YandexMarket_GetBusinessSettings(TestParameters);
CLI_YandexMarket_GetCampaignSettings(TestParameters);
CLI_YandexMetrika_CreateTag(TestParameters);
CLI_YandexMetrika_GetTagsList(TestParameters);
CLI_YandexMetrika_UpdateTag(TestParameters);
CLI_YandexMetrika_GetTag(TestParameters);
CLI_YandexMetrika_DeleteTag(TestParameters);
EndProcedure
@ -16298,60 +16297,90 @@ EndProcedure
#EndRegion
#Region YandexMarket
#Region YandexMetrika
Procedure CLI_YandexMarket_GetMarketsList(FunctionParameters)
Procedure CLI_YandexMetrika_GetTagsList(FunctionParameters)
Token = FunctionParameters["YMarket_Token"];
Token = FunctionParameters["Metrika_Token"];
Result = OPI_YandexMarket.GetMarketsList(Token);
Options = New Structure;
Options.Insert("token", Token);
// END
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetTagsList", Options);
OPI_TestDataRetrieval.WriteLog(Result, "GetMarketsList", "YandexMarket");
OPI_TestDataRetrieval.Check_YaMarketMarkets(Result);
OPI_TestDataRetrieval.WriteLog(Result, "GetTagsList", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaTags(Result);
EndProcedure
Procedure CLI_YandexMarket_GetMarket(FunctionParameters)
Procedure CLI_YandexMetrika_CreateTag(FunctionParameters)
Token = FunctionParameters["YMarket_Token"];
CampaignID = FunctionParameters["YMarket_Campaign"];
Token = FunctionParameters["Metrika_Token"];
Name = "New tag";
Result = OPI_YandexMarket.GetMarket(Token, CampaignID);
Options = New Structure;
Options.Insert("token", Token);
Options.Insert("title", Name);
// END
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "CreateTag", Options);
OPI_TestDataRetrieval.WriteLog(Result, "GetMarket", "YandexMarket");
OPI_TestDataRetrieval.Check_Map(Result);
OPI_TestDataRetrieval.WriteLog(Result, "CreateTag", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaTag(Result, Name);
TagID = Result["label"]["id"];
OPI_TestDataRetrieval.WriteParameter("Metrika_LabelID", TagID);
OPI_Tools.AddField("Metrika_LabelID", TagID, "String", FunctionParameters);
EndProcedure
Procedure CLI_YandexMarket_GetBusinessSettings(FunctionParameters)
Procedure CLI_YandexMetrika_DeleteTag(FunctionParameters)
Token = FunctionParameters["YMarket_Token"];
AccountID = FunctionParameters["YMarket_Business"];
Token = FunctionParameters["Metrika_Token"];
TagID = FunctionParameters["Metrika_LabelID"];
Result = OPI_YandexMarket.GetBusinessSettings(Token, AccountID);
Options = New Structure;
Options.Insert("token", Token);
Options.Insert("label", TagID);
// END
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "DeleteTag", Options);
OPI_TestDataRetrieval.WriteLog(Result, "GetMarket", "YandexMarket");
OPI_TestDataRetrieval.Check_YaMarketBusiness(Result);
OPI_TestDataRetrieval.WriteLog(Result, "DeleteTag", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaSuccess(Result);
EndProcedure
Procedure CLI_YandexMarket_GetCampaignSettings(FunctionParameters)
Procedure CLI_YandexMetrika_UpdateTag(FunctionParameters)
Token = FunctionParameters["YMarket_Token"];
CampaignID = FunctionParameters["YMarket_Campaign"];
Token = FunctionParameters["Metrika_Token"];
TagID = FunctionParameters["Metrika_LabelID"];
Name = "New tag title";
Result = OPI_YandexMarket.GetCampaignSettings(Token, CampaignID);
Options = New Structure;
Options.Insert("token", Token);
Options.Insert("label", TagID);
Options.Insert("title", Name);
// END
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "UpdateTag", Options);
OPI_TestDataRetrieval.WriteLog(Result, "GetCampaignSettings", "YandexMarket");
OPI_TestDataRetrieval.Check_Map(Result);
OPI_TestDataRetrieval.WriteLog(Result, "UpdateTag", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaTag(Result, Name);
EndProcedure
Procedure CLI_YandexMetrika_GetTag(FunctionParameters)
Token = FunctionParameters["Metrika_Token"];
TagID = FunctionParameters["Metrika_LabelID"];
Options = New Structure;
Options.Insert("token", Token);
Options.Insert("label", TagID);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetTag", Options);
OPI_TestDataRetrieval.WriteLog(Result, "GetTag", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaTag(Result);
EndProcedure

View File

@ -66,7 +66,7 @@ Function GetTestingSectionMapping() Export
Sections.Insert("Ozon" , 5);
Sections.Insert("Neocities" , 5);
Sections.Insert("CDEK" , 5);
Sections.Insert("YandexMarket" , 5);
Sections.Insert("YandexMetrika" , 5);
Return Sections;
@ -96,7 +96,7 @@ Function GetTestingSectionMappingGA() Export
Sections.Insert("Ozon" , StandardDependencies);
Sections.Insert("Neocities" , StandardDependencies);
Sections.Insert("CDEK" , StandardDependencies);
Sections.Insert("YandexMarket" , StandardDependencies);
Sections.Insert("YandexMetrika" , StandardDependencies);
Return Sections;
@ -122,7 +122,7 @@ Function GetTestTable() Export
Ozon = "Ozon";
Neocities = "Neocities";
Cdek = "CDEK";
YaMarket = "YandexMarket";
Metrika = "YandexMetrika";
TestTable = New ValueTable;
TestTable.Columns.Add("Method");
@ -249,8 +249,7 @@ Function GetTestTable() Export
NewTest(TestTable, "CdekAPI_CommonMethods" , "Common methods" , Cdek);
NewTest(TestTable, "CDEKAPI_OrdersManagment" , "Orders managment" , Cdek);
NewTest(TestTable, "CdekAPI_CourierInvitationsManagment" , "Courier invitations managment" , Cdek);
NewTest(TestTable, "YaMarket_CampaignsAndBusiness" , "Campaigns and business" , YaMarket);
NewTest(TestTable, "YaMarket_ProductsManagment" , "Products managment" , YaMarket);
NewTest(TestTable, "YaMetrika_TagsManagment" , "Tags managment" , Metrika);
Return TestTable;
@ -1939,6 +1938,25 @@ Procedure Check_YaMarketOk(Val Result) Export
EndProcedure
Procedure Check_MetrikaTags(Val Result) Export
ExpectsThat(Result["labels"]).ИмеетТип("Array");
EndProcedure
Procedure Check_MetrikaTag(Val Result, Val Name = "") Export
ExpectsThat(Result["label"]).ИмеетТип("Map");
ExpectsThat(Result["label"]["id"]).Заполнено();
If ValueIsFilled(Name) Then
ExpectsThat(Result["label"]["name"]).Равно(Name);
EndIf;
EndProcedure
Procedure Check_MetrikaSuccess(Val Result) Export
ExpectsThat(Result["success"]).Равно(True);
EndProcedure
#EndRegion
#EndRegion

View File

@ -66,7 +66,7 @@ Function GetTestingSectionMapping() Export
Sections.Insert("Ozon" , 5);
Sections.Insert("Neocities" , 5);
Sections.Insert("CDEK" , 5);
Sections.Insert("YandexMarket" , 5);
Sections.Insert("YandexMetrika" , 5);
Return Sections;
@ -96,7 +96,7 @@ Function GetTestingSectionMappingGA() Export
Sections.Insert("Ozon" , StandardDependencies);
Sections.Insert("Neocities" , StandardDependencies);
Sections.Insert("CDEK" , StandardDependencies);
Sections.Insert("YandexMarket" , StandardDependencies);
Sections.Insert("YandexMetrika" , StandardDependencies);
Return Sections;
@ -122,7 +122,7 @@ Function GetTestTable() Export
Ozon = "Ozon";
Neocities = "Neocities";
Cdek = "CDEK";
YaMarket = "YandexMarket";
Metrika = "YandexMetrika";
TestTable = New ValueTable;
TestTable.Columns.Add("Method");
@ -249,8 +249,7 @@ Function GetTestTable() Export
NewTest(TestTable, "CdekAPI_CommonMethods" , "Common methods" , Cdek);
NewTest(TestTable, "CDEKAPI_OrdersManagment" , "Orders managment" , Cdek);
NewTest(TestTable, "CdekAPI_CourierInvitationsManagment" , "Courier invitations managment" , Cdek);
NewTest(TestTable, "YaMarket_CampaignsAndBusiness" , "Campaigns and business" , YaMarket);
NewTest(TestTable, "YaMarket_ProductsManagment" , "Products managment" , YaMarket);
NewTest(TestTable, "YaMetrika_TagsManagment" , "Tags managment" , Metrika);
Return TestTable;
@ -1939,6 +1938,25 @@ Procedure Check_YaMarketOk(Val Result) Export
EndProcedure
Procedure Check_MetrikaTags(Val Result) Export
ExpectsThat(Result["labels"]).ИмеетТип("Array");
EndProcedure
Procedure Check_MetrikaTag(Val Result, Val Name = "") Export
ExpectsThat(Result["label"]).ИмеетТип("Map");
ExpectsThat(Result["label"]["id"]).Заполнено();
If ValueIsFilled(Name) Then
ExpectsThat(Result["label"]["name"]).Равно(Name);
EndIf;
EndProcedure
Procedure Check_MetrikaSuccess(Val Result) Export
ExpectsThat(Result["success"]).Равно(True);
EndProcedure
#EndRegion
#EndRegion

View File

@ -2068,31 +2068,18 @@ EndProcedure
#EndRegion
#Region YandexMarket
#Region YandexMetrika
Procedure YaMarket_CampaignsAndBusiness() Export
Procedure YaMetrika_TagsManagment() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Token" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Campaign", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Business", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Metrika_Token", TestParameters);
YandexMarket_GetMarketsList(TestParameters);
YandexMarket_GetMarket(TestParameters);
YandexMarket_GetBusinessSettings(TestParameters);
YandexMarket_GetCampaignSettings(TestParameters);
EndProcedure
Procedure YaMarket_ProductsManagment() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Token" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Business", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Video" , TestParameters);
YandexMarket_AddUpdateProducts(TestParameters);
YandexMetrika_CreateTag(TestParameters);
YandexMetrika_GetTagsList(TestParameters);
YandexMetrika_UpdateTag(TestParameters);
YandexMetrika_GetTag(TestParameters);
YandexMetrika_DeleteTag(TestParameters);
EndProcedure
@ -14339,135 +14326,80 @@ EndProcedure
#EndRegion
#Region YandexMarket
#Region YandexMetrika
Procedure YandexMarket_GetMarketsList(FunctionParameters)
Procedure YandexMetrika_GetTagsList(FunctionParameters)
Token = FunctionParameters["YMarket_Token"];
Token = FunctionParameters["Metrika_Token"];
Result = OPI_YandexMarket.GetMarketsList(Token);
Result = OPI_YandexMetrika.GetTagsList(Token);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetMarketsList", "YandexMarket");
OPI_TestDataRetrieval.Check_YaMarketMarkets(Result);
OPI_TestDataRetrieval.WriteLog(Result, "GetTagsList", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaTags(Result);
EndProcedure
Procedure YandexMarket_GetMarket(FunctionParameters)
Procedure YandexMetrika_CreateTag(FunctionParameters)
Token = FunctionParameters["YMarket_Token"];
CampaignID = FunctionParameters["YMarket_Campaign"];
Token = FunctionParameters["Metrika_Token"];
Name = "New tag";
Result = OPI_YandexMarket.GetMarket(Token, CampaignID);
Result = OPI_YandexMetrika.CreateTag(Token, Name);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetMarket", "YandexMarket");
OPI_TestDataRetrieval.Check_Map(Result);
OPI_TestDataRetrieval.WriteLog(Result, "CreateTag", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaTag(Result, Name);
TagID = Result["label"]["id"];
OPI_TestDataRetrieval.WriteParameter("Metrika_LabelID", TagID);
OPI_Tools.AddField("Metrika_LabelID", TagID, "String", FunctionParameters);
EndProcedure
Procedure YandexMarket_GetBusinessSettings(FunctionParameters)
Procedure YandexMetrika_DeleteTag(FunctionParameters)
Token = FunctionParameters["YMarket_Token"];
AccountID = FunctionParameters["YMarket_Business"];
Token = FunctionParameters["Metrika_Token"];
TagID = FunctionParameters["Metrika_LabelID"];
Result = OPI_YandexMarket.GetBusinessSettings(Token, AccountID);
Result = OPI_YandexMetrika.DeleteTag(Token, TagID);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetMarket", "YandexMarket");
OPI_TestDataRetrieval.Check_YaMarketBusiness(Result);
OPI_TestDataRetrieval.WriteLog(Result, "DeleteTag", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaSuccess(Result);
EndProcedure
Procedure YandexMarket_GetCampaignSettings(FunctionParameters)
Procedure YandexMetrika_UpdateTag(FunctionParameters)
Token = FunctionParameters["YMarket_Token"];
CampaignID = FunctionParameters["YMarket_Campaign"];
Token = FunctionParameters["Metrika_Token"];
TagID = FunctionParameters["Metrika_LabelID"];
Name = "New tag title";
Result = OPI_YandexMarket.GetCampaignSettings(Token, CampaignID);
Result = OPI_YandexMetrika.UpdateTag(Token, TagID, Name);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetCampaignSettings", "YandexMarket");
OPI_TestDataRetrieval.Check_Map(Result);
OPI_TestDataRetrieval.WriteLog(Result, "UpdateTag", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaTag(Result, Name);
EndProcedure
Procedure YandexMarket_AddUpdateProducts(FunctionParameters)
Procedure YandexMetrika_GetTag(FunctionParameters)
Token = FunctionParameters["YMarket_Token"];
AccountID = FunctionParameters["YMarket_Business"];
Image = FunctionParameters["Picture"];
Video = FunctionParameters["Video"];
Token = FunctionParameters["Metrika_Token"];
TagID = FunctionParameters["Metrika_LabelID"];
UpdatesStructure = New Structure;
ItemStructure = New Structure;
ItemStructure.Insert("offerId" , "11111");
ItemStructure.Insert("name" , "Makita HP1630 impact drill, 710 W");
ItemStructure.Insert("marketCategoryId", 15221861);
ItemStructure.Insert("category" , "Drill");
ImageArray = New Array;
ImageArray.Add(Image);
ItemStructure.Insert("pictures", ImageArray);
VideosArray = New Array;
VideosArray.Add(Video);
ItemStructure.Insert("videos", VideosArray);
ItemStructure.Insert("vendor", "LEVENHUK");
BarcodesArray = New Array;
BarcodesArray.Add("46012300000000");
ItemStructure.Insert("barcodes" , BarcodesArray);
ItemStructure.Insert("description", "Description");
CountriesArray = New Array;
CountriesArray.Add("Russia");
ItemStructure.Insert("manufacturerCountries", CountriesArray);
SizesStructure = New Structure;
SizesStructure.Insert("length", 65.55);
SizesStructure.Insert("width" , 50.7);
SizesStructure.Insert("height", 20);
SizesStructure.Insert("weight", 1.001);
ItemStructure.Insert("weightDimensions", SizesStructure);
ItemStructure.Insert("vendorCode" , "VNDR-0005A");
TagsArray = New Array;
TagsArray.Add("up to 500 roubles");
ItemStructure.Insert("tags", TagsArray);
PeriodStructure = New Structure;
PeriodStructure.Insert("timePeriod", 24);
PeriodStructure.Insert("timeUnit" , "HOUR");
PeriodStructure.Insert("comment" , "Comment");
ItemStructure.Insert("shelfLife" , PeriodStructure);
ItemStructure.Insert("lifeTime" , PeriodStructure);
ItemStructure.Insert("guaranteePeriod" , PeriodStructure);
ItemStructure.Insert("customsCommodityCode", 8517610008);
ItemStructure.Insert("type" , "DEFAULT");
ItemStructure.Insert("downloadable" , False);
ItemStructure.Insert("adult" , False);
UpdatesStructure.Insert("offer", ItemStructure);
Result = OPI_YandexMarket.AddUpdateProducts(Token, AccountID, UpdatesStructure);
Result = OPI_YandexMetrika.GetTag(Token, TagID);
// END
OPI_TestDataRetrieval.WriteLog(Result, "AddUpdateProducts", "YandexMarket");
OPI_TestDataRetrieval.Check_YaMarketOk(Result);
OPI_TestDataRetrieval.WriteLog(Result, "GetTag", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaTag(Result);
EndProcedure

View File

@ -2064,19 +2064,18 @@ EndProcedure
#EndRegion
#Region YandexMarket
#Region YandexMetrika
Procedure CLI_YaMarket_CampaignsAndBusiness() Export
Procedure CLI_YaMetrika_TagsManagment() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Token" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Campaign", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Business", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Metrika_Token", TestParameters);
CLI_YandexMarket_GetMarketsList(TestParameters);
CLI_YandexMarket_GetMarket(TestParameters);
CLI_YandexMarket_GetBusinessSettings(TestParameters);
CLI_YandexMarket_GetCampaignSettings(TestParameters);
CLI_YandexMetrika_CreateTag(TestParameters);
CLI_YandexMetrika_GetTagsList(TestParameters);
CLI_YandexMetrika_UpdateTag(TestParameters);
CLI_YandexMetrika_GetTag(TestParameters);
CLI_YandexMetrika_DeleteTag(TestParameters);
EndProcedure
@ -16298,60 +16297,90 @@ EndProcedure
#EndRegion
#Region YandexMarket
#Region YandexMetrika
Procedure CLI_YandexMarket_GetMarketsList(FunctionParameters)
Procedure CLI_YandexMetrika_GetTagsList(FunctionParameters)
Token = FunctionParameters["YMarket_Token"];
Token = FunctionParameters["Metrika_Token"];
Result = OPI_YandexMarket.GetMarketsList(Token);
Options = New Structure;
Options.Insert("token", Token);
// END
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetTagsList", Options);
OPI_TestDataRetrieval.WriteLog(Result, "GetMarketsList", "YandexMarket");
OPI_TestDataRetrieval.Check_YaMarketMarkets(Result);
OPI_TestDataRetrieval.WriteLog(Result, "GetTagsList", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaTags(Result);
EndProcedure
Procedure CLI_YandexMarket_GetMarket(FunctionParameters)
Procedure CLI_YandexMetrika_CreateTag(FunctionParameters)
Token = FunctionParameters["YMarket_Token"];
CampaignID = FunctionParameters["YMarket_Campaign"];
Token = FunctionParameters["Metrika_Token"];
Name = "New tag";
Result = OPI_YandexMarket.GetMarket(Token, CampaignID);
Options = New Structure;
Options.Insert("token", Token);
Options.Insert("title", Name);
// END
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "CreateTag", Options);
OPI_TestDataRetrieval.WriteLog(Result, "GetMarket", "YandexMarket");
OPI_TestDataRetrieval.Check_Map(Result);
OPI_TestDataRetrieval.WriteLog(Result, "CreateTag", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaTag(Result, Name);
TagID = Result["label"]["id"];
OPI_TestDataRetrieval.WriteParameter("Metrika_LabelID", TagID);
OPI_Tools.AddField("Metrika_LabelID", TagID, "String", FunctionParameters);
EndProcedure
Procedure CLI_YandexMarket_GetBusinessSettings(FunctionParameters)
Procedure CLI_YandexMetrika_DeleteTag(FunctionParameters)
Token = FunctionParameters["YMarket_Token"];
AccountID = FunctionParameters["YMarket_Business"];
Token = FunctionParameters["Metrika_Token"];
TagID = FunctionParameters["Metrika_LabelID"];
Result = OPI_YandexMarket.GetBusinessSettings(Token, AccountID);
Options = New Structure;
Options.Insert("token", Token);
Options.Insert("label", TagID);
// END
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "DeleteTag", Options);
OPI_TestDataRetrieval.WriteLog(Result, "GetMarket", "YandexMarket");
OPI_TestDataRetrieval.Check_YaMarketBusiness(Result);
OPI_TestDataRetrieval.WriteLog(Result, "DeleteTag", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaSuccess(Result);
EndProcedure
Procedure CLI_YandexMarket_GetCampaignSettings(FunctionParameters)
Procedure CLI_YandexMetrika_UpdateTag(FunctionParameters)
Token = FunctionParameters["YMarket_Token"];
CampaignID = FunctionParameters["YMarket_Campaign"];
Token = FunctionParameters["Metrika_Token"];
TagID = FunctionParameters["Metrika_LabelID"];
Name = "New tag title";
Result = OPI_YandexMarket.GetCampaignSettings(Token, CampaignID);
Options = New Structure;
Options.Insert("token", Token);
Options.Insert("label", TagID);
Options.Insert("title", Name);
// END
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "UpdateTag", Options);
OPI_TestDataRetrieval.WriteLog(Result, "GetCampaignSettings", "YandexMarket");
OPI_TestDataRetrieval.Check_Map(Result);
OPI_TestDataRetrieval.WriteLog(Result, "UpdateTag", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaTag(Result, Name);
EndProcedure
Procedure CLI_YandexMetrika_GetTag(FunctionParameters)
Token = FunctionParameters["Metrika_Token"];
TagID = FunctionParameters["Metrika_LabelID"];
Options = New Structure;
Options.Insert("token", Token);
Options.Insert("label", TagID);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetTag", Options);
OPI_TestDataRetrieval.WriteLog(Result, "GetTag", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaTag(Result);
EndProcedure

View File

@ -53,9 +53,7 @@
// Map Of KeyAndValue - serialized JSON response from Yandex
Function GetDiskInformation(Val Token) Export
OPI_TypeConversion.GetLine(Token);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Response = OPI_Tools.Get("https://cloud-api.yandex.net/v1/disk", , Headers);
Return Response;
@ -73,15 +71,12 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function CreateFolder(Val Token, Val Path) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Path);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://cloud-api.yandex.net/v1/disk/resources";
Href = "href";
Parameters = New Structure;
Parameters.Insert("path", Path);
OPI_Tools.AddField("path", Path, "String", Parameters);
Parameters = OPI_Tools.RequestParametersToString(Parameters);
Response = OPI_Tools.Put(URL + Parameters, , Headers, False);
@ -109,12 +104,10 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function GetObject(Val Token, Val Path) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Path);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Headers = AuthorizationHeader(Token);
Parameters = New Structure;
Parameters.Insert("path", Path);
OPI_Tools.AddField("path", Path, "String", Parameters);
Response = OPI_Tools.Get("https://cloud-api.yandex.net/v1/disk/resources", Parameters, Headers);
@ -134,15 +127,13 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function DeleteObject(Val Token, Val Path, Val ToCart = True) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Path);
OPI_TypeConversion.GetBoolean(ToCart);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Parameters = New Structure;
Parameters.Insert("path" , Path);
Parameters.Insert("permanently", Not ToCart);
OPI_Tools.AddField("path" , Path , "String" , Parameters);
OPI_Tools.AddField("permanently", Not ToCart, "Boolean", Parameters);
Response = OPI_Tools.Delete("https://cloud-api.yandex.net/v1/disk/resources", Parameters, Headers);
@ -163,19 +154,14 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function CreateObjectCopy(Val Token, Val Original, Val Path, Val Overwrite = False) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Original);
OPI_TypeConversion.GetLine(Path);
OPI_TypeConversion.GetBoolean(Overwrite);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://cloud-api.yandex.net/v1/disk/resources/copy";
Href = "href";
Parameters = New Structure;
Parameters.Insert("from" , Original);
Parameters.Insert("path" , Path);
Parameters.Insert("overwrite" , Overwrite);
OPI_Tools.AddField("from" , Original , "String" , Parameters);
OPI_Tools.AddField("path" , Path , "String" , Parameters);
OPI_Tools.AddField("overwrite", Overwrite, "Boolean", Parameters);
Parameters = OPI_Tools.RequestParametersToString(Parameters);
Response = OPI_Tools.Post(URL + Parameters, , Headers, False);
@ -203,13 +189,10 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function GetDownloadLink(Val Token, Val Path) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Path);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Parameters = New Structure;
Parameters.Insert("path", Path);
OPI_Tools.AddField("path", Path, "String", Parameters);
Response = OPI_Tools.Get("https://cloud-api.yandex.net/v1/disk/resources/download", Parameters, Headers);
@ -230,6 +213,7 @@ EndFunction
Function DownloadFile(Val Token, Val Path, Val SavePath = "") Export
OPI_TypeConversion.GetLine(SavePath);
Response = GetDownloadLink(Token, Path);
URL = Response["href"];
@ -264,13 +248,12 @@ Function GetFilesList(Val Token
, Val FilterByType = ""
, Val SortByDate = False) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Count);
OPI_TypeConversion.GetLine(OffsetFromStart);
OPI_TypeConversion.GetLine(FilterByType);
OPI_TypeConversion.GetBoolean(SortByDate);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Parameters = New Structure;
@ -311,12 +294,11 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function MoveObject(Val Token, Val Original, Val Path, Val Overwrite = False) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Original);
OPI_TypeConversion.GetLine(Path);
OPI_TypeConversion.GetBoolean(Overwrite);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://cloud-api.yandex.net/v1/disk/resources/move";
Href = "href";
@ -352,12 +334,11 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function UploadFile(Val Token, Val Path, Val File, Val Overwrite = False) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Path);
OPI_TypeConversion.GetBoolean(Overwrite);
OPI_TypeConversion.GetBinaryData(File);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Href = "href";
File = New Structure("file", File);
@ -390,11 +371,10 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function UploadFileByURL(Val Token, Val Path, Val Address) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Path);
OPI_TypeConversion.GetLine(Address);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://cloud-api.yandex.net/v1/disk/resources/upload";
Parameters = New Structure;
@ -454,11 +434,10 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function GetPublishedObjectsList(Val Token, Val Count = 0, Val OffsetFromStart = 0) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Count);
OPI_TypeConversion.GetLine(OffsetFromStart);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Parameters = New Structure;
@ -489,12 +468,11 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function GetPublicObject(Val Token, Val URL, Val Count = 0, Val OffsetFromStart = 0) Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(URL);
OPI_TypeConversion.GetLine(Count);
OPI_TypeConversion.GetLine(OffsetFromStart);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Parameters = New Structure;
@ -526,11 +504,10 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function GetDownloadLinkForPublicObject(Val Token, Val URL, Val Path = "") Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(URL);
OPI_TypeConversion.GetLine(Path);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Parameters = New Structure;
@ -559,12 +536,11 @@ EndFunction
// Map Of KeyAndValue - serialized JSON response from Yandex
Function SavePublicObjectToDisk(Val Token, Val URL, From = "", Target = "") Export
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(URL);
OPI_TypeConversion.GetLine(From);
OPI_TypeConversion.GetLine(Target);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Address = "https://cloud-api.yandex.net/v1/disk/public/resources/save-to-disk";
Href = "href";
@ -600,22 +576,12 @@ EndFunction
#Region Private
Function AuthorizationHeader(Val Token)
Headers = New Map;
Headers.Insert("Authorization", "OAuth " + Token);
Return Headers;
EndFunction
Function TogglePublicAccess(Val Token, Val Path, Val PublicAccess)
OPI_TypeConversion.GetLine(Token);
OPI_TypeConversion.GetLine(Path);
OPI_TypeConversion.GetBoolean(PublicAccess);
Headers = AuthorizationHeader(Token);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
Destination = ?(PublicAccess, "publish", "unpublish");
Href = "href";

View File

@ -114,4 +114,15 @@ Function RefreshToken(Val ClientId, Val ClientSecret, Val RefreshToken) Export /
EndFunction
Function GetAuthorizationHeader(Val Token) Export
OPI_TypeConversion.GetLine(Token);
Headers = New Map;
Headers.Insert("Authorization", "OAuth " + Token);
Return Headers;
EndFunction
#EndRegion

View File

@ -187,6 +187,68 @@ Function AddUpdateProducts(Val Token, Val AccountID, Val ProductsArray, Val OwnI
EndFunction
// Get campaign products
// Gets the list of products of the selected market (campaign)
//
// Note
// Method at API documentation: [Information о productх, that размещены in заданbutм магазandnot](@https://yandex.ru/dev/market/partner-api/doc/ru/reference/assortment/getCampaignOffers)
//
// Parameters:
// Token - String - Authorisation token (Api-Key) - token
// CampaignID - String, Number - Campaign ID - business
// Filters - Structure of KeyAndValue - Product filters - filters
// PageToken - String - Next page token in case of a large selection - page
//
// Returns:
// Map Of KeyAndValue - serialized JSON response from Yandex Market
Function GetCampaignProducts(Val Token, Val CampaignID, Val Filters = "", Val PageToken = "") Export
OPI_TypeConversion.GetLine(CampaignID);
OPI_TypeConversion.GetLine(PageToken);
URL = "https://api.partner.market.yandex.ru/campaigns/%1/offers";
URL = StrTemplate(URL, CampaignID);
Headers = CreateRequestHeaders(Token);
If ValueIsFilled(PageToken) Then
URL = URL + "?page_token=" + PageToken;
EndIf;
If ValueIsFilled(Filters) Then
OPI_TypeConversion.GetCollection(Filters);
Response = OPI_Tools.Post(URL, Filters, Headers);
Else
Response = OPI_Tools.Post(URL, , Headers);
EndIf;
Return Response;
EndFunction
Function GetBusinessProducts(Val Token, Val AccountID, Val Filters = "", Val PageToken = "") Export
OPI_TypeConversion.GetLine(AccountID);
OPI_TypeConversion.GetLine(PageToken);
URL = "https://api.partner.market.yandex.ru/businesses/%1/offer-mappings";
URL = StrTemplate(URL, AccountID);
Headers = CreateRequestHeaders(Token);
If ValueIsFilled(PageToken) Then
URL = URL + "?page_token=" + PageToken;
EndIf;
If ValueIsFilled(Filters) Then
OPI_TypeConversion.GetCollection(Filters);
Response = OPI_Tools.Post(URL, Filters, Headers);
Else
Response = OPI_Tools.Post(URL, , Headers);
EndIf;
Return Response;
EndFunction
// Get product structure
// Gets the structure of product standard fields
//
@ -250,15 +312,25 @@ Function GetProductStructure(Val Clear = False) Export
ItemStructure.Insert("condition", StateStructure);
// TODO: Finish
ItemStructure.Insert("customsCommodityCode", "<commodity code TN VED>");
ItemStructure.Insert("description", "<detailed product description>");
ItemStructure.Insert("downloadable", "<digital attribute>");
ItemStructure.Insert("guaranteePeriod", "<warranty period>");
ItemStructure.Insert("lifeTime", "<lifespan>");
ItemStructure.Insert("description" , "<detailed product description>");
ItemStructure.Insert("downloadable" , "<digital attribute>");
PeriodStructure = New Structure;
PeriodStructure.Insert("timePeriod", "<duration value>");
PeriodStructure.Insert("timeUnit" , "<unit>");
PeriodStructure.Insert("comment" , "<comment>");
ItemStructure.Insert("guaranteePeriod", PeriodStructure);
ItemStructure.Insert("lifeTime" , PeriodStructure);
ManualsArray = New Array;
ManualsArray.Add("<manual>");
ManualStructure = New Structure;
ManualStructure.Insert("url" , "<URL to manual>");
ManualStructure.Insert("title", "<manual title>");
ManualsArray.Add(ManualStructure);
ItemStructure.Insert("manuals", ManualsArray);
@ -270,16 +342,28 @@ Function GetProductStructure(Val Clear = False) Export
ItemStructure.Insert("name" , "<product name>");
AttributesArray = New Array;
AttributesArray.Add("<feature>");
AttributesStructure = New Structure;
AttributesStructure.Insert("parameterId", "<attribute ID>");
AttributesStructure.Insert("unitId" , "<unit ID>");
AttributesStructure.Insert("value" , "<value>");
AttributesStructure.Insert("valueId" , "<enum ID>");
AttributesArray.Add(AttributesStructure);
ItemStructure.Insert("parameterValues", AttributesArray);
ImageArray = New Array;
ImageArray.Add("<product picture link>");
ItemStructure.Insert("pictures" , ImageArray);
ItemStructure.Insert("purchasePrice", "<cost price>");
ItemStructure.Insert("shelfLife" , "<expiry date>");
ItemStructure.Insert("pictures" , ImageArray);
PurchasePriceStructure = New Structure;
PurchasePriceStructure.Insert("currencyId" , "<Currency code>");
PurchasePriceStructure.Insert("value" , "<price>");
ItemStructure.Insert("purchasePrice", PurchasePriceStructure);
ItemStructure.Insert("shelfLife" , PeriodStructure);
TagsArray = New Array;
TagsArray.Add("<tag>");
@ -292,7 +376,14 @@ Function GetProductStructure(Val Clear = False) Export
VideosArray = New Array;
VideosArray.Add("<video URL>");
ItemStructure.Insert("videos" , VideosArray);
ItemStructure.Insert("videos" , VideosArray);
SizesStructure = New Structure;
SizesStructure.Insert("height", "<height, cm.>");
SizesStructure.Insert("length", "<length, cm.>");
SizesStructure.Insert("weight", "<weight, kg (gross)>");
SizesStructure.Insert("width" , "<width, cm.>");
ItemStructure.Insert("weightDimensions", "<product dimensions and weight>");
If Clear Then

View File

@ -0,0 +1,177 @@
// OneScript: ./OInt/core/Modules/OPI_YandexMetrika.os
// Lib: Yandex Metrika
// CLI: metrika
// MIT License
// Copyright (c) 2023 Anton Tsitavets
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
// https://github.com/Bayselonarrend/OpenIntegrations
// BSLLS:Typo-off
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// BSLLS:NumberOfOptionalParams-off
// BSLLS:UsingServiceTag-off
// BSLLS:LineLength-off
//@skip-check module-structure-top-region
//@skip-check module-structure-method-in-regions
//@skip-check wrong-string-literal-content
//@skip-check method-too-many-params
// Uncomment if OneScript is executed
// #Use "../../tools"
#Region Public
#Region TagsManagment
// Create tag
// Creates a tag with the specified name
//
// Note
// Method at API documentation: [Creating a tag](@yandex.ru/dev/metrika/en/management/openapi/label/createLabel)
//
// Parameters:
// Token - String - Auth token - token
// Name - String - Tag title - title
//
// Returns:
// Map Of KeyAndValue - serialized JSON response from Yandex
Function CreateTag(Val Token, Val Name) Export
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://api-metrika.yandex.net/management/v1/labels";
Label = New Structure;
OPI_Tools.AddField("name", Name, "String", Label);
Response = OPI_Tools.Post(URL, New Structure("label", Label), Headers);
Return Response;
EndFunction
// Update tag
// Changes the tag name by ID
//
// Note
// Method at API documentation: [Changing a tag](@yandex.ru/dev/metrika/en/management/openapi/label/updateLabel)
//
// Parameters:
// Token - String - Auth token - token
// TagID - String - Tag ID to change - label
// Name - String - New name - title
//
// Returns:
// Map Of KeyAndValue - serialized JSON response from Yandex
Function UpdateTag(Val Token, Val TagID, Val Name) Export
OPI_TypeConversion.GetLine(TagID);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://api-metrika.yandex.net/management/v1/label/" + TagID;
Label = New Structure;
OPI_Tools.AddField("name", Name, "String", Label);
Response = OPI_Tools.Put(URL, New Structure("label", Label), Headers);
Return Response;
EndFunction
// Get tag
// Gets the tag by ID
//
// Note
// Method at API documentation: [Tag information](@yandex.ru/dev/metrika/en/management/openapi/label/getLabel)
//
// Parameters:
// Token - String - Auth token - token
// TagID - String - Tag ID - label
//
// Returns:
// Map Of KeyAndValue - serialized JSON response from Yandex
Function GetTag(Val Token, Val TagID) Export
OPI_TypeConversion.GetLine(TagID);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://api-metrika.yandex.net/management/v1/label/" + TagID;
Response = OPI_Tools.Get(URL, , Headers);
Return Response;
EndFunction
// Delete tag
// Deletes a tag by ID
//
// Note
// Method at API documentation: [Deleting a tag](@yandex.ru/dev/metrika/en/management/openapi/label/deleteLabel)
//
// Parameters:
// Token - String - Auth token - token
// TagID - String - ID of the tag to be deleted - label
//
// Returns:
// Map Of KeyAndValue - serialized JSON response from Yandex
Function DeleteTag(Val Token, Val TagID) Export
OPI_TypeConversion.GetLine(TagID);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://api-metrika.yandex.net/management/v1/label/" + TagID;
Response = OPI_Tools.Delete(URL, , Headers);
Return Response;
EndFunction
// Get tags list
// Gets a list of the users tags
//
// Note
// Method at API documentation: [List of user tags](@yandex.ru/dev/metrika/en/management/openapi/label/getLabels)
//
// Parameters:
// Token - String - Auth token - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON response from Yandex
Function GetTagsList(Val Token) Export
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://api-metrika.yandex.net/management/v1/labels";
Response = OPI_Tools.Get(URL, , Headers);
Return Response;
EndFunction
#EndRegion
#EndRegion

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="6a6134d2-7e5b-4fae-9656-7e67388bf27a">
<name>OPI_YandexMetrika</name>
<synonym>
<key>en</key>
<value>Yandex Metrika (OpenIntegrations)</value>
</synonym>
<server>true</server>
<externalConnection>true</externalConnection>
<clientOrdinaryApplication>true</clientOrdinaryApplication>
</mdclass:CommonModule>

View File

@ -43,26 +43,27 @@
<commonModules>CommonModule.OPI_Tools</commonModules>
<commonModules>CommonModule.OPI_Cryptography</commonModules>
<commonModules>CommonModule.OPI_TypeConversion</commonModules>
<commonModules>CommonModule.OPI_Telegram</commonModules>
<commonModules>CommonModule.OPI_VK</commonModules>
<commonModules>CommonModule.OPI_Viber</commonModules>
<commonModules>CommonModule.OPI_Twitter</commonModules>
<commonModules>CommonModule.OPI_Notion</commonModules>
<commonModules>CommonModule.OPI_YandexID</commonModules>
<commonModules>CommonModule.OPI_YandexDisk</commonModules>
<commonModules>CommonModule.OPI_GoogleWorkspace</commonModules>
<commonModules>CommonModule.OPI_Airtable</commonModules>
<commonModules>CommonModule.OPI_Bitrix24</commonModules>
<commonModules>CommonModule.OPI_CDEK</commonModules>
<commonModules>CommonModule.OPI_Dropbox</commonModules>
<commonModules>CommonModule.OPI_GoogleCalendar</commonModules>
<commonModules>CommonModule.OPI_GoogleDrive</commonModules>
<commonModules>CommonModule.OPI_GoogleSheets</commonModules>
<commonModules>CommonModule.OPI_Slack</commonModules>
<commonModules>CommonModule.OPI_Airtable</commonModules>
<commonModules>CommonModule.OPI_Dropbox</commonModules>
<commonModules>CommonModule.OPI_Bitrix24</commonModules>
<commonModules>CommonModule.OPI_VKTeams</commonModules>
<commonModules>CommonModule.OPI_Ozon</commonModules>
<commonModules>CommonModule.OPI_GoogleWorkspace</commonModules>
<commonModules>CommonModule.OPI_Neocities</commonModules>
<commonModules>CommonModule.OPI_CDEK</commonModules>
<commonModules>CommonModule.OPI_Ozon</commonModules>
<commonModules>CommonModule.OPI_Notion</commonModules>
<commonModules>CommonModule.OPI_Slack</commonModules>
<commonModules>CommonModule.OPI_Telegram</commonModules>
<commonModules>CommonModule.OPI_Twitter</commonModules>
<commonModules>CommonModule.OPI_Viber</commonModules>
<commonModules>CommonModule.OPI_VK</commonModules>
<commonModules>CommonModule.OPI_VKTeams</commonModules>
<commonModules>CommonModule.OPI_YandexDisk</commonModules>
<commonModules>CommonModule.OPI_YandexID</commonModules>
<commonModules>CommonModule.OPI_YandexMarket</commonModules>
<commonModules>CommonModule.OPI_YandexMetrika</commonModules>
<commonModules>CommonModule.OPI_Tests</commonModules>
<commonModules>CommonModule.OPI_TestsCLI</commonModules>
<commonModules>CommonModule.OPI_TestDataRetrieval</commonModules>

View File

@ -0,0 +1,119 @@
Function ПолучитьСостав() Export
CompositionTable = New ValueTable();
CompositionTable.Columns.Add("Библиотека");
CompositionTable.Columns.Add("Модуль");
CompositionTable.Columns.Add("Метод");
CompositionTable.Columns.Add("МетодПоиска");
CompositionTable.Columns.Add("Параметр");
CompositionTable.Columns.Add("Описание");
CompositionTable.Columns.Add("ОписаниеМетода");
CompositionTable.Columns.Add("Область");
NewLine = CompositionTable.Add();
NewLine.Библиотека = "metrika";
NewLine.Модуль = "OPI_YandexMetrika";
NewLine.Метод = "CreateTag";
NewLine.МетодПоиска = "CREATETAG";
NewLine.Параметр = "--token";
NewLine.Описание = "Auth token";
NewLine.Область = "Tags managment";
NewLine.ОписаниеМетода = "Creates a tag with the specified name";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "metrika";
NewLine.Модуль = "OPI_YandexMetrika";
NewLine.Метод = "CreateTag";
NewLine.МетодПоиска = "CREATETAG";
NewLine.Параметр = "--title";
NewLine.Описание = "Tag title";
NewLine.Область = "Tags managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "metrika";
NewLine.Модуль = "OPI_YandexMetrika";
NewLine.Метод = "UpdateTag";
NewLine.МетодПоиска = "UPDATETAG";
NewLine.Параметр = "--token";
NewLine.Описание = "Auth token";
NewLine.Область = "Tags managment";
NewLine.ОписаниеМетода = "Changes the tag name by ID";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "metrika";
NewLine.Модуль = "OPI_YandexMetrika";
NewLine.Метод = "UpdateTag";
NewLine.МетодПоиска = "UPDATETAG";
NewLine.Параметр = "--label";
NewLine.Описание = "Tag ID to change";
NewLine.Область = "Tags managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "metrika";
NewLine.Модуль = "OPI_YandexMetrika";
NewLine.Метод = "UpdateTag";
NewLine.МетодПоиска = "UPDATETAG";
NewLine.Параметр = "--title";
NewLine.Описание = "New name";
NewLine.Область = "Tags managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "metrika";
NewLine.Модуль = "OPI_YandexMetrika";
NewLine.Метод = "GetTag";
NewLine.МетодПоиска = "GETTAG";
NewLine.Параметр = "--token";
NewLine.Описание = "Auth token";
NewLine.Область = "Tags managment";
NewLine.ОписаниеМетода = "Gets the tag by ID";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "metrika";
NewLine.Модуль = "OPI_YandexMetrika";
NewLine.Метод = "GetTag";
NewLine.МетодПоиска = "GETTAG";
NewLine.Параметр = "--label";
NewLine.Описание = "Tag ID";
NewLine.Область = "Tags managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "metrika";
NewLine.Модуль = "OPI_YandexMetrika";
NewLine.Метод = "DeleteTag";
NewLine.МетодПоиска = "DELETETAG";
NewLine.Параметр = "--token";
NewLine.Описание = "Auth token";
NewLine.Область = "Tags managment";
NewLine.ОписаниеМетода = "Deletes a tag by ID";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "metrika";
NewLine.Модуль = "OPI_YandexMetrika";
NewLine.Метод = "DeleteTag";
NewLine.МетодПоиска = "DELETETAG";
NewLine.Параметр = "--label";
NewLine.Описание = "ID of the tag to be deleted";
NewLine.Область = "Tags managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "metrika";
NewLine.Модуль = "OPI_YandexMetrika";
NewLine.Метод = "GetTagsList";
NewLine.МетодПоиска = "GETTAGSLIST";
NewLine.Параметр = "--token";
NewLine.Описание = "Auth token";
NewLine.Область = "Tags managment";
NewLine.ОписаниеМетода = "Gets a list of the users tags";
Return CompositionTable;
EndFunction

View File

@ -135,6 +135,47 @@
NewLine.Область = "Product management";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "yamarket";
NewLine.Модуль = "OPI_YandexMarket";
NewLine.Метод = "GetCampaignProducts";
NewLine.МетодПоиска = "GETCAMPAIGNPRODUCTS";
NewLine.Параметр = "--Key)";
NewLine.Описание = "token";
NewLine.Область = "Product management";
NewLine.ОписаниеМетода = "Gets the list of products of the selected market (campaign)";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "yamarket";
NewLine.Модуль = "OPI_YandexMarket";
NewLine.Метод = "GetCampaignProducts";
NewLine.МетодПоиска = "GETCAMPAIGNPRODUCTS";
NewLine.Параметр = "--business";
NewLine.Описание = "Campaign ID";
NewLine.Область = "Product management";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "yamarket";
NewLine.Модуль = "OPI_YandexMarket";
NewLine.Метод = "GetCampaignProducts";
NewLine.МетодПоиска = "GETCAMPAIGNPRODUCTS";
NewLine.Параметр = "--filters";
NewLine.Описание = "Product filters (optional, def. val. - Empty value)";
NewLine.Область = "Product management";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "yamarket";
NewLine.Модуль = "OPI_YandexMarket";
NewLine.Метод = "GetCampaignProducts";
NewLine.МетодПоиска = "GETCAMPAIGNPRODUCTS";
NewLine.Параметр = "--page";
NewLine.Описание = "Next page token in case of a large selection (optional, def. val. - Empty value)";
NewLine.Область = "Product management";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "yamarket";
NewLine.Модуль = "OPI_YandexMarket";

View File

@ -27,6 +27,7 @@
СоответствиеКомандМодулей.Вставить("yadisk", "OPI_YandexDisk");
СоответствиеКомандМодулей.Вставить("yandex", "OPI_YandexID");
СоответствиеКомандМодулей.Вставить("yamarket", "OPI_YandexMarket");
СоответствиеКомандМодулей.Вставить("metrika", "OPI_YandexMetrika");
Возврат СоответствиеКомандМодулей;
КонецФункции

View File

@ -105,7 +105,7 @@
Функция ПолучитьОбъект(Знач Токен, Знач Путь) Экспорт
Заголовки = OPI_YandexID.ПолучитьЗаголовокАвторизации(Токен);
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("path", Путь, "Строка", Параметры);
@ -213,7 +213,7 @@
Функция СкачатьФайл(Знач Токен, Знач Путь, Знач ПутьСохранения = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(ПутьСохранения);
Ответ = ПолучитьСсылкуДляСкачивания(Токен, Путь);
URL = Ответ["href"];

View File

@ -117,7 +117,7 @@
Функция ПолучитьЗаголовокАвторизации(Знач Токен) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
Заголовки = Новый Соответствие;
Заголовки.Вставить("Authorization", "OAuth " + Токен);

View File

@ -189,7 +189,7 @@
// Получить товары магазина
// Получает список товаров выбранного магазина
//
//
// Примечание:
// Метод в документации API: [Информация о товарах, которые размещены в заданном магазине](@https://yandex.ru/dev/market/partner-api/doc/ru/reference/assortment/getCampaignOffers)
//
@ -198,55 +198,55 @@
// IDМагазина - Строка, Число - ID магазина - business
// Фильтры - Структура Из КлючИЗначение - Фильтры для отбора товаров - filters
// ТокенСтраницы - Строка - Токен следующей страницы при большой выборке - page
//
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex Market
Функция ПолучитьТоварыМагазина(Знач Токен, Знач IDМагазина, Знач Фильтры = "", Знач ТокенСтраницы = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDМагазина);
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТокенСтраницы);
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDМагазина);
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТокенСтраницы);
URL = "https://api.partner.market.yandex.ru/campaigns/%1/offers";
URL = СтрШаблон(URL, IDМагазина);
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
Если ЗначениеЗаполнено(ТокенСтраницы) Тогда
URL = URL + "?page_token=" + ТокенСтраницы;
URL = URL + "?page_token=" + ТокенСтраницы;
КонецЕсли;
Если ЗначениеЗаполнено(Фильтры) Тогда
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Фильтры);
Ответ = OPI_Инструменты.Post(URL, Фильтры, Заголовки);
Иначе
Ответ = OPI_Инструменты.Post(URL, , Заголовки);
КонецЕсли;
Если ЗначениеЗаполнено(Фильтры) Тогда
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Фильтры);
Ответ = OPI_Инструменты.Post(URL, Фильтры, Заголовки);
Иначе
Ответ = OPI_Инструменты.Post(URL, , Заголовки);
КонецЕсли;
Возврат Ответ;
КонецФункции
Функция ПолучитьТоварыКабинета(Знач Токен, Знач IDКабинета, Знач Фильтры = "", Знач ТокенСтраницы = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDКабинета);
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТокенСтраницы);
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDКабинета);
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТокенСтраницы);
URL = "https://api.partner.market.yandex.ru/businesses/%1/offer-mappings";
URL = СтрШаблон(URL, IDКабинета);
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
Если ЗначениеЗаполнено(ТокенСтраницы) Тогда
URL = URL + "?page_token=" + ТокенСтраницы;
URL = URL + "?page_token=" + ТокенСтраницы;
КонецЕсли;
Если ЗначениеЗаполнено(Фильтры) Тогда
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Фильтры);
Ответ = OPI_Инструменты.Post(URL, Фильтры, Заголовки);
Иначе
Ответ = OPI_Инструменты.Post(URL, , Заголовки);
КонецЕсли;
Если ЗначениеЗаполнено(Фильтры) Тогда
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Фильтры);
Ответ = OPI_Инструменты.Post(URL, Фильтры, Заголовки);
Иначе
Ответ = OPI_Инструменты.Post(URL, , Заголовки);
КонецЕсли;
Возврат Ответ;
КонецФункции
// Получить структуру товара
@ -313,23 +313,23 @@
СтруктураТовара.Вставить("condition", СтруктураСостояния);
СтруктураТовара.Вставить("customsCommodityCode", "<код товара ТН ВЭД>");
СтруктураТовара.Вставить("description", "<подробное описание товара>");
СтруктураТовара.Вставить("downloadable", "<признак цифрового товара>");
СтруктураПериода = Новый Структура;
СтруктураПериода.Вставить("timePeriod", "<значение продолжительности>");
СтруктураПериода.Вставить("timeUnit" , "<единица измерения>");
СтруктураПериода.Вставить("comment" , "<комментарий>");
СтруктураТовара.Вставить("description" , "<подробное описание товара>");
СтруктураТовара.Вставить("downloadable" , "<признак цифрового товара>");
СтруктураПериода = Новый Структура;
СтруктураПериода.Вставить("timePeriod", "<значение продолжительности>");
СтруктураПериода.Вставить("timeUnit" , "<единица измерения>");
СтруктураПериода.Вставить("comment" , "<комментарий>");
СтруктураТовара.Вставить("guaranteePeriod", СтруктураПериода);
СтруктураТовара.Вставить("lifeTime" , СтруктураПериода);
МассивРуководств = Новый Массив;
СтруктураРуководства = Новый Структура;
СтруктураРуководства.Вставить("url" , "<сслыка на руководство>");
СтруктураРуководства.Вставить("title", "<заголовок руководства>");
СтруктураРуководства = Новый Структура;
СтруктураРуководства.Вставить("url" , "<сслыка на руководство>");
СтруктураРуководства.Вставить("title", "<заголовок руководства>");
МассивРуководств.Добавить(СтруктураРуководства);
СтруктураТовара.Вставить("manuals", МассивРуководств);
@ -342,13 +342,13 @@
СтруктураТовара.Вставить("name" , "<имя товара>");
МассивХарактеристик = Новый Массив;
СтруктураХарактеристики = Новый Структура;
СтруктураХарактеристики.Вставить("parameterId", "<идентификатор характеристики>");
СтруктураХарактеристики.Вставить("unitId" , "<идентификатор единицы измерения>");
СтруктураХарактеристики.Вставить("value" , "<значение>");
СтруктураХарактеристики.Вставить("valueId" , "<идентификатор значения для перечислений>");
СтруктураХарактеристики = Новый Структура;
СтруктураХарактеристики.Вставить("parameterId", "<идентификатор характеристики>");
СтруктураХарактеристики.Вставить("unitId" , "<идентификатор единицы измерения>");
СтруктураХарактеристики.Вставить("value" , "<значение>");
СтруктураХарактеристики.Вставить("valueId" , "<идентификатор значения для перечислений>");
МассивХарактеристик.Добавить(СтруктураХарактеристики);
СтруктураТовара.Вставить("parameterValues", МассивХарактеристик);
@ -357,11 +357,11 @@
МассивКартинок.Добавить("<ссылка на картинку товара>");
СтруктураТовара.Вставить("pictures" , МассивКартинок);
СтруктураЦеныЗакупки = Новый Структура;
СтруктураЦеныЗакупки = Новый Структура;
СтруктураЦеныЗакупки.Вставить("currencyId" , "<код валюты>");
СтруктураЦеныЗакупки.Вставить("value" , "<цена>");
СтруктураТовара.Вставить("purchasePrice", СтруктураЦеныЗакупки);
СтруктураТовара.Вставить("shelfLife" , СтруктураПериода);
@ -377,13 +377,13 @@
МассивВидео.Добавить("<ссылка на видео>");
СтруктураТовара.Вставить("videos" , МассивВидео);
СтруктураРазмеров = Новый Структура;
СтруктураРазмеров.Вставить("height", "<высота в см.>");
СтруктураРазмеров.Вставить("length", "<длина в см.>");
СтруктураРазмеров.Вставить("weight", "<вес в кг. (брутто)>");
СтруктураРазмеров.Вставить("width" , "<ширина в см.>");
СтруктураРазмеров = Новый Структура;
СтруктураРазмеров.Вставить("height", "<высота в см.>");
СтруктураРазмеров.Вставить("length", "<длина в см.>");
СтруктураРазмеров.Вставить("weight", "<вес в кг. (брутто)>");
СтруктураРазмеров.Вставить("width" , "<ширина в см.>");
СтруктураТовара.Вставить("weightDimensions", "<габариты и вес товара>");
Если Пустая Тогда

View File

@ -47,33 +47,33 @@
// Создать метку
// Создает метку с указанным именем
//
//
// Примечание:
// Метод в документации API: [Создание метки](@yandex.ru/dev/metrika/ru/management/openapi/label/createLabel)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
// Наименование - Строка - Наименование метки - title
//
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
Функция СоздатьМетку(Знач Токен, Знач Наименование) Экспорт
Заголовки = OPI_YandexID.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://api-metrika.yandex.net/management/v1/labels";
Метка = Новый Структура;
OPI_Инструменты.ДобавитьПоле("name", Наименование, "Строка", Метка);
Ответ = OPI_Инструменты.Post(URL, Новый Структура("label", Метка), Заголовки);
Возврат Ответ;
КонецФункции
// Изменить метку
// Изменяет имя метки по ID
//
//
// Примечание:
// Метод в документации API: [Изменение метки](@yandex.ru/dev/metrika/ru/management/openapi/label/updateLabel)
//
@ -81,95 +81,95 @@
// Токен - Строка - Токен авторизации - token
// IDМетки - Строка - ID метки для изменения - label
// Наименование - Строка - Новое наименование - title
//
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
Функция ИзменитьМетку(Знач Токен, Знач IDМетки, Знач Наименование) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDМетки);
Заголовки = OPI_YandexID.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://api-metrika.yandex.net/management/v1/label/" + IDМетки;
Метка = Новый Структура;
OPI_Инструменты.ДобавитьПоле("name", Наименование, "Строка", Метка);
Ответ = OPI_Инструменты.Put(URL, Новый Структура("label", Метка), Заголовки);
Возврат Ответ;
КонецФункции
// Получить метку
// Получает метку по ID
//
//
// Примечание:
// Метод в документации API: [Информация о метке](@yandex.ru/dev/metrika/ru/management/openapi/label/getLabel)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
// IDМетки - Строка - ID метки - label
//
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
Функция ПолучитьМетку(Знач Токен, Знач IDМетки) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDМетки);
Заголовки = OPI_YandexID.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://api-metrika.yandex.net/management/v1/label/" + IDМетки;
Ответ = OPI_Инструменты.Get(URL, , Заголовки);
Возврат Ответ;
КонецФункции
// Удалить метку
// Удаляет метку по ID
//
//
// Примечание:
// Метод в документации API: [Удаление метки](@yandex.ru/dev/metrika/ru/management/openapi/label/deleteLabel)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
// IDМетки - Строка - ID метки для удаления - label
//
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
Функция УдалитьМетку(Знач Токен, Знач IDМетки) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDМетки);
Заголовки = OPI_YandexID.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://api-metrika.yandex.net/management/v1/label/" + IDМетки;
Ответ = OPI_Инструменты.Delete(URL, , Заголовки);
Возврат Ответ;
КонецФункции
// Получить список меток
// Получает список меток пользователя
//
//
// Примечание:
// Метод в документации API: [Список меток пользователя](@yandex.ru/dev/metrika/ru/management/openapi/label/getLabels)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
//
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
Функция ПолучитьСписокМеток(Знач Токен) Экспорт
Заголовки = OPI_YandexID.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://api-metrika.yandex.net/management/v1/labels";
Ответ = OPI_Инструменты.Get(URL, , Заголовки);
Возврат Ответ;
КонецФункции
#КонецОбласти

View File

@ -2068,52 +2068,19 @@
#КонецОбласти
#Область YandexMarket
Процедура ЯМаркет_КабинетыИМагазины() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Token" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Campaign", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Business", ПараметрыТеста);
YandexMarket_ПолучитьСписокМагазинов(ПараметрыТеста);
YandexMarket_ПолучитьМагазин(ПараметрыТеста);
YandexMarket_ПолучитьНастройкиКабинета(ПараметрыТеста);
YandexMarket_ПолучитьНастройкиМагазина(ПараметрыТеста);
КонецПроцедуры
Процедура ЯМаркет_РаботаСТоварами() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Token" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Business", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Campaign", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Video" , ПараметрыТеста);
YandexMarket_ДобавитьОбновитьТовары(ПараметрыТеста);
YandexMarket_ПолучитьТоварыМагазина(ПараметрыТеста);
YandexMarket_ПолучитьТоварыКабинета(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
#Область YandexMetrika
Процедура ЯМетрика_УправлениеМетками() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Metrika_Token", ПараметрыТеста);
YandexMetrika_СоздатьМетку(ПараметрыТеста);
YandexMetrika_ПолучитьСписокМеток(ПараметрыТеста);
YandexMetrika_ИзменитьМетку(ПараметрыТеста);
YandexMetrika_ПолучитьМетку(ПараметрыТеста);
YandexMetrika_УдалитьМетку(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
@ -14359,213 +14326,51 @@
#КонецОбласти
#Область YandexMarket
Процедура YandexMarket_ПолучитьСписокМагазинов(ПараметрыФункции)
Токен = ПараметрыФункции["YMarket_Token"];
Результат = OPI_YandexMarket.ПолучитьСписокМагазинов(Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокМагазинов", "YandexMarket");
OPI_ПолучениеДанныхТестов.Проверка_ЯМаркетМагазины(Результат);
КонецПроцедуры
Процедура YandexMarket_ПолучитьМагазин(ПараметрыФункции)
Токен = ПараметрыФункции["YMarket_Token"];
IDМагазина = ПараметрыФункции["YMarket_Campaign"];
Результат = OPI_YandexMarket.ПолучитьМагазин(Токен, IDМагазина);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьМагазин", "YandexMarket");
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
КонецПроцедуры
Процедура YandexMarket_ПолучитьНастройкиКабинета(ПараметрыФункции)
Токен = ПараметрыФункции["YMarket_Token"];
IDКабинета = ПараметрыФункции["YMarket_Business"];
Результат = OPI_YandexMarket.ПолучитьНастройкиКабинета(Токен, IDКабинета);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьМагазин", "YandexMarket");
OPI_ПолучениеДанныхТестов.Проверка_ЯМаркетКабинет(Результат);
КонецПроцедуры
Процедура YandexMarket_ПолучитьНастройкиМагазина(ПараметрыФункции)
Токен = ПараметрыФункции["YMarket_Token"];
IDМагазина = ПараметрыФункции["YMarket_Campaign"];
Результат = OPI_YandexMarket.ПолучитьНастройкиМагазина(Токен, IDМагазина);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьНастройкиМагазина", "YandexMarket");
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
КонецПроцедуры
Процедура YandexMarket_ДобавитьОбновитьТовары(ПараметрыФункции)
Токен = ПараметрыФункции["YMarket_Token"];
IDКабинета = ПараметрыФункции["YMarket_Business"];
Картинка = ПараметрыФункции["Picture"];
Видео = ПараметрыФункции["Video"];
СтруктураОбновления = Новый Структура;
СтруктураТовара = Новый Структура;
СтруктураТовара.Вставить("offerId" , "11111");
СтруктураТовара.Вставить("name" , "Ударная дрель Makita HP1630, 710 Вт");
СтруктураТовара.Вставить("marketCategoryId", 15221861);
СтруктураТовара.Вставить("category" , "Дрель");
МассивКартинок = Новый Массив;
МассивКартинок.Добавить(Картинка);
СтруктураТовара.Вставить("pictures", МассивКартинок);
МассивВидео = Новый Массив;
МассивВидео.Добавить(Видео);
СтруктураТовара.Вставить("videos", МассивВидео);
СтруктураТовара.Вставить("vendor", "LEVENHUK");
МассивШтрихкодов = Новый Массив;
МассивШтрихкодов.Добавить("46012300000000");
СтруктураТовара.Вставить("barcodes" , МассивШтрихкодов);
СтруктураТовара.Вставить("description", "Описание");
МассивСтран = Новый Массив;
МассивСтран.Добавить("Россия");
СтруктураТовара.Вставить("manufacturerCountries", МассивСтран);
СтруктураРазмеров = Новый Структура;
СтруктураРазмеров.Вставить("length", 65.55);
СтруктураРазмеров.Вставить("width" , 50.7);
СтруктураРазмеров.Вставить("height", 20);
СтруктураРазмеров.Вставить("weight", 1.001);
СтруктураТовара.Вставить("weightDimensions", СтруктураРазмеров);
СтруктураТовара.Вставить("vendorCode" , "VNDR-0005A");
МассивТэгов = Новый Массив;
МассивТэгов.Добавить("до 500 рублей");
СтруктураТовара.Вставить("tags", МассивТэгов);
СтруктураПериода = Новый Структура;
СтруктураПериода.Вставить("timePeriod", 24);
СтруктураПериода.Вставить("timeUnit" , "HOUR");
СтруктураПериода.Вставить("comment" , "Комментарий");
СтруктураТовара.Вставить("shelfLife" , СтруктураПериода);
СтруктураТовара.Вставить("lifeTime" , СтруктураПериода);
СтруктураТовара.Вставить("guaranteePeriod" , СтруктураПериода);
СтруктураТовара.Вставить("customsCommodityCode", 8517610008);
СтруктураТовара.Вставить("type" , "DEFAULT");
СтруктураТовара.Вставить("downloadable" , Ложь);
СтруктураТовара.Вставить("adult" , Ложь);
СтруктураОбновления.Вставить("offer", СтруктураТовара);
Результат = OPI_YandexMarket.ДобавитьОбновитьТовары(Токен, IDКабинета, СтруктураОбновления);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьОбновитьТовары", "YandexMarket");
OPI_ПолучениеДанныхТестов.Проверка_ЯМаркетОк(Результат);
КонецПроцедуры
Процедура YandexMarket_ПолучитьТоварыМагазина(ПараметрыФункции)
Токен = ПараметрыФункции["YMarket_Token"];
IDМагазина = ПараметрыФункции["YMarket_Campaign"];
Результат = OPI_YandexMarket.ПолучитьТоварыМагазина(Токен, IDМагазина);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТоварыМагазина", "YandexMarket");
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
КонецПроцедуры
Процедура YandexMarket_ПолучитьТоварыКабинета(ПараметрыФункции)
Токен = ПараметрыФункции["YMarket_Token"];
IDКабинета = ПараметрыФункции["YMarket_Business"];
Результат = OPI_YandexMarket.ПолучитьТоварыКабинета(Токен, IDКабинета);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТоварыКабинета", "YandexMarket");
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
КонецПроцедуры
#КонецОбласти
#Область YandexMarket
#Область YandexMetrika
Процедура YandexMetrika_ПолучитьСписокМеток(ПараметрыФункции)
Токен = ПараметрыФункции["Metrika_Token"];
Результат = OPI_YandexMetrika.ПолучитьСписокМеток(Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокМеток", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетки(Результат);
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетки(Результат);
КонецПроцедуры
Процедура YandexMetrika_СоздатьМетку(ПараметрыФункции)
Токен = ПараметрыФункции["Metrika_Token"];
Наименование = "Новая метка";
Результат = OPI_YandexMetrika.СоздатьМетку(Токен, Наименование);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьМетку", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетка(Результат, Наименование);
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетка(Результат, Наименование);
IDМетки = Результат["label"]["id"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Metrika_LabelID", IDМетки);
OPI_Инструменты.ДобавитьПоле("Metrika_LabelID", IDМетки, "Строка", ПараметрыФункции);
КонецПроцедуры
Процедура YandexMetrika_УдалитьМетку(ПараметрыФункции)
Токен = ПараметрыФункции["Metrika_Token"];
IDМетки = ПараметрыФункции["Metrika_LabelID"];
Результат = OPI_YandexMetrika.УдалитьМетку(Токен, IDМетки);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьМетку", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаУспех(Результат);
OPI_ПолучениеДанныхТестов.Проверка_МетрикаУспех(Результат);
КонецПроцедуры
Процедура YandexMetrika_ИзменитьМетку(ПараметрыФункции)
@ -14573,29 +14378,29 @@
Токен = ПараметрыФункции["Metrika_Token"];
IDМетки = ПараметрыФункции["Metrika_LabelID"];
Наименование = "Новое имя метки";
Результат = OPI_YandexMetrika.ИзменитьМетку(Токен, IDМетки, Наименование);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьМетку", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетка(Результат, Наименование);
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетка(Результат, Наименование);
КонецПроцедуры
Процедура YandexMetrika_ПолучитьМетку(ПараметрыФункции)
Токен = ПараметрыФункции["Metrika_Token"];
IDМетки = ПараметрыФункции["Metrika_LabelID"];
Результат = OPI_YandexMetrika.ПолучитьМетку(Токен, IDМетки);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьМетку", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетка(Результат);
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетка(Результат);
КонецПроцедуры
#КонецОбласти

View File

@ -2064,19 +2064,18 @@
#КонецОбласти
#Область YandexMarket
#Область YandexMetrika
Процедура CLI_ЯМаркет_КабинетыИМагазины() Экспорт
Процедура CLI_ЯМетрика_УправлениеМетками() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Token" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Campaign", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Business", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Metrika_Token", ПараметрыТеста);
CLI_YandexMarket_ПолучитьСписокМагазинов(ПараметрыТеста);
CLI_YandexMarket_ПолучитьМагазин(ПараметрыТеста);
CLI_YandexMarket_ПолучитьНастройкиКабинета(ПараметрыТеста);
CLI_YandexMarket_ПолучитьНастройкиМагазина(ПараметрыТеста);
CLI_YandexMetrika_СоздатьМетку(ПараметрыТеста);
CLI_YandexMetrika_ПолучитьСписокМеток(ПараметрыТеста);
CLI_YandexMetrika_ИзменитьМетку(ПараметрыТеста);
CLI_YandexMetrika_ПолучитьМетку(ПараметрыТеста);
CLI_YandexMetrika_УдалитьМетку(ПараметрыТеста);
КонецПроцедуры
@ -16298,60 +16297,90 @@
#КонецОбласти
#Область YandexMarket
#Область YandexMetrika
Процедура CLI_YandexMarket_ПолучитьСписокМагазинов(ПараметрыФункции)
Процедура CLI_YandexMetrika_ПолучитьСписокМеток(ПараметрыФункции)
Токен = ПараметрыФункции["YMarket_Token"];
Токен = ПараметрыФункции["Metrika_Token"];
Результат = OPI_YandexMarket.ПолучитьСписокМагазинов(Токен);
Опции = Новый Структура;
Опции.Вставить("token", Токен);
// END
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("metrika", "ПолучитьСписокМеток", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокМагазинов", "YandexMarket");
OPI_ПолучениеДанныхТестов.Проверка_ЯМаркетМагазины(Результат);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокМеток", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетки(Результат);
КонецПроцедуры
Процедура CLI_YandexMarket_ПолучитьМагазин(ПараметрыФункции)
Процедура CLI_YandexMetrika_СоздатьМетку(ПараметрыФункции)
Токен = ПараметрыФункции["YMarket_Token"];
IDМагазина = ПараметрыФункции["YMarket_Campaign"];
Токен = ПараметрыФункции["Metrika_Token"];
Наименование = "Новая метка";
Результат = OPI_YandexMarket.ПолучитьМагазин(Токен, IDМагазина);
Опции = Новый Структура;
Опции.Вставить("token", Токен);
Опции.Вставить("title", Наименование);
// END
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("metrika", "СоздатьМетку", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьМагазин", "YandexMarket");
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьМетку", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетка(Результат, Наименование);
IDМетки = Результат["label"]["id"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Metrika_LabelID", IDМетки);
OPI_Инструменты.ДобавитьПоле("Metrika_LabelID", IDМетки, "Строка", ПараметрыФункции);
КонецПроцедуры
Процедура CLI_YandexMarket_ПолучитьНастройкиКабинета(ПараметрыФункции)
Процедура CLI_YandexMetrika_УдалитьМетку(ПараметрыФункции)
Токен = ПараметрыФункции["YMarket_Token"];
IDКабинета = ПараметрыФункции["YMarket_Business"];
Токен = ПараметрыФункции["Metrika_Token"];
IDМетки = ПараметрыФункции["Metrika_LabelID"];
Результат = OPI_YandexMarket.ПолучитьНастройкиКабинета(Токен, IDКабинета);
Опции = Новый Структура;
Опции.Вставить("token", Токен);
Опции.Вставить("label", IDМетки);
// END
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("metrika", "УдалитьМетку", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьМагазин", "YandexMarket");
OPI_ПолучениеДанныхТестов.Проверка_ЯМаркетКабинет(Результат);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьМетку", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаУспех(Результат);
КонецПроцедуры
Процедура CLI_YandexMarket_ПолучитьНастройкиМагазина(ПараметрыФункции)
Процедура CLI_YandexMetrika_ИзменитьМетку(ПараметрыФункции)
Токен = ПараметрыФункции["YMarket_Token"];
IDМагазина = ПараметрыФункции["YMarket_Campaign"];
Токен = ПараметрыФункции["Metrika_Token"];
IDМетки = ПараметрыФункции["Metrika_LabelID"];
Наименование = "Новое имя метки";
Результат = OPI_YandexMarket.ПолучитьНастройкиМагазина(Токен, IDМагазина);
Опции = Новый Структура;
Опции.Вставить("token", Токен);
Опции.Вставить("label", IDМетки);
Опции.Вставить("title", Наименование);
// END
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("metrika", "ИзменитьМетку", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьНастройкиМагазина", "YandexMarket");
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьМетку", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетка(Результат, Наименование);
КонецПроцедуры
Процедура CLI_YandexMetrika_ПолучитьМетку(ПараметрыФункции)
Токен = ПараметрыФункции["Metrika_Token"];
IDМетки = ПараметрыФункции["Metrika_LabelID"];
Опции = Новый Структура;
Опции.Вставить("token", Токен);
Опции.Вставить("label", IDМетки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("metrika", "ПолучитьМетку", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьМетку", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетка(Результат);
КонецПроцедуры

View File

@ -66,7 +66,6 @@
Разделы.Вставить("Ozon" , 5);
Разделы.Вставить("Neocities" , 5);
Разделы.Вставить("CDEK" , 5);
Разделы.Вставить("YandexMarket" , 5);
Разделы.Вставить("YandexMetrika" , 5);
Возврат Разделы;
@ -97,7 +96,6 @@
Разделы.Вставить("Ozon" , СтандартныеЗависимости);
Разделы.Вставить("Neocities" , СтандартныеЗависимости);
Разделы.Вставить("CDEK" , СтандартныеЗависимости);
Разделы.Вставить("YandexMarket" , СтандартныеЗависимости);
Разделы.Вставить("YandexMetrika" , СтандартныеЗависимости);
Возврат Разделы;
@ -124,7 +122,6 @@
Озон = "Ozon";
Неоситиз = "Neocities";
Сдэк = "CDEK";
ЯМаркет = "YandexMarket";
Метрика = "YandexMetrika";
ТаблицаТестов = Новый ТаблицаЗначений;
@ -252,8 +249,6 @@
НовыйТест(ТаблицаТестов, "СдэкАПИ_ОбщиеМетоды" , "Общие методы" , Сдэк);
НовыйТест(ТаблицаТестов, "СдэкАПИ_РаботаСЗаказами" , "Работа с заказами" , Сдэк);
НовыйТест(ТаблицаТестов, "СдэкАПИ_РаботаСЗаявкамиНаВызовКурьера", "Работа с заявками курьера" , Сдэк);
НовыйТест(ТаблицаТестов, "ЯМаркет_КабинетыИМагазины" , "Кабинеты и магазины" , ЯМаркет);
НовыйТест(ТаблицаТестов, "ЯМаркет_РаботаСТоварами" , "Работа с товарами" , ЯМаркет);
НовыйТест(ТаблицаТестов, "ЯМетрика_УправлениеМетками" , "Управление метками" , Метрика);
Возврат ТаблицаТестов;
@ -1948,14 +1943,14 @@
КонецПроцедуры
Процедура Проверка_МетрикаМетка(Знач Результат, Знач Наименование = "") Экспорт
ОжидаетЧто(Результат["label"]).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["label"]["id"]).Заполнено();
Если ЗначениеЗаполнено(Наименование) Тогда
ОжидаетЧто(Результат["label"]["name"]).Равно(Наименование);
КонецЕсли;
КонецПроцедуры
Процедура Проверка_МетрикаУспех(Знач Результат) Экспорт
@ -1998,9 +1993,9 @@
КонецФункции
Функция ПолучитьОбщийМодуль(Знач Имя)
Модуль = Вычислить(Имя);
Возврат Модуль;
КонецФункции

View File

@ -105,7 +105,7 @@
Функция ПолучитьОбъект(Знач Токен, Знач Путь) Экспорт
Заголовки = OPI_YandexID.ПолучитьЗаголовокАвторизации(Токен);
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("path", Путь, "Строка", Параметры);
@ -213,7 +213,7 @@
Функция СкачатьФайл(Знач Токен, Знач Путь, Знач ПутьСохранения = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(ПутьСохранения);
Ответ = ПолучитьСсылкуДляСкачивания(Токен, Путь);
URL = Ответ["href"];

View File

@ -117,7 +117,7 @@
Функция ПолучитьЗаголовокАвторизации(Знач Токен) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
Заголовки = Новый Соответствие;
Заголовки.Вставить("Authorization", "OAuth " + Токен);

View File

@ -189,7 +189,7 @@
// Получить товары магазина
// Получает список товаров выбранного магазина
//
//
// Примечание:
// Метод в документации API: [Информация о товарах, которые размещены в заданном магазине](@https://yandex.ru/dev/market/partner-api/doc/ru/reference/assortment/getCampaignOffers)
//
@ -198,55 +198,55 @@
// IDМагазина - Строка, Число - ID магазина - business
// Фильтры - Структура Из КлючИЗначение - Фильтры для отбора товаров - filters
// ТокенСтраницы - Строка - Токен следующей страницы при большой выборке - page
//
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex Market
Функция ПолучитьТоварыМагазина(Знач Токен, Знач IDМагазина, Знач Фильтры = "", Знач ТокенСтраницы = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDМагазина);
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТокенСтраницы);
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDМагазина);
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТокенСтраницы);
URL = "https://api.partner.market.yandex.ru/campaigns/%1/offers";
URL = СтрШаблон(URL, IDМагазина);
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
Если ЗначениеЗаполнено(ТокенСтраницы) Тогда
URL = URL + "?page_token=" + ТокенСтраницы;
URL = URL + "?page_token=" + ТокенСтраницы;
КонецЕсли;
Если ЗначениеЗаполнено(Фильтры) Тогда
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Фильтры);
Ответ = OPI_Инструменты.Post(URL, Фильтры, Заголовки);
Иначе
Ответ = OPI_Инструменты.Post(URL, , Заголовки);
КонецЕсли;
Если ЗначениеЗаполнено(Фильтры) Тогда
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Фильтры);
Ответ = OPI_Инструменты.Post(URL, Фильтры, Заголовки);
Иначе
Ответ = OPI_Инструменты.Post(URL, , Заголовки);
КонецЕсли;
Возврат Ответ;
КонецФункции
Функция ПолучитьТоварыКабинета(Знач Токен, Знач IDКабинета, Знач Фильтры = "", Знач ТокенСтраницы = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDКабинета);
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТокенСтраницы);
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDКабинета);
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТокенСтраницы);
URL = "https://api.partner.market.yandex.ru/businesses/%1/offer-mappings";
URL = СтрШаблон(URL, IDКабинета);
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
Если ЗначениеЗаполнено(ТокенСтраницы) Тогда
URL = URL + "?page_token=" + ТокенСтраницы;
URL = URL + "?page_token=" + ТокенСтраницы;
КонецЕсли;
Если ЗначениеЗаполнено(Фильтры) Тогда
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Фильтры);
Ответ = OPI_Инструменты.Post(URL, Фильтры, Заголовки);
Иначе
Ответ = OPI_Инструменты.Post(URL, , Заголовки);
КонецЕсли;
Если ЗначениеЗаполнено(Фильтры) Тогда
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Фильтры);
Ответ = OPI_Инструменты.Post(URL, Фильтры, Заголовки);
Иначе
Ответ = OPI_Инструменты.Post(URL, , Заголовки);
КонецЕсли;
Возврат Ответ;
КонецФункции
// Получить структуру товара
@ -313,23 +313,23 @@
СтруктураТовара.Вставить("condition", СтруктураСостояния);
СтруктураТовара.Вставить("customsCommodityCode", "<код товара ТН ВЭД>");
СтруктураТовара.Вставить("description", "<подробное описание товара>");
СтруктураТовара.Вставить("downloadable", "<признак цифрового товара>");
СтруктураПериода = Новый Структура;
СтруктураПериода.Вставить("timePeriod", "<значение продолжительности>");
СтруктураПериода.Вставить("timeUnit" , "<единица измерения>");
СтруктураПериода.Вставить("comment" , "<комментарий>");
СтруктураТовара.Вставить("description" , "<подробное описание товара>");
СтруктураТовара.Вставить("downloadable" , "<признак цифрового товара>");
СтруктураПериода = Новый Структура;
СтруктураПериода.Вставить("timePeriod", "<значение продолжительности>");
СтруктураПериода.Вставить("timeUnit" , "<единица измерения>");
СтруктураПериода.Вставить("comment" , "<комментарий>");
СтруктураТовара.Вставить("guaranteePeriod", СтруктураПериода);
СтруктураТовара.Вставить("lifeTime" , СтруктураПериода);
МассивРуководств = Новый Массив;
СтруктураРуководства = Новый Структура;
СтруктураРуководства.Вставить("url" , "<сслыка на руководство>");
СтруктураРуководства.Вставить("title", "<заголовок руководства>");
СтруктураРуководства = Новый Структура;
СтруктураРуководства.Вставить("url" , "<сслыка на руководство>");
СтруктураРуководства.Вставить("title", "<заголовок руководства>");
МассивРуководств.Добавить(СтруктураРуководства);
СтруктураТовара.Вставить("manuals", МассивРуководств);
@ -342,13 +342,13 @@
СтруктураТовара.Вставить("name" , "<имя товара>");
МассивХарактеристик = Новый Массив;
СтруктураХарактеристики = Новый Структура;
СтруктураХарактеристики.Вставить("parameterId", "<идентификатор характеристики>");
СтруктураХарактеристики.Вставить("unitId" , "<идентификатор единицы измерения>");
СтруктураХарактеристики.Вставить("value" , "<значение>");
СтруктураХарактеристики.Вставить("valueId" , "<идентификатор значения для перечислений>");
СтруктураХарактеристики = Новый Структура;
СтруктураХарактеристики.Вставить("parameterId", "<идентификатор характеристики>");
СтруктураХарактеристики.Вставить("unitId" , "<идентификатор единицы измерения>");
СтруктураХарактеристики.Вставить("value" , "<значение>");
СтруктураХарактеристики.Вставить("valueId" , "<идентификатор значения для перечислений>");
МассивХарактеристик.Добавить(СтруктураХарактеристики);
СтруктураТовара.Вставить("parameterValues", МассивХарактеристик);
@ -357,11 +357,11 @@
МассивКартинок.Добавить("<ссылка на картинку товара>");
СтруктураТовара.Вставить("pictures" , МассивКартинок);
СтруктураЦеныЗакупки = Новый Структура;
СтруктураЦеныЗакупки = Новый Структура;
СтруктураЦеныЗакупки.Вставить("currencyId" , "<код валюты>");
СтруктураЦеныЗакупки.Вставить("value" , "<цена>");
СтруктураТовара.Вставить("purchasePrice", СтруктураЦеныЗакупки);
СтруктураТовара.Вставить("shelfLife" , СтруктураПериода);
@ -377,13 +377,13 @@
МассивВидео.Добавить("<ссылка на видео>");
СтруктураТовара.Вставить("videos" , МассивВидео);
СтруктураРазмеров = Новый Структура;
СтруктураРазмеров.Вставить("height", "<высота в см.>");
СтруктураРазмеров.Вставить("length", "<длина в см.>");
СтруктураРазмеров.Вставить("weight", "<вес в кг. (брутто)>");
СтруктураРазмеров.Вставить("width" , "<ширина в см.>");
СтруктураРазмеров = Новый Структура;
СтруктураРазмеров.Вставить("height", "<высота в см.>");
СтруктураРазмеров.Вставить("length", "<длина в см.>");
СтруктураРазмеров.Вставить("weight", "<вес в кг. (брутто)>");
СтруктураРазмеров.Вставить("width" , "<ширина в см.>");
СтруктураТовара.Вставить("weightDimensions", "<габариты и вес товара>");
Если Пустая Тогда

View File

@ -47,33 +47,33 @@
// Создать метку
// Создает метку с указанным именем
//
//
// Примечание:
// Метод в документации API: [Создание метки](@yandex.ru/dev/metrika/ru/management/openapi/label/createLabel)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
// Наименование - Строка - Наименование метки - title
//
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
Функция СоздатьМетку(Знач Токен, Знач Наименование) Экспорт
Заголовки = OPI_YandexID.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://api-metrika.yandex.net/management/v1/labels";
Метка = Новый Структура;
OPI_Инструменты.ДобавитьПоле("name", Наименование, "Строка", Метка);
Ответ = OPI_Инструменты.Post(URL, Новый Структура("label", Метка), Заголовки);
Возврат Ответ;
КонецФункции
// Изменить метку
// Изменяет имя метки по ID
//
//
// Примечание:
// Метод в документации API: [Изменение метки](@yandex.ru/dev/metrika/ru/management/openapi/label/updateLabel)
//
@ -81,97 +81,97 @@
// Токен - Строка - Токен авторизации - token
// IDМетки - Строка - ID метки для изменения - label
// Наименование - Строка - Новое наименование - title
//
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
Функция ИзменитьМетку(Знач Токен, Знач IDМетки, Знач Наименование) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDМетки);
Заголовки = OPI_YandexID.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://api-metrika.yandex.net/management/v1/label/" + IDМетки;
Метка = Новый Структура;
OPI_Инструменты.ДобавитьПоле("name", Наименование, "Строка", Метка);
Ответ = OPI_Инструменты.Put(URL, Новый Структура("label", Метка), Заголовки);
Возврат Ответ;
КонецФункции
// Получить метку
// Получает метку по ID
//
//
// Примечание:
// Метод в документации API: [Информация о метке](@yandex.ru/dev/metrika/ru/management/openapi/label/getLabel)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
// IDМетки - Строка - ID метки - label
//
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
Функция ПолучитьМетку(Знач Токен, Знач IDМетки) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDМетки);
Заголовки = OPI_YandexID.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://api-metrika.yandex.net/management/v1/label/" + IDМетки;
Ответ = OPI_Инструменты.Get(URL, , Заголовки);
Возврат Ответ;
КонецФункции
// Удалить метку
// Удаляет метку по ID
//
//
// Примечание:
// Метод в документации API: [Удаление метки](@yandex.ru/dev/metrika/ru/management/openapi/label/deleteLabel)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
// IDМетки - Строка - ID метки для удаления - label
//
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
Функция УдалитьМетку(Знач Токен, Знач IDМетки) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDМетки);
Заголовки = OPI_YandexID.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://api-metrika.yandex.net/management/v1/label/" + IDМетки;
Ответ = OPI_Инструменты.Delete(URL, , Заголовки);
Возврат Ответ;
КонецФункции
// Получить список меток
// Получает список меток пользователя
//
//
// Примечание:
// Метод в документации API: [Список меток пользователя](@yandex.ru/dev/metrika/ru/management/openapi/label/getLabels)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
//
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
Функция ПолучитьСписокМеток(Знач Токен) Экспорт
Заголовки = OPI_YandexID.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://api-metrika.yandex.net/management/v1/labels";
Ответ = OPI_Инструменты.Get(URL, , Заголовки);
Возврат Ответ;
КонецФункции
#КонецОбласти
#КонецОбласти
#КонецОбласти

View File

@ -1943,14 +1943,14 @@
КонецПроцедуры
Процедура Проверка_МетрикаМетка(Знач Результат, Знач Наименование = "") Экспорт
ОжидаетЧто(Результат["label"]).ИмеетТип("Соответствие");
ОжидаетЧто(Результат["label"]["id"]).Заполнено();
Если ЗначениеЗаполнено(Наименование) Тогда
ОжидаетЧто(Результат["label"]["name"]).Равно(Наименование);
КонецЕсли;
КонецПроцедуры
Процедура Проверка_МетрикаУспех(Знач Результат) Экспорт

View File

@ -2074,13 +2074,13 @@
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Metrika_Token", ПараметрыТеста);
YandexMetrika_СоздатьМетку(ПараметрыТеста);
YandexMetrika_ПолучитьСписокМеток(ПараметрыТеста);
YandexMetrika_ИзменитьМетку(ПараметрыТеста);
YandexMetrika_ПолучитьМетку(ПараметрыТеста);
YandexMetrika_УдалитьМетку(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
@ -14331,46 +14331,46 @@
Процедура YandexMetrika_ПолучитьСписокМеток(ПараметрыФункции)
Токен = ПараметрыФункции["Metrika_Token"];
Результат = OPI_YandexMetrika.ПолучитьСписокМеток(Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокМеток", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетки(Результат);
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетки(Результат);
КонецПроцедуры
Процедура YandexMetrika_СоздатьМетку(ПараметрыФункции)
Токен = ПараметрыФункции["Metrika_Token"];
Наименование = "Новая метка";
Результат = OPI_YandexMetrika.СоздатьМетку(Токен, Наименование);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьМетку", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетка(Результат, Наименование);
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетка(Результат, Наименование);
IDМетки = Результат["label"]["id"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Metrika_LabelID", IDМетки);
OPI_Инструменты.ДобавитьПоле("Metrika_LabelID", IDМетки, "Строка", ПараметрыФункции);
КонецПроцедуры
Процедура YandexMetrika_УдалитьМетку(ПараметрыФункции)
Токен = ПараметрыФункции["Metrika_Token"];
IDМетки = ПараметрыФункции["Metrika_LabelID"];
Результат = OPI_YandexMetrika.УдалитьМетку(Токен, IDМетки);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьМетку", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаУспех(Результат);
OPI_ПолучениеДанныхТестов.Проверка_МетрикаУспех(Результат);
КонецПроцедуры
Процедура YandexMetrika_ИзменитьМетку(ПараметрыФункции)
@ -14378,29 +14378,29 @@
Токен = ПараметрыФункции["Metrika_Token"];
IDМетки = ПараметрыФункции["Metrika_LabelID"];
Наименование = "Новое имя метки";
Результат = OPI_YandexMetrika.ИзменитьМетку(Токен, IDМетки, Наименование);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьМетку", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетка(Результат, Наименование);
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетка(Результат, Наименование);
КонецПроцедуры
Процедура YandexMetrika_ПолучитьМетку(ПараметрыФункции)
Токен = ПараметрыФункции["Metrika_Token"];
IDМетки = ПараметрыФункции["Metrika_LabelID"];
Результат = OPI_YandexMetrika.ПолучитьМетку(Токен, IDМетки);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьМетку", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетка(Результат);
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетка(Результат);
КонецПроцедуры
#КонецОбласти

View File

@ -2070,13 +2070,13 @@
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Metrika_Token", ПараметрыТеста);
CLI_YandexMetrika_СоздатьМетку(ПараметрыТеста);
CLI_YandexMetrika_ПолучитьСписокМеток(ПараметрыТеста);
CLI_YandexMetrika_ИзменитьМетку(ПараметрыТеста);
CLI_YandexMetrika_ПолучитьМетку(ПараметрыТеста);
CLI_YandexMetrika_УдалитьМетку(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
@ -16302,51 +16302,51 @@
Процедура CLI_YandexMetrika_ПолучитьСписокМеток(ПараметрыФункции)
Токен = ПараметрыФункции["Metrika_Token"];
Опции = Новый Структура;
Опции.Вставить("token", Токен);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("metrika", "ПолучитьСписокМеток", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокМеток", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетки(Результат);
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетки(Результат);
КонецПроцедуры
Процедура CLI_YandexMetrika_СоздатьМетку(ПараметрыФункции)
Токен = ПараметрыФункции["Metrika_Token"];
Наименование = "Новая метка";
Опции = Новый Структура;
Опции.Вставить("token", Токен);
Опции.Вставить("title", Наименование);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("metrika", "СоздатьМетку", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьМетку", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетка(Результат, Наименование);
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетка(Результат, Наименование);
IDМетки = Результат["label"]["id"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Metrika_LabelID", IDМетки);
OPI_Инструменты.ДобавитьПоле("Metrika_LabelID", IDМетки, "Строка", ПараметрыФункции);
КонецПроцедуры
Процедура CLI_YandexMetrika_УдалитьМетку(ПараметрыФункции)
Токен = ПараметрыФункции["Metrika_Token"];
IDМетки = ПараметрыФункции["Metrika_LabelID"];
Опции = Новый Структура;
Опции.Вставить("token", Токен);
Опции.Вставить("label", IDМетки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("metrika", "УдалитьМетку", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьМетку", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаУспех(Результат);
OPI_ПолучениеДанныхТестов.Проверка_МетрикаУспех(Результат);
КонецПроцедуры
Процедура CLI_YandexMetrika_ИзменитьМетку(ПараметрыФункции)
@ -16354,34 +16354,34 @@
Токен = ПараметрыФункции["Metrika_Token"];
IDМетки = ПараметрыФункции["Metrika_LabelID"];
Наименование = "Новое имя метки";
Опции = Новый Структура;
Опции.Вставить("token", Токен);
Опции.Вставить("label", IDМетки);
Опции.Вставить("title", Наименование);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("metrika", "ИзменитьМетку", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьМетку", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетка(Результат, Наименование);
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетка(Результат, Наименование);
КонецПроцедуры
Процедура CLI_YandexMetrika_ПолучитьМетку(ПараметрыФункции)
Токен = ПараметрыФункции["Metrika_Token"];
IDМетки = ПараметрыФункции["Metrika_LabelID"];
Опции = Новый Структура;
Опции.Вставить("token", Токен);
Опции.Вставить("label", IDМетки);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("metrika", "ПолучитьМетку", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьМетку", "YandexMetrika");
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетка(Результат);
OPI_ПолучениеДанныхТестов.Проверка_МетрикаМетка(Результат);
КонецПроцедуры
#КонецОбласти

View File

@ -0,0 +1,119 @@
Функция ПолучитьСостав() Экспорт
ТаблицаСостава = Новый ТаблицаЗначений();
ТаблицаСостава.Колонки.Добавить("Библиотека");
ТаблицаСостава.Колонки.Добавить("Модуль");
ТаблицаСостава.Колонки.Добавить("Метод");
ТаблицаСостава.Колонки.Добавить("МетодПоиска");
ТаблицаСостава.Колонки.Добавить("Параметр");
ТаблицаСостава.Колонки.Добавить("Описание");
ТаблицаСостава.Колонки.Добавить("ОписаниеМетода");
ТаблицаСостава.Колонки.Добавить("Область");
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "metrika";
НоваяСтрока.Модуль = "OPI_YandexMetrika";
НоваяСтрока.Метод = "СоздатьМетку";
НоваяСтрока.МетодПоиска = "СОЗДАТЬМЕТКУ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации";
НоваяСтрока.Область = "Управление метками";
НоваяСтрока.ОписаниеМетода = "Создает метку с указанным именем";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "metrika";
НоваяСтрока.Модуль = "OPI_YandexMetrika";
НоваяСтрока.Метод = "СоздатьМетку";
НоваяСтрока.МетодПоиска = "СОЗДАТЬМЕТКУ";
НоваяСтрока.Параметр = "--title";
НоваяСтрока.Описание = "Наименование метки";
НоваяСтрока.Область = "Управление метками";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "metrika";
НоваяСтрока.Модуль = "OPI_YandexMetrika";
НоваяСтрока.Метод = "ИзменитьМетку";
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬМЕТКУ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации";
НоваяСтрока.Область = "Управление метками";
НоваяСтрока.ОписаниеМетода = "Изменяет имя метки по ID";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "metrika";
НоваяСтрока.Модуль = "OPI_YandexMetrika";
НоваяСтрока.Метод = "ИзменитьМетку";
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬМЕТКУ";
НоваяСтрока.Параметр = "--label";
НоваяСтрока.Описание = "ID метки для изменения";
НоваяСтрока.Область = "Управление метками";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "metrika";
НоваяСтрока.Модуль = "OPI_YandexMetrika";
НоваяСтрока.Метод = "ИзменитьМетку";
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬМЕТКУ";
НоваяСтрока.Параметр = "--title";
НоваяСтрока.Описание = "Новое наименование";
НоваяСтрока.Область = "Управление метками";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "metrika";
НоваяСтрока.Модуль = "OPI_YandexMetrika";
НоваяСтрока.Метод = "ПолучитьМетку";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬМЕТКУ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации";
НоваяСтрока.Область = "Управление метками";
НоваяСтрока.ОписаниеМетода = "Получает метку по ID";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "metrika";
НоваяСтрока.Модуль = "OPI_YandexMetrika";
НоваяСтрока.Метод = "ПолучитьМетку";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬМЕТКУ";
НоваяСтрока.Параметр = "--label";
НоваяСтрока.Описание = "ID метки";
НоваяСтрока.Область = "Управление метками";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "metrika";
НоваяСтрока.Модуль = "OPI_YandexMetrika";
НоваяСтрока.Метод = "УдалитьМетку";
НоваяСтрока.МетодПоиска = "УДАЛИТЬМЕТКУ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации";
НоваяСтрока.Область = "Управление метками";
НоваяСтрока.ОписаниеМетода = "Удаляет метку по ID";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "metrika";
НоваяСтрока.Модуль = "OPI_YandexMetrika";
НоваяСтрока.Метод = "УдалитьМетку";
НоваяСтрока.МетодПоиска = "УДАЛИТЬМЕТКУ";
НоваяСтрока.Параметр = "--label";
НоваяСтрока.Описание = "ID метки для удаления";
НоваяСтрока.Область = "Управление метками";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "metrika";
НоваяСтрока.Модуль = "OPI_YandexMetrika";
НоваяСтрока.Метод = "ПолучитьСписокМеток";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКМЕТОК";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации";
НоваяСтрока.Область = "Управление метками";
НоваяСтрока.ОписаниеМетода = "Получает список меток пользователя";
Возврат ТаблицаСостава;
КонецФункции

View File

@ -139,6 +139,47 @@
НоваяСтрока.Область = "Работа с товарами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "yamarket";
НоваяСтрока.Модуль = "OPI_YandexMarket";
НоваяСтрока.Метод = "ПолучитьТоварыМагазина";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬТОВАРЫМАГАЗИНА";
НоваяСтрока.Параметр = "--Key)";
НоваяСтрока.Описание = "token";
НоваяСтрока.Область = "Работа с товарами";
НоваяСтрока.ОписаниеМетода = "Получает список товаров выбранного магазина";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "yamarket";
НоваяСтрока.Модуль = "OPI_YandexMarket";
НоваяСтрока.Метод = "ПолучитьТоварыМагазина";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬТОВАРЫМАГАЗИНА";
НоваяСтрока.Параметр = "--business";
НоваяСтрока.Описание = "ID магазина";
НоваяСтрока.Область = "Работа с товарами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "yamarket";
НоваяСтрока.Модуль = "OPI_YandexMarket";
НоваяСтрока.Метод = "ПолучитьТоварыМагазина";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬТОВАРЫМАГАЗИНА";
НоваяСтрока.Параметр = "--filters";
НоваяСтрока.Описание = "Фильтры для отбора товаров (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Работа с товарами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "yamarket";
НоваяСтрока.Модуль = "OPI_YandexMarket";
НоваяСтрока.Метод = "ПолучитьТоварыМагазина";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬТОВАРЫМАГАЗИНА";
НоваяСтрока.Параметр = "--page";
НоваяСтрока.Описание = "Токен следующей страницы при большой выборке (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Работа с товарами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "yamarket";
НоваяСтрока.Модуль = "OPI_YandexMarket";

View File

@ -27,6 +27,7 @@
СоответствиеКомандМодулей.Вставить("yadisk", "OPI_YandexDisk");
СоответствиеКомандМодулей.Вставить("yandex", "OPI_YandexID");
СоответствиеКомандМодулей.Вставить("yamarket", "OPI_YandexMarket");
СоответствиеКомандМодулей.Вставить("metrika", "OPI_YandexMetrika");
Возврат СоответствиеКомандМодулей;
КонецФункции