mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-01-26 05:37:27 +02:00
Main build (Jenkins)
This commit is contained in:
parent
51c249c26c
commit
bbd276e000
66
.github/workflows/oint_test_full_ru.yml
vendored
66
.github/workflows/oint_test_full_ru.yml
vendored
@ -1209,9 +1209,55 @@ jobs:
|
||||
key: logs-CDEK
|
||||
path: ./docs/ru/results/CDEK
|
||||
|
||||
|
||||
Testing-YandexMarket:
|
||||
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
|
||||
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-YandexMarket
|
||||
path: ./docs/ru/results/YandexMarket
|
||||
|
||||
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]
|
||||
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]
|
||||
if: ${{ always() }}
|
||||
permissions:
|
||||
contents: write
|
||||
@ -1527,6 +1573,22 @@ jobs:
|
||||
-H "X-GitHub-Api-Version: 2022-11-28" \
|
||||
"https://api.github.com/repos/Bayselonarrend/OpenIntegrations/actions/caches?key=logs-CDEK"
|
||||
|
||||
- name: Получить логи YandexMarket
|
||||
uses: actions/cache/restore@v3
|
||||
with:
|
||||
key: logs-YandexMarket
|
||||
path: ./docs/ru/results/YandexMarket
|
||||
|
||||
|
||||
- name: Очистка логов YandexMarket
|
||||
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-YandexMarket"
|
||||
|
||||
|
||||
- name: Записать данные
|
||||
uses: stefanzweifel/git-auto-commit-action@v5
|
||||
@ -1539,7 +1601,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, 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, Encode]
|
||||
if: ${{ always() }}
|
||||
steps:
|
||||
- name: Очистка основного кэша
|
||||
|
@ -622,6 +622,21 @@ pipeline {
|
||||
}
|
||||
}
|
||||
|
||||
stage('Testing-YandexMarket') {
|
||||
steps {
|
||||
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os" "CLI_ЯМаркет_КабинетыИМагазины"'
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os" "CLI_ЯМаркет_РаботаСТоварами"'
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
post{
|
||||
always{
|
||||
|
36
ci/clitesten
36
ci/clitesten
@ -111,6 +111,11 @@ pipeline {
|
||||
test_yandex()
|
||||
}
|
||||
}
|
||||
stage('yamarket'){
|
||||
steps{
|
||||
test_yamarket()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2407,6 +2412,36 @@ def test_yandex(){
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
def test_yamarket(){
|
||||
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe yamarket GetMarketsList --Key) "test" --page "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe yamarket GetMarket --Key) "test" --campaign "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe yamarket GetBusinessSettings --Key) "test" --business "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe yamarket GetCampaignSettings --Key) "test" --campaign "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
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 GetProductStructure --empty "test" --debug --test '
|
||||
}
|
||||
|
||||
}
|
||||
pipeline {
|
||||
agent any
|
||||
stages {
|
||||
@ -2438,6 +2473,7 @@ test_vk()
|
||||
test_vkteams()
|
||||
test_yadisk()
|
||||
test_yandex()
|
||||
test_yamarket()
|
||||
|
||||
}
|
||||
}
|
||||
|
36
ci/clitestru
36
ci/clitestru
@ -111,6 +111,11 @@ pipeline {
|
||||
test_yandex()
|
||||
}
|
||||
}
|
||||
stage('yamarket'){
|
||||
steps{
|
||||
test_yamarket()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2407,6 +2412,36 @@ def test_yandex(){
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
def test_yamarket(){
|
||||
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe yamarket ПолучитьСписокМагазинов --Key) "test" --page "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe yamarket ПолучитьМагазин --Key) "test" --campaign "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe yamarket ПолучитьНастройкиКабинета --Key) "test" --business "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe yamarket ПолучитьНастройкиМагазина --Key) "test" --campaign "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
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 ПолучитьСтруктуруТовара --empty "test" --debug --test '
|
||||
}
|
||||
|
||||
}
|
||||
pipeline {
|
||||
agent any
|
||||
stages {
|
||||
@ -2438,6 +2473,7 @@ test_vk()
|
||||
test_vkteams()
|
||||
test_yadisk()
|
||||
test_yandex()
|
||||
test_yamarket()
|
||||
|
||||
}
|
||||
}
|
||||
|
15
ci/ostestru
15
ci/ostestru
@ -622,6 +622,21 @@ pipeline {
|
||||
}
|
||||
}
|
||||
|
||||
stage('Testing-YandexMarket') {
|
||||
steps {
|
||||
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os" "ЯМаркет_КабинетыИМагазины"'
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os" "ЯМаркет_РаботаСТоварами"'
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
post{
|
||||
always{
|
||||
|
6
docs/en/data/YandexMarket/AddUpdateProducts.json
Normal file
6
docs/en/data/YandexMarket/AddUpdateProducts.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"Token": "ACMA:WRvGsjClMPDCqrhwBNOFRO...",
|
||||
"AccountID": "172257075",
|
||||
"Image": "https://api.athenaeum.digital/test_data/picture.jpg",
|
||||
"Video": "https://api.athenaeum.digital/test_data/video.mp4"
|
||||
}
|
4
docs/en/data/YandexMarket/GetBusinessSettings.json
Normal file
4
docs/en/data/YandexMarket/GetBusinessSettings.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"Token": "ACMA:WRvGsjClMPDCqrhwBNOFRO...",
|
||||
"AccountID": "172257075"
|
||||
}
|
4
docs/en/data/YandexMarket/GetCampaignSettings.json
Normal file
4
docs/en/data/YandexMarket/GetCampaignSettings.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"Token": "ACMA:WRvGsjClMPDCqrhwBNOFRO...",
|
||||
"CampaignID": "129112733"
|
||||
}
|
4
docs/en/data/YandexMarket/GetMarket.json
Normal file
4
docs/en/data/YandexMarket/GetMarket.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"Token": "ACMA:WRvGsjClMPDCqrhwBNOFRO...",
|
||||
"CampaignID": "129112733"
|
||||
}
|
3
docs/en/data/YandexMarket/GetMarketsList.json
Normal file
3
docs/en/data/YandexMarket/GetMarketsList.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"Token": "ACMA:WRvGsjClMPDCqrhwBNOFRO..."
|
||||
}
|
65
docs/en/examples/YandexMarket/AddUpdateProducts.txt
Normal file
65
docs/en/examples/YandexMarket/AddUpdateProducts.txt
Normal file
@ -0,0 +1,65 @@
|
||||
Token = "ACMA:WRvGsjClMPDCqrhwBNOFRO...";
|
||||
AccountID = "172257075";
|
||||
Image = "https://api.athenaeum.digital/test_data/picture.jpg";
|
||||
Video = "https://api.athenaeum.digital/test_data/video.mp4";
|
||||
|
||||
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);
|
4
docs/en/examples/YandexMarket/GetBusinessSettings.txt
Normal file
4
docs/en/examples/YandexMarket/GetBusinessSettings.txt
Normal file
@ -0,0 +1,4 @@
|
||||
Token = "ACMA:WRvGsjClMPDCqrhwBNOFRO...";
|
||||
AccountID = "172257075";
|
||||
|
||||
Result = OPI_YandexMarket.GetBusinessSettings(Token, AccountID);
|
4
docs/en/examples/YandexMarket/GetCampaignSettings.txt
Normal file
4
docs/en/examples/YandexMarket/GetCampaignSettings.txt
Normal file
@ -0,0 +1,4 @@
|
||||
Token = "ACMA:WRvGsjClMPDCqrhwBNOFRO...";
|
||||
CampaignID = "129112733";
|
||||
|
||||
Result = OPI_YandexMarket.GetCampaignSettings(Token, CampaignID);
|
4
docs/en/examples/YandexMarket/GetMarket.txt
Normal file
4
docs/en/examples/YandexMarket/GetMarket.txt
Normal file
@ -0,0 +1,4 @@
|
||||
Token = "ACMA:WRvGsjClMPDCqrhwBNOFRO...";
|
||||
CampaignID = "129112733";
|
||||
|
||||
Result = OPI_YandexMarket.GetMarket(Token, CampaignID);
|
3
docs/en/examples/YandexMarket/GetMarketsList.txt
Normal file
3
docs/en/examples/YandexMarket/GetMarketsList.txt
Normal file
@ -0,0 +1,3 @@
|
||||
Token = "ACMA:WRvGsjClMPDCqrhwBNOFRO...";
|
||||
|
||||
Result = OPI_YandexMarket.GetMarketsList(Token);
|
@ -0,0 +1,43 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Get business settings
|
||||
Gets the values of cabinet (business) settings by ID
|
||||
|
||||
|
||||
|
||||
`Function GetBusinessSettings(Val Token, Val AccountID) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Token | --Key) | String | ✔ | token |
|
||||
| AccountID | --business | String, Number | ✔ | Business ID |
|
||||
|
||||
|
||||
Returns: Map Of KeyAndValue - serialized JSON response from Yandex Market
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Method at API documentation: [Cabinet settings](https://yandex.ru/dev/market/partner-api/doc/ru/reference/businesses/getBusinessSettings)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Token = "ACMA:WRvGsjClMPDCqrhwBNOFRO...";
|
||||
AccountID = "172257075";
|
||||
|
||||
Result = OPI_YandexMarket.GetBusinessSettings(Token, AccountID);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
```json title="Result"
|
||||
|
||||
```
|
@ -0,0 +1,43 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Get campaign settings
|
||||
Gets market (campaign) settings by ID
|
||||
|
||||
|
||||
|
||||
`Function GetCampaignSettings(Val Token, Val CampaignID) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Token | --Key) | String | ✔ | token |
|
||||
| CampaignID | --campaign | String, Number | ✔ | Market ID (campaignsId) |
|
||||
|
||||
|
||||
Returns: Map Of KeyAndValue - serialized JSON response from Yandex Market
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Method at API documentation: [Market settings](https://yandex.ru/dev/market/partner-api/doc/ru/reference/campaigns/getCampaignSettings)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Token = "ACMA:WRvGsjClMPDCqrhwBNOFRO...";
|
||||
CampaignID = "129112733";
|
||||
|
||||
Result = OPI_YandexMarket.GetCampaignSettings(Token, CampaignID);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
```json title="Result"
|
||||
|
||||
```
|
@ -0,0 +1,43 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Get market
|
||||
Gets information about a market (campaign) by ID
|
||||
|
||||
|
||||
|
||||
`Function GetMarket(Val Token, Val CampaignID) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Token | --Key) | String | ✔ | token |
|
||||
| CampaignID | --campaign | String, Number | ✔ | Market ID (campaignsId) |
|
||||
|
||||
|
||||
Returns: Map Of KeyAndValue - serialized JSON response from Yandex Market
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Method at API documentation: [Market information](https://yandex.ru/dev/market/partner-api/doc/ru/reference/campaigns/getCampaign)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Token = "ACMA:WRvGsjClMPDCqrhwBNOFRO...";
|
||||
CampaignID = "129112733";
|
||||
|
||||
Result = OPI_YandexMarket.GetMarket(Token, CampaignID);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
```json title="Result"
|
||||
|
||||
```
|
@ -0,0 +1,42 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Get markets list
|
||||
Gets the list of shops in the cabinet by token
|
||||
|
||||
|
||||
|
||||
`Function GetMarketsList(Val Token, Val Page = 1) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Token | --Key) | String | ✔ | token |
|
||||
| Page | --page | Number | ✖ | Issue page number of the list |
|
||||
|
||||
|
||||
Returns: Map Of KeyAndValue - serialized JSON response from Yandex Market
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Method at API documentation: [List of users shops](https://yandex.ru/dev/market/partner-api/doc/ru/reference/campaigns/getCampaigns)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Token = "ACMA:WRvGsjClMPDCqrhwBNOFRO...";
|
||||
|
||||
Result = OPI_YandexMarket.GetMarketsList(Token);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
```json title="Result"
|
||||
|
||||
```
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"label": "Campaigns and business",
|
||||
"position": "2"
|
||||
}
|
@ -0,0 +1,106 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Add update products
|
||||
Adds or updates product information in the catalogue
|
||||
|
||||
|
||||
|
||||
`Function AddUpdateProducts(Val Token, Val AccountID, Val ProductsArray, Val OwnImages = False) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Token | --Key) | String | ✔ | token |
|
||||
| AccountID | --business | String, Number | ✔ | Business ID |
|
||||
| ProductsArray | --offers | Structure, Array of Structure | ✔ | Array of product descriptions |
|
||||
| OwnImages | --pmedia | Boolean | ✖ | A flag of using only your own product images |
|
||||
|
||||
|
||||
Returns: Map Of KeyAndValue - serialized JSON response from Yandex Market
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Method at API documentation: [Adding products to the catalogue and changing information about them](https://yandex.ru/dev/market/partner-api/doc/ru/reference/business-assortment/updateOfferMappings)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Token = "ACMA:WRvGsjClMPDCqrhwBNOFRO...";
|
||||
AccountID = "172257075";
|
||||
Image = "https://api.athenaeum.digital/test_data/picture.jpg";
|
||||
Video = "https://api.athenaeum.digital/test_data/video.mp4";
|
||||
|
||||
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);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
```json title="Result"
|
||||
|
||||
```
|
@ -0,0 +1,40 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Get product structure
|
||||
Gets the structure of product standard fields
|
||||
|
||||
|
||||
|
||||
`Function GetProductStructure(Val Clear = False) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Clear | --empty | Boolean | ✖ | True > structure with empty valuse, False > field descriptions at values |
|
||||
|
||||
|
||||
Returns: Structure of KeyAndValue - Product fields structure
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Description in the API documentation: [UpdateOfferDTO](https://https:
|
||||
yandex.ru/dev/market/partner-api/doc/ru/reference/business-assortment/updateOfferMappings#updateofferdto)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
```json title="Result"
|
||||
|
||||
```
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"label": "Product management",
|
||||
"position": "3"
|
||||
}
|
6
docs/ru/data/YandexMarket/ДобавитьОбновитьТовары.json
Normal file
6
docs/ru/data/YandexMarket/ДобавитьОбновитьТовары.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"Токен": "ACMA:WRvGsjClMPDCqrhwBNOFRO...",
|
||||
"IDКабинета": "172257075",
|
||||
"Картинка": "https://api.athenaeum.digital/test_data/picture.jpg",
|
||||
"Видео": "https://api.athenaeum.digital/test_data/video.mp4"
|
||||
}
|
4
docs/ru/data/YandexMarket/ПолучитьМагазин.json
Normal file
4
docs/ru/data/YandexMarket/ПолучитьМагазин.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"Токен": "ACMA:WRvGsjClMPDCqrhwBNOFRO...",
|
||||
"IDМагазина": "129112733"
|
||||
}
|
4
docs/ru/data/YandexMarket/ПолучитьНастройкиКабинета.json
Normal file
4
docs/ru/data/YandexMarket/ПолучитьНастройкиКабинета.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"Токен": "ACMA:WRvGsjClMPDCqrhwBNOFRO...",
|
||||
"IDКабинета": "172257075"
|
||||
}
|
4
docs/ru/data/YandexMarket/ПолучитьНастройкиМагазина.json
Normal file
4
docs/ru/data/YandexMarket/ПолучитьНастройкиМагазина.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"Токен": "ACMA:WRvGsjClMPDCqrhwBNOFRO...",
|
||||
"IDМагазина": "129112733"
|
||||
}
|
3
docs/ru/data/YandexMarket/ПолучитьСписокМагазинов.json
Normal file
3
docs/ru/data/YandexMarket/ПолучитьСписокМагазинов.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"Токен": "ACMA:WRvGsjClMPDCqrhwBNOFRO..."
|
||||
}
|
65
docs/ru/examples/YandexMarket/ДобавитьОбновитьТовары.txt
Normal file
65
docs/ru/examples/YandexMarket/ДобавитьОбновитьТовары.txt
Normal file
@ -0,0 +1,65 @@
|
||||
Токен = "ACMA:WRvGsjClMPDCqrhwBNOFRO...";
|
||||
IDКабинета = "172257075";
|
||||
Картинка = "https://api.athenaeum.digital/test_data/picture.jpg";
|
||||
Видео = "https://api.athenaeum.digital/test_data/video.mp4";
|
||||
|
||||
СтруктураОбновления = Новый Структура;
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("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Кабинета, СтруктураОбновления);
|
4
docs/ru/examples/YandexMarket/ПолучитьМагазин.txt
Normal file
4
docs/ru/examples/YandexMarket/ПолучитьМагазин.txt
Normal file
@ -0,0 +1,4 @@
|
||||
Токен = "ACMA:WRvGsjClMPDCqrhwBNOFRO...";
|
||||
IDМагазина = "129112733";
|
||||
|
||||
Результат = OPI_YandexMarket.ПолучитьМагазин(Токен, IDМагазина);
|
@ -0,0 +1,4 @@
|
||||
Токен = "ACMA:WRvGsjClMPDCqrhwBNOFRO...";
|
||||
IDКабинета = "172257075";
|
||||
|
||||
Результат = OPI_YandexMarket.ПолучитьНастройкиКабинета(Токен, IDКабинета);
|
@ -0,0 +1,4 @@
|
||||
Токен = "ACMA:WRvGsjClMPDCqrhwBNOFRO...";
|
||||
IDМагазина = "129112733";
|
||||
|
||||
Результат = OPI_YandexMarket.ПолучитьНастройкиМагазина(Токен, IDМагазина);
|
@ -0,0 +1,3 @@
|
||||
Токен = "ACMA:WRvGsjClMPDCqrhwBNOFRO...";
|
||||
|
||||
Результат = OPI_YandexMarket.ПолучитьСписокМагазинов(Токен);
|
@ -0,0 +1,43 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Получить настройки кабинета
|
||||
Получает значения настроек кабинета по ID
|
||||
|
||||
|
||||
|
||||
`Функция ПолучитьНастройкиКабинета(Знач Токен, Знач IDКабинета) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Токен | --Key) | Строка | ✔ | token |
|
||||
| IDКабинета | --business | Строка, Число | ✔ | ID кабинета |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex Market
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Метод в документации API: [Настройки кабинета](https://yandex.ru/dev/market/partner-api/doc/ru/reference/businesses/getBusinessSettings)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Токен = "ACMA:WRvGsjClMPDCqrhwBNOFRO...";
|
||||
IDКабинета = "172257075";
|
||||
|
||||
Результат = OPI_YandexMarket.ПолучитьНастройкиКабинета(Токен, IDКабинета);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
```json title="Результат"
|
||||
|
||||
```
|
@ -0,0 +1,43 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Получить настройки магазина
|
||||
Получает настройки магазина по ID
|
||||
|
||||
|
||||
|
||||
`Функция ПолучитьНастройкиМагазина(Знач Токен, Знач IDМагазина) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Токен | --Key) | Строка | ✔ | token |
|
||||
| IDМагазина | --campaign | Строка, Число | ✔ | ID магазина (кампании) |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex Market
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Метод в документации API: [Настройки магазина](https://yandex.ru/dev/market/partner-api/doc/ru/reference/campaigns/getCampaignSettings)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Токен = "ACMA:WRvGsjClMPDCqrhwBNOFRO...";
|
||||
IDМагазина = "129112733";
|
||||
|
||||
Результат = OPI_YandexMarket.ПолучитьНастройкиМагазина(Токен, IDМагазина);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
```json title="Результат"
|
||||
|
||||
```
|
@ -0,0 +1,43 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Получить магазин
|
||||
Получает информацию о магазине (кампании) по ID
|
||||
|
||||
|
||||
|
||||
`Функция ПолучитьМагазин(Знач Токен, Знач IDМагазина) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Токен | --Key) | Строка | ✔ | token |
|
||||
| IDМагазина | --campaign | Строка, Число | ✔ | ID магазина (кампании) |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex Market
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Метод в документации API: [Информация о магазине](https://yandex.ru/dev/market/partner-api/doc/ru/reference/campaigns/getCampaign)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Токен = "ACMA:WRvGsjClMPDCqrhwBNOFRO...";
|
||||
IDМагазина = "129112733";
|
||||
|
||||
Результат = OPI_YandexMarket.ПолучитьМагазин(Токен, IDМагазина);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
```json title="Результат"
|
||||
|
||||
```
|
@ -0,0 +1,42 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Получить список магазинов
|
||||
Получает список магазинов в кабинете по токену
|
||||
|
||||
|
||||
|
||||
`Функция ПолучитьСписокМагазинов(Знач Токен, Знач Страница = 1) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Токен | --Key) | Строка | ✔ | token |
|
||||
| Страница | --page | Число | ✖ | Номер страницы выдачи списка |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex Market
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Метод в документации API: [Список магазинов пользователя](https://yandex.ru/dev/market/partner-api/doc/ru/reference/campaigns/getCampaigns)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Токен = "ACMA:WRvGsjClMPDCqrhwBNOFRO...";
|
||||
|
||||
Результат = OPI_YandexMarket.ПолучитьСписокМагазинов(Токен);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
```json title="Результат"
|
||||
|
||||
```
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"label": "Кабинеты и магазины",
|
||||
"position": "2"
|
||||
}
|
@ -0,0 +1,106 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Добавить обновить товары
|
||||
Добавляет или обновляет информацию о товарах в каталоге
|
||||
|
||||
|
||||
|
||||
`Функция ДобавитьОбновитьТовары(Знач Токен, Знач IDКабинета, Знач МассивТоваров, Знач СвоиИзображения = Ложь) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Токен | --Key) | Строка | ✔ | token |
|
||||
| IDКабинета | --business | Строка, Число | ✔ | ID кабинета |
|
||||
| МассивТоваров | --offers | Структура, Массив Из Структура | ✔ | Массив описаний товаров |
|
||||
| СвоиИзображения | --pmedia | Булево | ✖ | Признак использования только своих изображений товаров |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex Market
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Метод в документации API: [Добавление товаров в каталог и изменение информации о них](https://yandex.ru/dev/market/partner-api/doc/ru/reference/business-assortment/updateOfferMappings)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Токен = "ACMA:WRvGsjClMPDCqrhwBNOFRO...";
|
||||
IDКабинета = "172257075";
|
||||
Картинка = "https://api.athenaeum.digital/test_data/picture.jpg";
|
||||
Видео = "https://api.athenaeum.digital/test_data/video.mp4";
|
||||
|
||||
СтруктураОбновления = Новый Структура;
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("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Кабинета, СтруктураОбновления);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
```json title="Результат"
|
||||
|
||||
```
|
@ -0,0 +1,40 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Получить структуру товара
|
||||
Получает структуру стандартных полей товара
|
||||
|
||||
|
||||
|
||||
`Функция ПолучитьСтруктуруТовара(Знач Пустая = Ложь) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Пустая | --empty | Булево | ✖ | Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение - Структура полей товара
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Описание в документации API: [UpdateOfferDTO](https://https:
|
||||
yandex.ru/dev/market/partner-api/doc/ru/reference/business-assortment/updateOfferMappings#updateofferdto)
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
```json title="Результат"
|
||||
|
||||
```
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"label": "Работа с товарами",
|
||||
"position": "3"
|
||||
}
|
File diff suppressed because it is too large
Load Diff
323
src/en/OInt/core/Modules/OPI_YandexMarket.os
Normal file
323
src/en/OInt/core/Modules/OPI_YandexMarket.os
Normal file
@ -0,0 +1,323 @@
|
||||
// OneScript: ./OInt/core/Modules/OPI_YandexMarket.os
|
||||
// Lib: Yandex Market
|
||||
// CLI: yamarket
|
||||
|
||||
// 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 CampaignsAndBusiness
|
||||
|
||||
// Get markets list
|
||||
// Gets the list of shops in the cabinet by token
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [List of users shops](@yandex.ru/dev/market/partner-api/doc/ru/reference/campaigns/getCampaigns)
|
||||
//
|
||||
// Parameters:
|
||||
// Token - String - Authorisation token (Api-Key) - token
|
||||
// Page - Number - Issue page number of the list - page
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from Yandex Market
|
||||
Function GetMarketsList(Val Token, Val Page = 1) Export
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/campaigns";
|
||||
Headers = CreateRequestHeaders(Token);
|
||||
|
||||
PageSize = 100;
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("page" , Page , "Number", Parameters);
|
||||
OPI_Tools.AddField("pageSize", PageSize, "Number", Parameters);
|
||||
|
||||
Response = OPI_Tools.Get(URL, Parameters, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get market
|
||||
// Gets information about a market (campaign) by ID
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [Market information](@yandex.ru/dev/market/partner-api/doc/ru/reference/campaigns/getCampaign)
|
||||
//
|
||||
// Parameters:
|
||||
// Token - String - Authorisation token (Api-Key) - token
|
||||
// CampaignID - String, Number - Market ID (campaignsId) - campaign
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from Yandex Market
|
||||
Function GetMarket(Val Token, Val CampaignID) Export
|
||||
|
||||
OPI_TypeConversion.GetLine(CampaignID);
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/campaigns/" + CampaignID;
|
||||
Headers = CreateRequestHeaders(Token);
|
||||
|
||||
Response = OPI_Tools.Get(URL, , Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get business settings
|
||||
// Gets the values of cabinet (business) settings by ID
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [Cabinet settings](@yandex.ru/dev/market/partner-api/doc/ru/reference/businesses/getBusinessSettings)
|
||||
//
|
||||
// Parameters:
|
||||
// Token - String - Authorisation token (Api-Key) - token
|
||||
// AccountID - String, Number - Business ID - business
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from Yandex Market
|
||||
Function GetBusinessSettings(Val Token, Val AccountID) Export
|
||||
|
||||
OPI_TypeConversion.GetLine(AccountID);
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/businesses/%1/settings";
|
||||
URL = StrTemplate(URL, AccountID);
|
||||
Headers = CreateRequestHeaders(Token);
|
||||
|
||||
Response = OPI_Tools.Post(URL, , Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get campaign settings
|
||||
// Gets market (campaign) settings by ID
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [Market settings](@yandex.ru/dev/market/partner-api/doc/ru/reference/campaigns/getCampaignSettings)
|
||||
//
|
||||
// Parameters:
|
||||
// Token - String - Authorisation token (Api-Key) - token
|
||||
// CampaignID - String, Number - Market ID (campaignsId) - campaign
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from Yandex Market
|
||||
Function GetCampaignSettings(Val Token, Val CampaignID) Export
|
||||
|
||||
OPI_TypeConversion.GetLine(CampaignID);
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/campaigns/%1/settings";
|
||||
URL = StrTemplate(URL, CampaignID);
|
||||
Headers = CreateRequestHeaders(Token);
|
||||
|
||||
Response = OPI_Tools.Get(URL, , Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region ProductManagement
|
||||
|
||||
// Add update products
|
||||
// Adds or updates product information in the catalogue
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [Adding products to the catalogue and changing information about them](@yandex.ru/dev/market/partner-api/doc/ru/reference/business-assortment/updateOfferMappings)
|
||||
//
|
||||
// Parameters:
|
||||
// Token - String - Authorisation token (Api-Key) - token
|
||||
// AccountID - String, Number - Business ID - business
|
||||
// ProductsArray - Structure, Array of Structure - Array of product descriptions - offers
|
||||
// OwnImages - Boolean - A flag of using only your own product images - pmedia
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from Yandex Market
|
||||
Function AddUpdateProducts(Val Token, Val AccountID, Val ProductsArray, Val OwnImages = False) Export
|
||||
|
||||
OPI_TypeConversion.GetLine(AccountID);
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/businesses/%1/offer-mappings/update";
|
||||
URL = StrTemplate(URL, AccountID);
|
||||
Headers = CreateRequestHeaders(Token);
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("offerMappings" , ProductsArray , "Array" , Parameters);
|
||||
OPI_Tools.AddField("onlyPartnerMediaContent", OwnImages , "Boolean", Parameters);
|
||||
|
||||
Response = OPI_Tools.Post(URL, Parameters, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get product structure
|
||||
// Gets the structure of product standard fields
|
||||
//
|
||||
// Note
|
||||
// Description in the API documentation: [UpdateOfferDTO](@https://yandex.ru/dev/market/partner-api/doc/ru/reference/business-assortment/updateOfferMappings#updateofferdto)
|
||||
//
|
||||
// Parameters:
|
||||
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
|
||||
//
|
||||
// Returns:
|
||||
// Structure of KeyAndValue - Product fields structure
|
||||
Function GetProductStructure(Val Clear = False) Export
|
||||
|
||||
OPI_TypeConversion.GetBoolean(Clear);
|
||||
|
||||
ItemStructure = New Structure;
|
||||
ItemStructure.Insert("offerId", "<item ID in your system>");
|
||||
|
||||
ExpenseStructure = New Structure;
|
||||
ExpenseStructure.Insert("currencyId" , "<Currency code>");
|
||||
ExpenseStructure.Insert("value" , "<additional costs>");
|
||||
|
||||
ItemStructure.Insert("additionalExpenses", ExpenseStructure);
|
||||
ItemStructure.Insert("adult" , "<parameter includes mark for the product 18+>");
|
||||
|
||||
AgeStructure = New Structure;
|
||||
AgeStructure.Insert("ageUnit", "<unit: YEAR, MONTH>");
|
||||
AgeStructure.Insert("value" , "<age limit>");
|
||||
|
||||
ItemStructure.Insert("age", AgeStructure);
|
||||
|
||||
BarcodesArray = New Array;
|
||||
BarcodesArray.Add("<barcode>");
|
||||
|
||||
ItemStructure.Insert("barcodes", BarcodesArray);
|
||||
|
||||
BasePriceStructure = New Structure;
|
||||
BasePriceStructure.Insert("currencyId" , "<Currency code>");
|
||||
BasePriceStructure.Insert("value" , "<price>");
|
||||
BasePriceStructure.Insert("discountBase", "<pre-discount price>");
|
||||
|
||||
ItemStructure.Insert("basicPrice", BasePriceStructure);
|
||||
ItemStructure.Insert("boxCount" , "<number of cargo spaces>");
|
||||
ItemStructure.Insert("category" , "<product category in your shop>");
|
||||
|
||||
CertificatesArray = New Array;
|
||||
CertificatesArray.Add("<item document number>");
|
||||
|
||||
ItemStructure.Insert("certificates", CertificatesArray);
|
||||
|
||||
PriceForDiscountsStructure = New Structure;
|
||||
PriceForDiscountsStructure.Insert("currencyId" , "<Currency code>");
|
||||
PriceForDiscountsStructure.Insert("value" , "<price>");
|
||||
|
||||
ItemStructure.Insert("cofinancePrice", PriceForDiscountsStructure);
|
||||
|
||||
StateStructure = New Structure;
|
||||
StateStructure.Insert("quality", "<product appearance>");
|
||||
StateStructure.Insert("reason" , "<defect description>");
|
||||
StateStructure.Insert("type" , "<discount type>");
|
||||
|
||||
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>");
|
||||
|
||||
ManualsArray = New Array;
|
||||
ManualsArray.Add("<manual>");
|
||||
|
||||
ItemStructure.Insert("manuals", ManualsArray);
|
||||
|
||||
CountriesArray = New Array;
|
||||
CountriesArray.Add("<country of manufacture>");
|
||||
|
||||
ItemStructure.Insert("manufacturerCountries", CountriesArray);
|
||||
ItemStructure.Insert("marketCategoryId" , "<category identifier on the Market>");
|
||||
ItemStructure.Insert("name" , "<product name>");
|
||||
|
||||
AttributesArray = New Array;
|
||||
AttributesArray.Add("<feature>");
|
||||
|
||||
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>");
|
||||
|
||||
TagsArray = New Array;
|
||||
TagsArray.Add("<tag>");
|
||||
|
||||
ItemStructure.Insert("tags" , TagsArray);
|
||||
ItemStructure.Insert("type" , "<specific product type>");
|
||||
ItemStructure.Insert("vendor" , "<brand or manufacturer name>");
|
||||
ItemStructure.Insert("vendorCode", "<manufacturers item number>");
|
||||
|
||||
VideosArray = New Array;
|
||||
VideosArray.Add("<video URL>");
|
||||
|
||||
ItemStructure.Insert("videos" , VideosArray);
|
||||
ItemStructure.Insert("weightDimensions", "<product dimensions and weight>");
|
||||
|
||||
If Clear Then
|
||||
ItemStructure = OPI_Tools.ClearCollectionRecursively(ItemStructure);
|
||||
EndIf;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return ItemStructure;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Private
|
||||
|
||||
Function CreateRequestHeaders(Val Token)
|
||||
|
||||
OPI_TypeConversion.GetLine(Token);
|
||||
|
||||
Headers = New Map;
|
||||
Headers.Insert("Api-Key", Token);
|
||||
Return Headers;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
@ -18,6 +18,7 @@
|
||||
<module name="OPI_VKTeams" file="core/Modules/OPI_VKTeams.os"/>
|
||||
<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_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"/>
|
||||
|
@ -2068,6 +2068,36 @@ EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region YandexMarket
|
||||
|
||||
Procedure YaMarket_CampaignsAndBusiness() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Campaign", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Business", 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);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
@ -14309,6 +14339,140 @@ EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region YandexMarket
|
||||
|
||||
Procedure YandexMarket_GetMarketsList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YMarket_Token"];
|
||||
|
||||
Result = OPI_YandexMarket.GetMarketsList(Token);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetMarketsList", "YandexMarket");
|
||||
OPI_TestDataRetrieval.Check_YaMarketMarkets(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMarket_GetMarket(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YMarket_Token"];
|
||||
CampaignID = FunctionParameters["YMarket_Campaign"];
|
||||
|
||||
Result = OPI_YandexMarket.GetMarket(Token, CampaignID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetMarket", "YandexMarket");
|
||||
OPI_TestDataRetrieval.Check_Map(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMarket_GetBusinessSettings(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YMarket_Token"];
|
||||
AccountID = FunctionParameters["YMarket_Business"];
|
||||
|
||||
Result = OPI_YandexMarket.GetBusinessSettings(Token, AccountID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetMarket", "YandexMarket");
|
||||
OPI_TestDataRetrieval.Check_YaMarketBusiness(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMarket_GetCampaignSettings(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YMarket_Token"];
|
||||
CampaignID = FunctionParameters["YMarket_Campaign"];
|
||||
|
||||
Result = OPI_YandexMarket.GetCampaignSettings(Token, CampaignID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetCampaignSettings", "YandexMarket");
|
||||
OPI_TestDataRetrieval.Check_Map(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMarket_AddUpdateProducts(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YMarket_Token"];
|
||||
AccountID = FunctionParameters["YMarket_Business"];
|
||||
Image = FunctionParameters["Picture"];
|
||||
Video = FunctionParameters["Video"];
|
||||
|
||||
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);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "AddUpdateProducts", "YandexMarket");
|
||||
OPI_TestDataRetrieval.Check_YaMarketOk(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -2064,6 +2064,24 @@ EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region YandexMarket
|
||||
|
||||
Procedure CLI_YaMarket_CampaignsAndBusiness() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Campaign", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Business", TestParameters);
|
||||
|
||||
CLI_YandexMarket_GetMarketsList(TestParameters);
|
||||
CLI_YandexMarket_GetMarket(TestParameters);
|
||||
CLI_YandexMarket_GetBusinessSettings(TestParameters);
|
||||
CLI_YandexMarket_GetCampaignSettings(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
@ -16280,6 +16298,65 @@ EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region YandexMarket
|
||||
|
||||
Procedure CLI_YandexMarket_GetMarketsList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YMarket_Token"];
|
||||
|
||||
Result = OPI_YandexMarket.GetMarketsList(Token);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetMarketsList", "YandexMarket");
|
||||
OPI_TestDataRetrieval.Check_YaMarketMarkets(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_YandexMarket_GetMarket(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YMarket_Token"];
|
||||
CampaignID = FunctionParameters["YMarket_Campaign"];
|
||||
|
||||
Result = OPI_YandexMarket.GetMarket(Token, CampaignID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetMarket", "YandexMarket");
|
||||
OPI_TestDataRetrieval.Check_Map(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_YandexMarket_GetBusinessSettings(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YMarket_Token"];
|
||||
AccountID = FunctionParameters["YMarket_Business"];
|
||||
|
||||
Result = OPI_YandexMarket.GetBusinessSettings(Token, AccountID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetMarket", "YandexMarket");
|
||||
OPI_TestDataRetrieval.Check_YaMarketBusiness(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_YandexMarket_GetCampaignSettings(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YMarket_Token"];
|
||||
CampaignID = FunctionParameters["YMarket_Campaign"];
|
||||
|
||||
Result = OPI_YandexMarket.GetCampaignSettings(Token, CampaignID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetCampaignSettings", "YandexMarket");
|
||||
OPI_TestDataRetrieval.Check_Map(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -66,6 +66,7 @@ Function GetTestingSectionMapping() Export
|
||||
Sections.Insert("Ozon" , 5);
|
||||
Sections.Insert("Neocities" , 5);
|
||||
Sections.Insert("CDEK" , 5);
|
||||
Sections.Insert("YandexMarket" , 5);
|
||||
|
||||
Return Sections;
|
||||
|
||||
@ -95,6 +96,7 @@ Function GetTestingSectionMappingGA() Export
|
||||
Sections.Insert("Ozon" , StandardDependencies);
|
||||
Sections.Insert("Neocities" , StandardDependencies);
|
||||
Sections.Insert("CDEK" , StandardDependencies);
|
||||
Sections.Insert("YandexMarket" , StandardDependencies);
|
||||
|
||||
Return Sections;
|
||||
|
||||
@ -120,6 +122,7 @@ Function GetTestTable() Export
|
||||
Ozon = "Ozon";
|
||||
Neocities = "Neocities";
|
||||
Cdek = "CDEK";
|
||||
YaMarket = "YandexMarket";
|
||||
|
||||
TestTable = New ValueTable;
|
||||
TestTable.Columns.Add("Method");
|
||||
@ -246,6 +249,8 @@ 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);
|
||||
|
||||
Return TestTable;
|
||||
|
||||
@ -1907,6 +1912,33 @@ Procedure Check_CdekCheck(Val Result) Export
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_YaMarketMarkets(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["campaigns"]).ИмеетТип("Array");
|
||||
ExpectsThat(Result["pager"]).ИмеетТип("Map").Заполнено();
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_YaMarketCampaign(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["campaign"]).ИмеетТип("Map");
|
||||
ExpectsThat(Result["campaign"]["id"]).Заполнено();
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_YaMarketBusiness(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["result"]["settings"]).ИмеетТип("Map").Заполнено();
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_YaMarketOk(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["status"]).Равно("OK");
|
||||
ExpectsThat(Result["results"]).Равно(Undefined);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -66,6 +66,7 @@ Function GetTestingSectionMapping() Export
|
||||
Sections.Insert("Ozon" , 5);
|
||||
Sections.Insert("Neocities" , 5);
|
||||
Sections.Insert("CDEK" , 5);
|
||||
Sections.Insert("YandexMarket" , 5);
|
||||
|
||||
Return Sections;
|
||||
|
||||
@ -95,6 +96,7 @@ Function GetTestingSectionMappingGA() Export
|
||||
Sections.Insert("Ozon" , StandardDependencies);
|
||||
Sections.Insert("Neocities" , StandardDependencies);
|
||||
Sections.Insert("CDEK" , StandardDependencies);
|
||||
Sections.Insert("YandexMarket" , StandardDependencies);
|
||||
|
||||
Return Sections;
|
||||
|
||||
@ -120,6 +122,7 @@ Function GetTestTable() Export
|
||||
Ozon = "Ozon";
|
||||
Neocities = "Neocities";
|
||||
Cdek = "CDEK";
|
||||
YaMarket = "YandexMarket";
|
||||
|
||||
TestTable = New ValueTable;
|
||||
TestTable.Columns.Add("Method");
|
||||
@ -246,6 +249,8 @@ 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);
|
||||
|
||||
Return TestTable;
|
||||
|
||||
@ -1907,6 +1912,33 @@ Procedure Check_CdekCheck(Val Result) Export
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_YaMarketMarkets(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["campaigns"]).ИмеетТип("Array");
|
||||
ExpectsThat(Result["pager"]).ИмеетТип("Map").Заполнено();
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_YaMarketCampaign(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["campaign"]).ИмеетТип("Map");
|
||||
ExpectsThat(Result["campaign"]["id"]).Заполнено();
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_YaMarketBusiness(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["result"]["settings"]).ИмеетТип("Map").Заполнено();
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_YaMarketOk(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["status"]).Равно("OK");
|
||||
ExpectsThat(Result["results"]).Равно(Undefined);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -2068,6 +2068,36 @@ EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region YandexMarket
|
||||
|
||||
Procedure YaMarket_CampaignsAndBusiness() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Campaign", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Business", 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);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
@ -14309,6 +14339,140 @@ EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region YandexMarket
|
||||
|
||||
Procedure YandexMarket_GetMarketsList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YMarket_Token"];
|
||||
|
||||
Result = OPI_YandexMarket.GetMarketsList(Token);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetMarketsList", "YandexMarket");
|
||||
OPI_TestDataRetrieval.Check_YaMarketMarkets(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMarket_GetMarket(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YMarket_Token"];
|
||||
CampaignID = FunctionParameters["YMarket_Campaign"];
|
||||
|
||||
Result = OPI_YandexMarket.GetMarket(Token, CampaignID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetMarket", "YandexMarket");
|
||||
OPI_TestDataRetrieval.Check_Map(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMarket_GetBusinessSettings(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YMarket_Token"];
|
||||
AccountID = FunctionParameters["YMarket_Business"];
|
||||
|
||||
Result = OPI_YandexMarket.GetBusinessSettings(Token, AccountID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetMarket", "YandexMarket");
|
||||
OPI_TestDataRetrieval.Check_YaMarketBusiness(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMarket_GetCampaignSettings(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YMarket_Token"];
|
||||
CampaignID = FunctionParameters["YMarket_Campaign"];
|
||||
|
||||
Result = OPI_YandexMarket.GetCampaignSettings(Token, CampaignID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetCampaignSettings", "YandexMarket");
|
||||
OPI_TestDataRetrieval.Check_Map(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMarket_AddUpdateProducts(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YMarket_Token"];
|
||||
AccountID = FunctionParameters["YMarket_Business"];
|
||||
Image = FunctionParameters["Picture"];
|
||||
Video = FunctionParameters["Video"];
|
||||
|
||||
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);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "AddUpdateProducts", "YandexMarket");
|
||||
OPI_TestDataRetrieval.Check_YaMarketOk(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -2064,6 +2064,24 @@ EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region YandexMarket
|
||||
|
||||
Procedure CLI_YaMarket_CampaignsAndBusiness() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Campaign", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YMarket_Business", TestParameters);
|
||||
|
||||
CLI_YandexMarket_GetMarketsList(TestParameters);
|
||||
CLI_YandexMarket_GetMarket(TestParameters);
|
||||
CLI_YandexMarket_GetBusinessSettings(TestParameters);
|
||||
CLI_YandexMarket_GetCampaignSettings(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
@ -16280,6 +16298,65 @@ EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region YandexMarket
|
||||
|
||||
Procedure CLI_YandexMarket_GetMarketsList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YMarket_Token"];
|
||||
|
||||
Result = OPI_YandexMarket.GetMarketsList(Token);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetMarketsList", "YandexMarket");
|
||||
OPI_TestDataRetrieval.Check_YaMarketMarkets(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_YandexMarket_GetMarket(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YMarket_Token"];
|
||||
CampaignID = FunctionParameters["YMarket_Campaign"];
|
||||
|
||||
Result = OPI_YandexMarket.GetMarket(Token, CampaignID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetMarket", "YandexMarket");
|
||||
OPI_TestDataRetrieval.Check_Map(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_YandexMarket_GetBusinessSettings(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YMarket_Token"];
|
||||
AccountID = FunctionParameters["YMarket_Business"];
|
||||
|
||||
Result = OPI_YandexMarket.GetBusinessSettings(Token, AccountID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetMarket", "YandexMarket");
|
||||
OPI_TestDataRetrieval.Check_YaMarketBusiness(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_YandexMarket_GetCampaignSettings(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YMarket_Token"];
|
||||
CampaignID = FunctionParameters["YMarket_Campaign"];
|
||||
|
||||
Result = OPI_YandexMarket.GetCampaignSettings(Token, CampaignID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetCampaignSettings", "YandexMarket");
|
||||
OPI_TestDataRetrieval.Check_Map(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
323
src/en/OPI/src/CommonModules/OPI_YandexMarket/Module.bsl
Normal file
323
src/en/OPI/src/CommonModules/OPI_YandexMarket/Module.bsl
Normal file
@ -0,0 +1,323 @@
|
||||
// OneScript: ./OInt/core/Modules/OPI_YandexMarket.os
|
||||
// Lib: Yandex Market
|
||||
// CLI: yamarket
|
||||
|
||||
// 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 CampaignsAndBusiness
|
||||
|
||||
// Get markets list
|
||||
// Gets the list of shops in the cabinet by token
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [List of users shops](@yandex.ru/dev/market/partner-api/doc/ru/reference/campaigns/getCampaigns)
|
||||
//
|
||||
// Parameters:
|
||||
// Token - String - Authorisation token (Api-Key) - token
|
||||
// Page - Number - Issue page number of the list - page
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from Yandex Market
|
||||
Function GetMarketsList(Val Token, Val Page = 1) Export
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/campaigns";
|
||||
Headers = CreateRequestHeaders(Token);
|
||||
|
||||
PageSize = 100;
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("page" , Page , "Number", Parameters);
|
||||
OPI_Tools.AddField("pageSize", PageSize, "Number", Parameters);
|
||||
|
||||
Response = OPI_Tools.Get(URL, Parameters, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get market
|
||||
// Gets information about a market (campaign) by ID
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [Market information](@yandex.ru/dev/market/partner-api/doc/ru/reference/campaigns/getCampaign)
|
||||
//
|
||||
// Parameters:
|
||||
// Token - String - Authorisation token (Api-Key) - token
|
||||
// CampaignID - String, Number - Market ID (campaignsId) - campaign
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from Yandex Market
|
||||
Function GetMarket(Val Token, Val CampaignID) Export
|
||||
|
||||
OPI_TypeConversion.GetLine(CampaignID);
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/campaigns/" + CampaignID;
|
||||
Headers = CreateRequestHeaders(Token);
|
||||
|
||||
Response = OPI_Tools.Get(URL, , Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get business settings
|
||||
// Gets the values of cabinet (business) settings by ID
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [Cabinet settings](@yandex.ru/dev/market/partner-api/doc/ru/reference/businesses/getBusinessSettings)
|
||||
//
|
||||
// Parameters:
|
||||
// Token - String - Authorisation token (Api-Key) - token
|
||||
// AccountID - String, Number - Business ID - business
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from Yandex Market
|
||||
Function GetBusinessSettings(Val Token, Val AccountID) Export
|
||||
|
||||
OPI_TypeConversion.GetLine(AccountID);
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/businesses/%1/settings";
|
||||
URL = StrTemplate(URL, AccountID);
|
||||
Headers = CreateRequestHeaders(Token);
|
||||
|
||||
Response = OPI_Tools.Post(URL, , Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get campaign settings
|
||||
// Gets market (campaign) settings by ID
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [Market settings](@yandex.ru/dev/market/partner-api/doc/ru/reference/campaigns/getCampaignSettings)
|
||||
//
|
||||
// Parameters:
|
||||
// Token - String - Authorisation token (Api-Key) - token
|
||||
// CampaignID - String, Number - Market ID (campaignsId) - campaign
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from Yandex Market
|
||||
Function GetCampaignSettings(Val Token, Val CampaignID) Export
|
||||
|
||||
OPI_TypeConversion.GetLine(CampaignID);
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/campaigns/%1/settings";
|
||||
URL = StrTemplate(URL, CampaignID);
|
||||
Headers = CreateRequestHeaders(Token);
|
||||
|
||||
Response = OPI_Tools.Get(URL, , Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region ProductManagement
|
||||
|
||||
// Add update products
|
||||
// Adds or updates product information in the catalogue
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [Adding products to the catalogue and changing information about them](@yandex.ru/dev/market/partner-api/doc/ru/reference/business-assortment/updateOfferMappings)
|
||||
//
|
||||
// Parameters:
|
||||
// Token - String - Authorisation token (Api-Key) - token
|
||||
// AccountID - String, Number - Business ID - business
|
||||
// ProductsArray - Structure, Array of Structure - Array of product descriptions - offers
|
||||
// OwnImages - Boolean - A flag of using only your own product images - pmedia
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - serialized JSON response from Yandex Market
|
||||
Function AddUpdateProducts(Val Token, Val AccountID, Val ProductsArray, Val OwnImages = False) Export
|
||||
|
||||
OPI_TypeConversion.GetLine(AccountID);
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/businesses/%1/offer-mappings/update";
|
||||
URL = StrTemplate(URL, AccountID);
|
||||
Headers = CreateRequestHeaders(Token);
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("offerMappings" , ProductsArray , "Array" , Parameters);
|
||||
OPI_Tools.AddField("onlyPartnerMediaContent", OwnImages , "Boolean", Parameters);
|
||||
|
||||
Response = OPI_Tools.Post(URL, Parameters, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get product structure
|
||||
// Gets the structure of product standard fields
|
||||
//
|
||||
// Note
|
||||
// Description in the API documentation: [UpdateOfferDTO](@https://yandex.ru/dev/market/partner-api/doc/ru/reference/business-assortment/updateOfferMappings#updateofferdto)
|
||||
//
|
||||
// Parameters:
|
||||
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
|
||||
//
|
||||
// Returns:
|
||||
// Structure of KeyAndValue - Product fields structure
|
||||
Function GetProductStructure(Val Clear = False) Export
|
||||
|
||||
OPI_TypeConversion.GetBoolean(Clear);
|
||||
|
||||
ItemStructure = New Structure;
|
||||
ItemStructure.Insert("offerId", "<item ID in your system>");
|
||||
|
||||
ExpenseStructure = New Structure;
|
||||
ExpenseStructure.Insert("currencyId" , "<Currency code>");
|
||||
ExpenseStructure.Insert("value" , "<additional costs>");
|
||||
|
||||
ItemStructure.Insert("additionalExpenses", ExpenseStructure);
|
||||
ItemStructure.Insert("adult" , "<parameter includes mark for the product 18+>");
|
||||
|
||||
AgeStructure = New Structure;
|
||||
AgeStructure.Insert("ageUnit", "<unit: YEAR, MONTH>");
|
||||
AgeStructure.Insert("value" , "<age limit>");
|
||||
|
||||
ItemStructure.Insert("age", AgeStructure);
|
||||
|
||||
BarcodesArray = New Array;
|
||||
BarcodesArray.Add("<barcode>");
|
||||
|
||||
ItemStructure.Insert("barcodes", BarcodesArray);
|
||||
|
||||
BasePriceStructure = New Structure;
|
||||
BasePriceStructure.Insert("currencyId" , "<Currency code>");
|
||||
BasePriceStructure.Insert("value" , "<price>");
|
||||
BasePriceStructure.Insert("discountBase", "<pre-discount price>");
|
||||
|
||||
ItemStructure.Insert("basicPrice", BasePriceStructure);
|
||||
ItemStructure.Insert("boxCount" , "<number of cargo spaces>");
|
||||
ItemStructure.Insert("category" , "<product category in your shop>");
|
||||
|
||||
CertificatesArray = New Array;
|
||||
CertificatesArray.Add("<item document number>");
|
||||
|
||||
ItemStructure.Insert("certificates", CertificatesArray);
|
||||
|
||||
PriceForDiscountsStructure = New Structure;
|
||||
PriceForDiscountsStructure.Insert("currencyId" , "<Currency code>");
|
||||
PriceForDiscountsStructure.Insert("value" , "<price>");
|
||||
|
||||
ItemStructure.Insert("cofinancePrice", PriceForDiscountsStructure);
|
||||
|
||||
StateStructure = New Structure;
|
||||
StateStructure.Insert("quality", "<product appearance>");
|
||||
StateStructure.Insert("reason" , "<defect description>");
|
||||
StateStructure.Insert("type" , "<discount type>");
|
||||
|
||||
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>");
|
||||
|
||||
ManualsArray = New Array;
|
||||
ManualsArray.Add("<manual>");
|
||||
|
||||
ItemStructure.Insert("manuals", ManualsArray);
|
||||
|
||||
CountriesArray = New Array;
|
||||
CountriesArray.Add("<country of manufacture>");
|
||||
|
||||
ItemStructure.Insert("manufacturerCountries", CountriesArray);
|
||||
ItemStructure.Insert("marketCategoryId" , "<category identifier on the Market>");
|
||||
ItemStructure.Insert("name" , "<product name>");
|
||||
|
||||
AttributesArray = New Array;
|
||||
AttributesArray.Add("<feature>");
|
||||
|
||||
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>");
|
||||
|
||||
TagsArray = New Array;
|
||||
TagsArray.Add("<tag>");
|
||||
|
||||
ItemStructure.Insert("tags" , TagsArray);
|
||||
ItemStructure.Insert("type" , "<specific product type>");
|
||||
ItemStructure.Insert("vendor" , "<brand or manufacturer name>");
|
||||
ItemStructure.Insert("vendorCode", "<manufacturers item number>");
|
||||
|
||||
VideosArray = New Array;
|
||||
VideosArray.Add("<video URL>");
|
||||
|
||||
ItemStructure.Insert("videos" , VideosArray);
|
||||
ItemStructure.Insert("weightDimensions", "<product dimensions and weight>");
|
||||
|
||||
If Clear Then
|
||||
ItemStructure = OPI_Tools.ClearCollectionRecursively(ItemStructure);
|
||||
EndIf;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return ItemStructure;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Private
|
||||
|
||||
Function CreateRequestHeaders(Val Token)
|
||||
|
||||
OPI_TypeConversion.GetLine(Token);
|
||||
|
||||
Headers = New Map;
|
||||
Headers.Insert("Api-Key", Token);
|
||||
Return Headers;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="7c183b97-38f5-4fe6-a19f-c5af2ab85875">
|
||||
<name>OPI_YandexMarket</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Yandex Market (OpenIntegrations)</value>
|
||||
</synonym>
|
||||
<server>true</server>
|
||||
<externalConnection>true</externalConnection>
|
||||
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
||||
</mdclass:CommonModule>
|
@ -62,6 +62,7 @@
|
||||
<commonModules>CommonModule.OPI_Ozon</commonModules>
|
||||
<commonModules>CommonModule.OPI_Neocities</commonModules>
|
||||
<commonModules>CommonModule.OPI_CDEK</commonModules>
|
||||
<commonModules>CommonModule.OPI_YandexMarket</commonModules>
|
||||
<commonModules>CommonModule.OPI_Tests</commonModules>
|
||||
<commonModules>CommonModule.OPI_TestsCLI</commonModules>
|
||||
<commonModules>CommonModule.OPI_TestDataRetrieval</commonModules>
|
||||
|
150
src/en/cli/data/Classes/internal/Classes/yamarket.os
Normal file
150
src/en/cli/data/Classes/internal/Classes/yamarket.os
Normal file
@ -0,0 +1,150 @@
|
||||
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.Библиотека = "yamarket";
|
||||
NewLine.Модуль = "OPI_YandexMarket";
|
||||
NewLine.Метод = "GetMarketsList";
|
||||
NewLine.МетодПоиска = "GETMARKETSLIST";
|
||||
NewLine.Параметр = "--Key)";
|
||||
NewLine.Описание = "token";
|
||||
NewLine.Область = "Campaigns and business";
|
||||
NewLine.ОписаниеМетода = "Gets the list of shops in the cabinet by token";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "yamarket";
|
||||
NewLine.Модуль = "OPI_YandexMarket";
|
||||
NewLine.Метод = "GetMarketsList";
|
||||
NewLine.МетодПоиска = "GETMARKETSLIST";
|
||||
NewLine.Параметр = "--page";
|
||||
NewLine.Описание = "Issue page number of the list (optional, def. val. - 1)";
|
||||
NewLine.Область = "Campaigns and business";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "yamarket";
|
||||
NewLine.Модуль = "OPI_YandexMarket";
|
||||
NewLine.Метод = "GetMarket";
|
||||
NewLine.МетодПоиска = "GETMARKET";
|
||||
NewLine.Параметр = "--Key)";
|
||||
NewLine.Описание = "token";
|
||||
NewLine.Область = "Campaigns and business";
|
||||
NewLine.ОписаниеМетода = "Gets information about a market (campaign) by ID";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "yamarket";
|
||||
NewLine.Модуль = "OPI_YandexMarket";
|
||||
NewLine.Метод = "GetMarket";
|
||||
NewLine.МетодПоиска = "GETMARKET";
|
||||
NewLine.Параметр = "--campaign";
|
||||
NewLine.Описание = "Market ID (campaignsId)";
|
||||
NewLine.Область = "Campaigns and business";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "yamarket";
|
||||
NewLine.Модуль = "OPI_YandexMarket";
|
||||
NewLine.Метод = "GetBusinessSettings";
|
||||
NewLine.МетодПоиска = "GETBUSINESSSETTINGS";
|
||||
NewLine.Параметр = "--Key)";
|
||||
NewLine.Описание = "token";
|
||||
NewLine.Область = "Campaigns and business";
|
||||
NewLine.ОписаниеМетода = "Gets the values of cabinet (business) settings by ID";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "yamarket";
|
||||
NewLine.Модуль = "OPI_YandexMarket";
|
||||
NewLine.Метод = "GetBusinessSettings";
|
||||
NewLine.МетодПоиска = "GETBUSINESSSETTINGS";
|
||||
NewLine.Параметр = "--business";
|
||||
NewLine.Описание = "Business ID";
|
||||
NewLine.Область = "Campaigns and business";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "yamarket";
|
||||
NewLine.Модуль = "OPI_YandexMarket";
|
||||
NewLine.Метод = "GetCampaignSettings";
|
||||
NewLine.МетодПоиска = "GETCAMPAIGNSETTINGS";
|
||||
NewLine.Параметр = "--Key)";
|
||||
NewLine.Описание = "token";
|
||||
NewLine.Область = "Campaigns and business";
|
||||
NewLine.ОписаниеМетода = "Gets market (campaign) settings by ID";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "yamarket";
|
||||
NewLine.Модуль = "OPI_YandexMarket";
|
||||
NewLine.Метод = "GetCampaignSettings";
|
||||
NewLine.МетодПоиска = "GETCAMPAIGNSETTINGS";
|
||||
NewLine.Параметр = "--campaign";
|
||||
NewLine.Описание = "Market ID (campaignsId)";
|
||||
NewLine.Область = "Campaigns and business";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "yamarket";
|
||||
NewLine.Модуль = "OPI_YandexMarket";
|
||||
NewLine.Метод = "AddUpdateProducts";
|
||||
NewLine.МетодПоиска = "ADDUPDATEPRODUCTS";
|
||||
NewLine.Параметр = "--Key)";
|
||||
NewLine.Описание = "token";
|
||||
NewLine.Область = "Product management";
|
||||
NewLine.ОписаниеМетода = "Adds or updates product information in the catalogue";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "yamarket";
|
||||
NewLine.Модуль = "OPI_YandexMarket";
|
||||
NewLine.Метод = "AddUpdateProducts";
|
||||
NewLine.МетодПоиска = "ADDUPDATEPRODUCTS";
|
||||
NewLine.Параметр = "--business";
|
||||
NewLine.Описание = "Business ID";
|
||||
NewLine.Область = "Product management";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "yamarket";
|
||||
NewLine.Модуль = "OPI_YandexMarket";
|
||||
NewLine.Метод = "AddUpdateProducts";
|
||||
NewLine.МетодПоиска = "ADDUPDATEPRODUCTS";
|
||||
NewLine.Параметр = "--offers";
|
||||
NewLine.Описание = "Array of product descriptions";
|
||||
NewLine.Область = "Product management";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "yamarket";
|
||||
NewLine.Модуль = "OPI_YandexMarket";
|
||||
NewLine.Метод = "AddUpdateProducts";
|
||||
NewLine.МетодПоиска = "ADDUPDATEPRODUCTS";
|
||||
NewLine.Параметр = "--pmedia";
|
||||
NewLine.Описание = "A flag of using only your own product images (optional, def. val. - No)";
|
||||
NewLine.Область = "Product management";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "yamarket";
|
||||
NewLine.Модуль = "OPI_YandexMarket";
|
||||
NewLine.Метод = "GetProductStructure";
|
||||
NewLine.МетодПоиска = "GETPRODUCTSTRUCTURE";
|
||||
NewLine.Параметр = "--empty";
|
||||
NewLine.Описание = "True > structure with empty valuse, False > field descriptions at values (optional, def. val. - No)";
|
||||
NewLine.Область = "Product management";
|
||||
NewLine.ОписаниеМетода = "Gets the structure of product standard fields";
|
||||
|
||||
Return CompositionTable;
|
||||
EndFunction
|
||||
|
@ -26,6 +26,7 @@
|
||||
СоответствиеКомандМодулей.Вставить("vkteams", "OPI_VKTeams");
|
||||
СоответствиеКомандМодулей.Вставить("yadisk", "OPI_YandexDisk");
|
||||
СоответствиеКомандМодулей.Вставить("yandex", "OPI_YandexID");
|
||||
СоответствиеКомандМодулей.Вставить("yamarket", "OPI_YandexMarket");
|
||||
Возврат СоответствиеКомандМодулей;
|
||||
КонецФункции
|
||||
|
||||
|
@ -50,105 +50,105 @@
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [Список магазинов пользователя](@yandex.ru/dev/market/partner-api/doc/ru/reference/campaigns/getCampaigns)
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации (Api-Key) - token
|
||||
// Страница - Число - Номер страницы выдачи списка - page
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex Market
|
||||
Функция ПолучитьСписокМагазинов(Знач Токен, Знач Страница = 1) Экспорт
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/campaigns";
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
|
||||
РазмерСтраницы = 100;
|
||||
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("page" , Страница , "Число", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("pageSize", РазмерСтраницы, "Число", Параметры);
|
||||
|
||||
|
||||
Ответ = OPI_Инструменты.Get(URL, Параметры, Заголовки);
|
||||
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить магазин
|
||||
// Получает информацию о магазине (кампании) по ID
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [Информация о магазине](@yandex.ru/dev/market/partner-api/doc/ru/reference/campaigns/getCampaign)
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации (Api-Key) - token
|
||||
// IDМагазина - Строка, Число - ID магазина (кампании) - campaign
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex Market
|
||||
Функция ПолучитьМагазин(Знач Токен, Знач IDМагазина) Экспорт
|
||||
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDМагазина);
|
||||
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/campaigns/" + IDМагазина;
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
|
||||
Ответ = OPI_Инструменты.Get(URL, , Заголовки);
|
||||
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить настройки кабинета
|
||||
// Получает значения настроек кабинета по ID
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [Настройки кабинета](@yandex.ru/dev/market/partner-api/doc/ru/reference/businesses/getBusinessSettings)
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации (Api-Key) - token
|
||||
// IDКабинета - Строка, Число - ID кабинета - business
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex Market
|
||||
Функция ПолучитьНастройкиКабинета(Знач Токен, Знач IDКабинета) Экспорт
|
||||
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDКабинета);
|
||||
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/businesses/%1/settings";
|
||||
URL = СтрШаблон(URL, IDКабинета);
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, , Заголовки);
|
||||
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить настройки магазина
|
||||
// Получает настройки магазина по ID
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [Настройки магазина](@yandex.ru/dev/market/partner-api/doc/ru/reference/campaigns/getCampaignSettings)
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации (Api-Key) - token
|
||||
// IDМагазина - Строка, Число - ID магазина (кампании) - campaign
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex Market
|
||||
Функция ПолучитьНастройкиМагазина(Знач Токен, Знач IDМагазина) Экспорт
|
||||
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDМагазина);
|
||||
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/campaigns/%1/settings";
|
||||
URL = СтрШаблон(URL, IDМагазина);
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
|
||||
Ответ = OPI_Инструменты.Get(URL, , Заголовки);
|
||||
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@ -157,34 +157,34 @@
|
||||
|
||||
// Добавить обновить товары
|
||||
// Добавляет или обновляет информацию о товарах в каталоге
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [Добавление товаров в каталог и изменение информации о них](@yandex.ru/dev/market/partner-api/doc/ru/reference/business-assortment/updateOfferMappings)
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации (Api-Key) - token
|
||||
// IDКабинета - Строка, Число - ID кабинета - business
|
||||
// МассивТоваров - Структура, Массив Из Структура - Массив описаний товаров - offers
|
||||
// СвоиИзображения - Булево - Признак использования только своих изображений товаров - pmedia
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex Market
|
||||
Функция ДобавитьОбновитьТовары(Знач Токен, Знач IDКабинета, Знач МассивТоваров, Знач СвоиИзображения = Ложь) Экспорт
|
||||
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDКабинета);
|
||||
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/businesses/%1/offer-mappings/update";
|
||||
URL = СтрШаблон(URL, IDКабинета);
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("offerMappings" , МассивТоваров , "Массив", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("onlyPartnerMediaContent", СвоиИзображения, "Булево", Параметры);
|
||||
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру товара
|
||||
@ -204,95 +204,95 @@
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("offerId", "<идентификатор товара в вашей системе>");
|
||||
|
||||
|
||||
СтруктураРасходов = Новый Структура;
|
||||
СтруктураРасходов.Вставить("currencyId" , "<код валюты>");
|
||||
СтруктураРасходов.Вставить("value" , "<доп. расходы>");
|
||||
|
||||
|
||||
СтруктураТовара.Вставить("additionalExpenses", СтруктураРасходов);
|
||||
СтруктураТовара.Вставить("adult" , "<параметр включает для товара пометку 18+>");
|
||||
|
||||
|
||||
СтруктураВозраста = Новый Структура;
|
||||
СтруктураВозраста.Вставить("ageUnit", "<единица измерения: YEAR, MONTH>");
|
||||
СтруктураВозраста.Вставить("value" , "<возврастное ограничение>");
|
||||
|
||||
СтруктураВозраста.Вставить("value" , "<возрастное ограничение>");
|
||||
|
||||
СтруктураТовара.Вставить("age", СтруктураВозраста);
|
||||
|
||||
|
||||
МассивШтрихкодов = Новый Массив;
|
||||
МассивШтрихкодов.Добавить("<штрихкод>");
|
||||
|
||||
|
||||
СтруктураТовара.Вставить("barcodes", МассивШтрихкодов);
|
||||
|
||||
|
||||
СтруктураБазовойЦены = Новый Структура;
|
||||
СтруктураБазовойЦены.Вставить("currencyId" , "<код валюты>");
|
||||
СтруктураБазовойЦены.Вставить("value" , "<цена>");
|
||||
СтруктураБазовойЦены.Вставить("discountBase", "<цена до скидки>");
|
||||
|
||||
|
||||
СтруктураТовара.Вставить("basicPrice", СтруктураБазовойЦены);
|
||||
СтруктураТовара.Вставить("boxCount", "<количество грузовых мест>");
|
||||
СтруктураТовара.Вставить("category", "<категория товара в вашем магазине>");
|
||||
|
||||
СтруктураТовара.Вставить("boxCount" , "<количество грузовых мест>");
|
||||
СтруктураТовара.Вставить("category" , "<категория товара в вашем магазине>");
|
||||
|
||||
МассивСертификатов = Новый Массив;
|
||||
МассивСертификатов.Добавить("<номер документа на товар>");
|
||||
|
||||
|
||||
СтруктураТовара.Вставить("certificates", МассивСертификатов);
|
||||
|
||||
|
||||
СтруктураЦеныДляСкидок = Новый Структура;
|
||||
СтруктураЦеныДляСкидок.Вставить("currencyId" , "<код валюты>");
|
||||
СтруктураЦеныДляСкидок.Вставить("value" , "<цена>");
|
||||
|
||||
|
||||
СтруктураТовара.Вставить("cofinancePrice", СтруктураЦеныДляСкидок);
|
||||
|
||||
|
||||
СтруктураСостояния = Новый Структура;
|
||||
СтруктураСостояния.Вставить("quality", "<внешний вид товара>");
|
||||
СтруктураСостояния.Вставить("reason" , "<описание дефектов>");
|
||||
СтруктураСостояния.Вставить("type" , "<тип уценки>");
|
||||
|
||||
|
||||
СтруктураТовара.Вставить("condition", СтруктураСостояния);
|
||||
|
||||
|
||||
// TODO: Доописать
|
||||
СтруктураТовара.Вставить("customsCommodityCode", "<код товара ТН ВЭД>");
|
||||
СтруктураТовара.Вставить("description", "<подробное описание товара>");
|
||||
СтруктураТовара.Вставить("downloadable", "<признак цифрового товара>");
|
||||
СтруктураТовара.Вставить("guaranteePeriod", "<гарантийный срок>");
|
||||
СтруктураТовара.Вставить("lifeTime", "<срок службы>");
|
||||
|
||||
|
||||
МассивРуководств = Новый Массив;
|
||||
МассивРуководств.Добавить("<руководство>");
|
||||
|
||||
|
||||
СтруктураТовара.Вставить("manuals", МассивРуководств);
|
||||
|
||||
|
||||
МассивСтран = Новый Массив;
|
||||
МассивСтран.Добавить("<страна производства>");
|
||||
|
||||
|
||||
СтруктураТовара.Вставить("manufacturerCountries", МассивСтран);
|
||||
СтруктураТовара.Вставить("marketCategoryId", "<идентификатор категории на Маркете>");
|
||||
СтруктураТовара.Вставить("name", "<имя товара>");
|
||||
|
||||
СтруктураТовара.Вставить("marketCategoryId" , "<идентификатор категории на Маркете>");
|
||||
СтруктураТовара.Вставить("name" , "<имя товара>");
|
||||
|
||||
МассивХарактеристик = Новый Массив;
|
||||
МассивХарактеристик.Добавить("<характеристика>");
|
||||
|
||||
|
||||
СтруктураТовара.Вставить("parameterValues", МассивХарактеристик);
|
||||
|
||||
|
||||
МассивКартинок = Новый Массив;
|
||||
МассивКартинок.Добавить("<ссылка на картинку товара>");
|
||||
|
||||
СтруктураТовара.Вставить("pictures", МассивКартинок);
|
||||
|
||||
СтруктураТовара.Вставить("pictures" , МассивКартинок);
|
||||
СтруктураТовара.Вставить("purchasePrice", "<себестоимость>");
|
||||
СтруктураТовара.Вставить("shelfLife", "<срок годности>");
|
||||
|
||||
СтруктураТовара.Вставить("shelfLife" , "<срок годности>");
|
||||
|
||||
МассивТэгов = Новый Массив;
|
||||
МассивТэгов.Добавить("<метка>");
|
||||
|
||||
СтруктураТовара.Вставить("tags", МассивТэгов);
|
||||
СтруктураТовара.Вставить("type", "<особый тип товара>");
|
||||
СтруктураТовара.Вставить("vendor", "<название бренда или производителя>");
|
||||
|
||||
СтруктураТовара.Вставить("tags" , МассивТэгов);
|
||||
СтруктураТовара.Вставить("type" , "<особый тип товара>");
|
||||
СтруктураТовара.Вставить("vendor" , "<название бренда или производителя>");
|
||||
СтруктураТовара.Вставить("vendorCode", "<артикул товара от производителя>");
|
||||
|
||||
|
||||
МассивВидео = Новый Массив;
|
||||
МассивВидео.Добавить("<ссылка на видео>");
|
||||
|
||||
СтруктураТовара.Вставить("videos", МассивВидео);
|
||||
|
||||
СтруктураТовара.Вставить("videos" , МассивВидео);
|
||||
СтруктураТовара.Вставить("weightDimensions", "<габариты и вес товара>");
|
||||
|
||||
Если Пустая Тогда
|
||||
|
@ -2076,7 +2076,7 @@
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Token" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Campaign", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Business", ПараметрыТеста);
|
||||
|
||||
|
||||
YandexMarket_ПолучитьСписокМагазинов(ПараметрыТеста);
|
||||
YandexMarket_ПолучитьМагазин(ПараметрыТеста);
|
||||
YandexMarket_ПолучитьНастройкиКабинета(ПараметрыТеста);
|
||||
@ -2091,9 +2091,9 @@
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Business", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Video" , ПараметрыТеста);
|
||||
|
||||
|
||||
YandexMarket_ДобавитьОбновитьТовары(ПараметрыТеста);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@ -13262,7 +13262,7 @@
|
||||
// OPI_ПолучениеДанныхТестов.Проверка_ОзонЗаданиеЗагрузки(Результат);
|
||||
|
||||
// IDЗадания = Результат["result"]["task_id"];
|
||||
|
||||
|
||||
IDЗадания = 1;
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Ozon_CodesTaskID", IDЗадания);
|
||||
ПараметрыФункции.Вставить("Ozon_CodesTaskID", IDЗадания);
|
||||
@ -14342,116 +14342,116 @@
|
||||
#Область 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" , СтруктураПериода);
|
||||
@ -14459,16 +14459,16 @@
|
||||
СтруктураТовара.Вставить("type" , "DEFAULT");
|
||||
СтруктураТовара.Вставить("downloadable" , Ложь);
|
||||
СтруктураТовара.Вставить("adult" , Ложь);
|
||||
|
||||
|
||||
СтруктураОбновления.Вставить("offer", СтруктураТовара);
|
||||
|
||||
|
||||
Результат = OPI_YandexMarket.ДобавитьОбновитьТовары(Токен, IDКабинета, СтруктураОбновления);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьОбновитьТовары", "YandexMarket");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ЯМаркетОк(Результат);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -2072,7 +2072,7 @@
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Token" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Campaign", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Business", ПараметрыТеста);
|
||||
|
||||
|
||||
CLI_YandexMarket_ПолучитьСписокМагазинов(ПараметрыТеста);
|
||||
CLI_YandexMarket_ПолучитьМагазин(ПараметрыТеста);
|
||||
CLI_YandexMarket_ПолучитьНастройкиКабинета(ПараметрыТеста);
|
||||
@ -16301,58 +16301,58 @@
|
||||
#Область YandexMarket
|
||||
|
||||
Процедура CLI_YandexMarket_ПолучитьСписокМагазинов(ПараметрыФункции)
|
||||
|
||||
|
||||
Токен = ПараметрыФункции["YMarket_Token"];
|
||||
|
||||
|
||||
Результат = OPI_YandexMarket.ПолучитьСписокМагазинов(Токен);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокМагазинов", "YandexMarket");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ЯМаркетМагазины(Результат);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_YandexMarket_ПолучитьМагазин(ПараметрыФункции)
|
||||
|
||||
|
||||
Токен = ПараметрыФункции["YMarket_Token"];
|
||||
IDМагазина = ПараметрыФункции["YMarket_Campaign"];
|
||||
|
||||
|
||||
Результат = OPI_YandexMarket.ПолучитьМагазин(Токен, IDМагазина);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьМагазин", "YandexMarket");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_YandexMarket_ПолучитьНастройкиКабинета(ПараметрыФункции)
|
||||
|
||||
|
||||
Токен = ПараметрыФункции["YMarket_Token"];
|
||||
IDКабинета = ПараметрыФункции["YMarket_Business"];
|
||||
|
||||
|
||||
Результат = OPI_YandexMarket.ПолучитьНастройкиКабинета(Токен, IDКабинета);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьМагазин", "YandexMarket");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ЯМаркетКабинет(Результат);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_YandexMarket_ПолучитьНастройкиМагазина(ПараметрыФункции)
|
||||
|
||||
|
||||
Токен = ПараметрыФункции["YMarket_Token"];
|
||||
IDМагазина = ПараметрыФункции["YMarket_Campaign"];
|
||||
|
||||
|
||||
Результат = OPI_YandexMarket.ПолучитьНастройкиМагазина(Токен, IDМагазина);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьНастройкиМагазина", "YandexMarket");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -1913,30 +1913,30 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ЯМаркетМагазины(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["campaigns"]).ИмеетТип("Массив");
|
||||
ОжидаетЧто(Результат["pager"]).ИмеетТип("Соответствие").Заполнено();
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ЯМаркетМагазин(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["campaign"]).ИмеетТип("Соответствие");
|
||||
ОжидаетЧто(Результат["campaign"]["id"]).Заполнено();
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ЯМаркетКабинет(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["result"]["settings"]).ИмеетТип("Соответствие").Заполнено();
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ЯМаркетОк(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["status"]).Равно("OK");
|
||||
ОжидаетЧто(Результат["results"]).Равно(Неопределено);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@ -1975,9 +1975,9 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||
|
||||
|
||||
Модуль = Вычислить(Имя);
|
||||
|
||||
|
||||
Возврат Модуль;
|
||||
КонецФункции
|
||||
|
||||
|
@ -50,105 +50,105 @@
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [Список магазинов пользователя](@yandex.ru/dev/market/partner-api/doc/ru/reference/campaigns/getCampaigns)
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации (Api-Key) - token
|
||||
// Страница - Число - Номер страницы выдачи списка - page
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex Market
|
||||
Функция ПолучитьСписокМагазинов(Знач Токен, Знач Страница = 1) Экспорт
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/campaigns";
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
|
||||
РазмерСтраницы = 100;
|
||||
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("page" , Страница , "Число", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("pageSize", РазмерСтраницы, "Число", Параметры);
|
||||
|
||||
|
||||
Ответ = OPI_Инструменты.Get(URL, Параметры, Заголовки);
|
||||
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить магазин
|
||||
// Получает информацию о магазине (кампании) по ID
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [Информация о магазине](@yandex.ru/dev/market/partner-api/doc/ru/reference/campaigns/getCampaign)
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации (Api-Key) - token
|
||||
// IDМагазина - Строка, Число - ID магазина (кампании) - campaign
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex Market
|
||||
Функция ПолучитьМагазин(Знач Токен, Знач IDМагазина) Экспорт
|
||||
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDМагазина);
|
||||
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/campaigns/" + IDМагазина;
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
|
||||
Ответ = OPI_Инструменты.Get(URL, , Заголовки);
|
||||
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить настройки кабинета
|
||||
// Получает значения настроек кабинета по ID
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [Настройки кабинета](@yandex.ru/dev/market/partner-api/doc/ru/reference/businesses/getBusinessSettings)
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации (Api-Key) - token
|
||||
// IDКабинета - Строка, Число - ID кабинета - business
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex Market
|
||||
Функция ПолучитьНастройкиКабинета(Знач Токен, Знач IDКабинета) Экспорт
|
||||
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDКабинета);
|
||||
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/businesses/%1/settings";
|
||||
URL = СтрШаблон(URL, IDКабинета);
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, , Заголовки);
|
||||
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить настройки магазина
|
||||
// Получает настройки магазина по ID
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [Настройки магазина](@yandex.ru/dev/market/partner-api/doc/ru/reference/campaigns/getCampaignSettings)
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации (Api-Key) - token
|
||||
// IDМагазина - Строка, Число - ID магазина (кампании) - campaign
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex Market
|
||||
Функция ПолучитьНастройкиМагазина(Знач Токен, Знач IDМагазина) Экспорт
|
||||
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDМагазина);
|
||||
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/campaigns/%1/settings";
|
||||
URL = СтрШаблон(URL, IDМагазина);
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
|
||||
Ответ = OPI_Инструменты.Get(URL, , Заголовки);
|
||||
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@ -157,34 +157,34 @@
|
||||
|
||||
// Добавить обновить товары
|
||||
// Добавляет или обновляет информацию о товарах в каталоге
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [Добавление товаров в каталог и изменение информации о них](@yandex.ru/dev/market/partner-api/doc/ru/reference/business-assortment/updateOfferMappings)
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации (Api-Key) - token
|
||||
// IDКабинета - Строка, Число - ID кабинета - business
|
||||
// МассивТоваров - Структура, Массив Из Структура - Массив описаний товаров - offers
|
||||
// СвоиИзображения - Булево - Признак использования только своих изображений товаров - pmedia
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex Market
|
||||
Функция ДобавитьОбновитьТовары(Знач Токен, Знач IDКабинета, Знач МассивТоваров, Знач СвоиИзображения = Ложь) Экспорт
|
||||
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDКабинета);
|
||||
|
||||
|
||||
URL = "https://api.partner.market.yandex.ru/businesses/%1/offer-mappings/update";
|
||||
URL = СтрШаблон(URL, IDКабинета);
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("offerMappings" , МассивТоваров , "Массив", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("onlyPartnerMediaContent", СвоиИзображения, "Булево", Параметры);
|
||||
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру товара
|
||||
@ -204,95 +204,95 @@
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("offerId", "<идентификатор товара в вашей системе>");
|
||||
|
||||
|
||||
СтруктураРасходов = Новый Структура;
|
||||
СтруктураРасходов.Вставить("currencyId" , "<код валюты>");
|
||||
СтруктураРасходов.Вставить("value" , "<доп. расходы>");
|
||||
|
||||
|
||||
СтруктураТовара.Вставить("additionalExpenses", СтруктураРасходов);
|
||||
СтруктураТовара.Вставить("adult" , "<параметр включает для товара пометку 18+>");
|
||||
|
||||
|
||||
СтруктураВозраста = Новый Структура;
|
||||
СтруктураВозраста.Вставить("ageUnit", "<единица измерения: YEAR, MONTH>");
|
||||
СтруктураВозраста.Вставить("value" , "<возрастное ограничение>");
|
||||
|
||||
|
||||
СтруктураТовара.Вставить("age", СтруктураВозраста);
|
||||
|
||||
|
||||
МассивШтрихкодов = Новый Массив;
|
||||
МассивШтрихкодов.Добавить("<штрихкод>");
|
||||
|
||||
|
||||
СтруктураТовара.Вставить("barcodes", МассивШтрихкодов);
|
||||
|
||||
|
||||
СтруктураБазовойЦены = Новый Структура;
|
||||
СтруктураБазовойЦены.Вставить("currencyId" , "<код валюты>");
|
||||
СтруктураБазовойЦены.Вставить("value" , "<цена>");
|
||||
СтруктураБазовойЦены.Вставить("discountBase", "<цена до скидки>");
|
||||
|
||||
|
||||
СтруктураТовара.Вставить("basicPrice", СтруктураБазовойЦены);
|
||||
СтруктураТовара.Вставить("boxCount", "<количество грузовых мест>");
|
||||
СтруктураТовара.Вставить("category", "<категория товара в вашем магазине>");
|
||||
|
||||
СтруктураТовара.Вставить("boxCount" , "<количество грузовых мест>");
|
||||
СтруктураТовара.Вставить("category" , "<категория товара в вашем магазине>");
|
||||
|
||||
МассивСертификатов = Новый Массив;
|
||||
МассивСертификатов.Добавить("<номер документа на товар>");
|
||||
|
||||
|
||||
СтруктураТовара.Вставить("certificates", МассивСертификатов);
|
||||
|
||||
|
||||
СтруктураЦеныДляСкидок = Новый Структура;
|
||||
СтруктураЦеныДляСкидок.Вставить("currencyId" , "<код валюты>");
|
||||
СтруктураЦеныДляСкидок.Вставить("value" , "<цена>");
|
||||
|
||||
|
||||
СтруктураТовара.Вставить("cofinancePrice", СтруктураЦеныДляСкидок);
|
||||
|
||||
|
||||
СтруктураСостояния = Новый Структура;
|
||||
СтруктураСостояния.Вставить("quality", "<внешний вид товара>");
|
||||
СтруктураСостояния.Вставить("reason" , "<описание дефектов>");
|
||||
СтруктураСостояния.Вставить("type" , "<тип уценки>");
|
||||
|
||||
|
||||
СтруктураТовара.Вставить("condition", СтруктураСостояния);
|
||||
|
||||
|
||||
// TODO: Доописать
|
||||
СтруктураТовара.Вставить("customsCommodityCode", "<код товара ТН ВЭД>");
|
||||
СтруктураТовара.Вставить("description", "<подробное описание товара>");
|
||||
СтруктураТовара.Вставить("downloadable", "<признак цифрового товара>");
|
||||
СтруктураТовара.Вставить("guaranteePeriod", "<гарантийный срок>");
|
||||
СтруктураТовара.Вставить("lifeTime", "<срок службы>");
|
||||
|
||||
|
||||
МассивРуководств = Новый Массив;
|
||||
МассивРуководств.Добавить("<руководство>");
|
||||
|
||||
|
||||
СтруктураТовара.Вставить("manuals", МассивРуководств);
|
||||
|
||||
|
||||
МассивСтран = Новый Массив;
|
||||
МассивСтран.Добавить("<страна производства>");
|
||||
|
||||
|
||||
СтруктураТовара.Вставить("manufacturerCountries", МассивСтран);
|
||||
СтруктураТовара.Вставить("marketCategoryId", "<идентификатор категории на Маркете>");
|
||||
СтруктураТовара.Вставить("name", "<имя товара>");
|
||||
|
||||
СтруктураТовара.Вставить("marketCategoryId" , "<идентификатор категории на Маркете>");
|
||||
СтруктураТовара.Вставить("name" , "<имя товара>");
|
||||
|
||||
МассивХарактеристик = Новый Массив;
|
||||
МассивХарактеристик.Добавить("<характеристика>");
|
||||
|
||||
|
||||
СтруктураТовара.Вставить("parameterValues", МассивХарактеристик);
|
||||
|
||||
|
||||
МассивКартинок = Новый Массив;
|
||||
МассивКартинок.Добавить("<ссылка на картинку товара>");
|
||||
|
||||
СтруктураТовара.Вставить("pictures", МассивКартинок);
|
||||
|
||||
СтруктураТовара.Вставить("pictures" , МассивКартинок);
|
||||
СтруктураТовара.Вставить("purchasePrice", "<себестоимость>");
|
||||
СтруктураТовара.Вставить("shelfLife", "<срок годности>");
|
||||
|
||||
СтруктураТовара.Вставить("shelfLife" , "<срок годности>");
|
||||
|
||||
МассивТэгов = Новый Массив;
|
||||
МассивТэгов.Добавить("<метка>");
|
||||
|
||||
СтруктураТовара.Вставить("tags", МассивТэгов);
|
||||
СтруктураТовара.Вставить("type", "<особый тип товара>");
|
||||
СтруктураТовара.Вставить("vendor", "<название бренда или производителя>");
|
||||
|
||||
СтруктураТовара.Вставить("tags" , МассивТэгов);
|
||||
СтруктураТовара.Вставить("type" , "<особый тип товара>");
|
||||
СтруктураТовара.Вставить("vendor" , "<название бренда или производителя>");
|
||||
СтруктураТовара.Вставить("vendorCode", "<артикул товара от производителя>");
|
||||
|
||||
|
||||
МассивВидео = Новый Массив;
|
||||
МассивВидео.Добавить("<ссылка на видео>");
|
||||
|
||||
СтруктураТовара.Вставить("videos", МассивВидео);
|
||||
|
||||
СтруктураТовара.Вставить("videos" , МассивВидео);
|
||||
СтруктураТовара.Вставить("weightDimensions", "<габариты и вес товара>");
|
||||
|
||||
Если Пустая Тогда
|
||||
|
@ -1913,30 +1913,30 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ЯМаркетМагазины(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["campaigns"]).ИмеетТип("Массив");
|
||||
ОжидаетЧто(Результат["pager"]).ИмеетТип("Соответствие").Заполнено();
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ЯМаркетМагазин(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["campaign"]).ИмеетТип("Соответствие");
|
||||
ОжидаетЧто(Результат["campaign"]["id"]).Заполнено();
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ЯМаркетКабинет(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["result"]["settings"]).ИмеетТип("Соответствие").Заполнено();
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ЯМаркетОк(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["status"]).Равно("OK");
|
||||
ОжидаетЧто(Результат["results"]).Равно(Неопределено);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
||||
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
||||
|
||||
// MIT License
|
||||
|
||||
@ -2076,7 +2076,7 @@
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Token" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Campaign", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Business", ПараметрыТеста);
|
||||
|
||||
|
||||
YandexMarket_ПолучитьСписокМагазинов(ПараметрыТеста);
|
||||
YandexMarket_ПолучитьМагазин(ПараметрыТеста);
|
||||
YandexMarket_ПолучитьНастройкиКабинета(ПараметрыТеста);
|
||||
@ -2091,9 +2091,9 @@
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Business", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Video" , ПараметрыТеста);
|
||||
|
||||
|
||||
YandexMarket_ДобавитьОбновитьТовары(ПараметрыТеста);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@ -13262,7 +13262,7 @@
|
||||
// OPI_ПолучениеДанныхТестов.Проверка_ОзонЗаданиеЗагрузки(Результат);
|
||||
|
||||
// IDЗадания = Результат["result"]["task_id"];
|
||||
|
||||
|
||||
IDЗадания = 1;
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Ozon_CodesTaskID", IDЗадания);
|
||||
ПараметрыФункции.Вставить("Ozon_CodesTaskID", IDЗадания);
|
||||
@ -14342,116 +14342,116 @@
|
||||
#Область 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" , СтруктураПериода);
|
||||
@ -14459,16 +14459,16 @@
|
||||
СтруктураТовара.Вставить("type" , "DEFAULT");
|
||||
СтруктураТовара.Вставить("downloadable" , Ложь);
|
||||
СтруктураТовара.Вставить("adult" , Ложь);
|
||||
|
||||
|
||||
СтруктураОбновления.Вставить("offer", СтруктураТовара);
|
||||
|
||||
|
||||
Результат = OPI_YandexMarket.ДобавитьОбновитьТовары(Токен, IDКабинета, СтруктураОбновления);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьОбновитьТовары", "YandexMarket");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ЯМаркетОк(Результат);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -2072,7 +2072,7 @@
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Token" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Campaign", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("YMarket_Business", ПараметрыТеста);
|
||||
|
||||
|
||||
CLI_YandexMarket_ПолучитьСписокМагазинов(ПараметрыТеста);
|
||||
CLI_YandexMarket_ПолучитьМагазин(ПараметрыТеста);
|
||||
CLI_YandexMarket_ПолучитьНастройкиКабинета(ПараметрыТеста);
|
||||
@ -16301,58 +16301,58 @@
|
||||
#Область YandexMarket
|
||||
|
||||
Процедура CLI_YandexMarket_ПолучитьСписокМагазинов(ПараметрыФункции)
|
||||
|
||||
|
||||
Токен = ПараметрыФункции["YMarket_Token"];
|
||||
|
||||
|
||||
Результат = OPI_YandexMarket.ПолучитьСписокМагазинов(Токен);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокМагазинов", "YandexMarket");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ЯМаркетМагазины(Результат);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_YandexMarket_ПолучитьМагазин(ПараметрыФункции)
|
||||
|
||||
|
||||
Токен = ПараметрыФункции["YMarket_Token"];
|
||||
IDМагазина = ПараметрыФункции["YMarket_Campaign"];
|
||||
|
||||
|
||||
Результат = OPI_YandexMarket.ПолучитьМагазин(Токен, IDМагазина);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьМагазин", "YandexMarket");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_YandexMarket_ПолучитьНастройкиКабинета(ПараметрыФункции)
|
||||
|
||||
|
||||
Токен = ПараметрыФункции["YMarket_Token"];
|
||||
IDКабинета = ПараметрыФункции["YMarket_Business"];
|
||||
|
||||
|
||||
Результат = OPI_YandexMarket.ПолучитьНастройкиКабинета(Токен, IDКабинета);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьМагазин", "YandexMarket");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ЯМаркетКабинет(Результат);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_YandexMarket_ПолучитьНастройкиМагазина(ПараметрыФункции)
|
||||
|
||||
|
||||
Токен = ПараметрыФункции["YMarket_Token"];
|
||||
IDМагазина = ПараметрыФункции["YMarket_Campaign"];
|
||||
|
||||
|
||||
Результат = OPI_YandexMarket.ПолучитьНастройкиМагазина(Токен, IDМагазина);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьНастройкиМагазина", "YandexMarket");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
154
src/ru/cli/data/Classes/internal/Classes/yamarket.os
Normal file
154
src/ru/cli/data/Classes/internal/Classes/yamarket.os
Normal file
@ -0,0 +1,154 @@
|
||||
Функция ПолучитьСостав() Экспорт
|
||||
|
||||
ТаблицаСостава = Новый ТаблицаЗначений();
|
||||
ТаблицаСостава.Колонки.Добавить("Библиотека");
|
||||
ТаблицаСостава.Колонки.Добавить("Модуль");
|
||||
ТаблицаСостава.Колонки.Добавить("Метод");
|
||||
ТаблицаСостава.Колонки.Добавить("МетодПоиска");
|
||||
ТаблицаСостава.Колонки.Добавить("Параметр");
|
||||
ТаблицаСостава.Колонки.Добавить("Описание");
|
||||
ТаблицаСостава.Колонки.Добавить("ОписаниеМетода");
|
||||
ТаблицаСостава.Колонки.Добавить("Область");
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "yamarket";
|
||||
НоваяСтрока.Модуль = "OPI_YandexMarket";
|
||||
НоваяСтрока.Метод = "ПолучитьСписокМагазинов";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКМАГАЗИНОВ";
|
||||
НоваяСтрока.Параметр = "--Key)";
|
||||
НоваяСтрока.Описание = "token";
|
||||
НоваяСтрока.Область = "Кабинеты и магазины";
|
||||
НоваяСтрока.ОписаниеМетода = "Получает список магазинов в кабинете по токену";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "yamarket";
|
||||
НоваяСтрока.Модуль = "OPI_YandexMarket";
|
||||
НоваяСтрока.Метод = "ПолучитьСписокМагазинов";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКМАГАЗИНОВ";
|
||||
НоваяСтрока.Параметр = "--page";
|
||||
НоваяСтрока.Описание = "Номер страницы выдачи списка (необяз. по ум. - 1)";
|
||||
НоваяСтрока.Область = "Кабинеты и магазины";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "yamarket";
|
||||
НоваяСтрока.Модуль = "OPI_YandexMarket";
|
||||
НоваяСтрока.Метод = "ПолучитьМагазин";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬМАГАЗИН";
|
||||
НоваяСтрока.Параметр = "--Key)";
|
||||
НоваяСтрока.Описание = "token";
|
||||
НоваяСтрока.Область = "Кабинеты и магазины";
|
||||
НоваяСтрока.ОписаниеМетода = "Получает информацию о магазине (кампании) по ID";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "yamarket";
|
||||
НоваяСтрока.Модуль = "OPI_YandexMarket";
|
||||
НоваяСтрока.Метод = "ПолучитьМагазин";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬМАГАЗИН";
|
||||
НоваяСтрока.Параметр = "--campaign";
|
||||
НоваяСтрока.Описание = "ID магазина (кампании)";
|
||||
НоваяСтрока.Область = "Кабинеты и магазины";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "yamarket";
|
||||
НоваяСтрока.Модуль = "OPI_YandexMarket";
|
||||
НоваяСтрока.Метод = "ПолучитьНастройкиКабинета";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИКАБИНЕТА";
|
||||
НоваяСтрока.Параметр = "--Key)";
|
||||
НоваяСтрока.Описание = "token";
|
||||
НоваяСтрока.Область = "Кабинеты и магазины";
|
||||
НоваяСтрока.ОписаниеМетода = "Получает значения настроек кабинета по ID";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "yamarket";
|
||||
НоваяСтрока.Модуль = "OPI_YandexMarket";
|
||||
НоваяСтрока.Метод = "ПолучитьНастройкиКабинета";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИКАБИНЕТА";
|
||||
НоваяСтрока.Параметр = "--business";
|
||||
НоваяСтрока.Описание = "ID кабинета";
|
||||
НоваяСтрока.Область = "Кабинеты и магазины";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "yamarket";
|
||||
НоваяСтрока.Модуль = "OPI_YandexMarket";
|
||||
НоваяСтрока.Метод = "ПолучитьНастройкиМагазина";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИМАГАЗИНА";
|
||||
НоваяСтрока.Параметр = "--Key)";
|
||||
НоваяСтрока.Описание = "token";
|
||||
НоваяСтрока.Область = "Кабинеты и магазины";
|
||||
НоваяСтрока.ОписаниеМетода = "Получает настройки магазина по ID";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "yamarket";
|
||||
НоваяСтрока.Модуль = "OPI_YandexMarket";
|
||||
НоваяСтрока.Метод = "ПолучитьНастройкиМагазина";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИМАГАЗИНА";
|
||||
НоваяСтрока.Параметр = "--campaign";
|
||||
НоваяСтрока.Описание = "ID магазина (кампании)";
|
||||
НоваяСтрока.Область = "Кабинеты и магазины";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "yamarket";
|
||||
НоваяСтрока.Модуль = "OPI_YandexMarket";
|
||||
НоваяСтрока.Метод = "ДобавитьОбновитьТовары";
|
||||
НоваяСтрока.МетодПоиска = "ДОБАВИТЬОБНОВИТЬТОВАРЫ";
|
||||
НоваяСтрока.Параметр = "--Key)";
|
||||
НоваяСтрока.Описание = "token";
|
||||
НоваяСтрока.Область = "Работа с товарами";
|
||||
НоваяСтрока.ОписаниеМетода = "Добавляет или обновляет информацию о товарах в каталоге
|
||||
|
|
||||
| Пример указания параметра типа массив:
|
||||
| --param ""['Val1','Val2','Val3']""
|
||||
|";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "yamarket";
|
||||
НоваяСтрока.Модуль = "OPI_YandexMarket";
|
||||
НоваяСтрока.Метод = "ДобавитьОбновитьТовары";
|
||||
НоваяСтрока.МетодПоиска = "ДОБАВИТЬОБНОВИТЬТОВАРЫ";
|
||||
НоваяСтрока.Параметр = "--business";
|
||||
НоваяСтрока.Описание = "ID кабинета";
|
||||
НоваяСтрока.Область = "Работа с товарами";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "yamarket";
|
||||
НоваяСтрока.Модуль = "OPI_YandexMarket";
|
||||
НоваяСтрока.Метод = "ДобавитьОбновитьТовары";
|
||||
НоваяСтрока.МетодПоиска = "ДОБАВИТЬОБНОВИТЬТОВАРЫ";
|
||||
НоваяСтрока.Параметр = "--offers";
|
||||
НоваяСтрока.Описание = "Массив описаний товаров";
|
||||
НоваяСтрока.Область = "Работа с товарами";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "yamarket";
|
||||
НоваяСтрока.Модуль = "OPI_YandexMarket";
|
||||
НоваяСтрока.Метод = "ДобавитьОбновитьТовары";
|
||||
НоваяСтрока.МетодПоиска = "ДОБАВИТЬОБНОВИТЬТОВАРЫ";
|
||||
НоваяСтрока.Параметр = "--pmedia";
|
||||
НоваяСтрока.Описание = "Признак использования только своих изображений товаров (необяз. по ум. - Нет)";
|
||||
НоваяСтрока.Область = "Работа с товарами";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "yamarket";
|
||||
НоваяСтрока.Модуль = "OPI_YandexMarket";
|
||||
НоваяСтрока.Метод = "ПолучитьСтруктуруТовара";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСТРУКТУРУТОВАРА";
|
||||
НоваяСтрока.Параметр = "--empty";
|
||||
НоваяСтрока.Описание = "Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей (необяз. по ум. - Нет)";
|
||||
НоваяСтрока.Область = "Работа с товарами";
|
||||
НоваяСтрока.ОписаниеМетода = "Получает структуру стандартных полей товара";
|
||||
|
||||
Возврат ТаблицаСостава;
|
||||
КонецФункции
|
||||
|
@ -26,6 +26,7 @@
|
||||
СоответствиеКомандМодулей.Вставить("vkteams", "OPI_VKTeams");
|
||||
СоответствиеКомандМодулей.Вставить("yadisk", "OPI_YandexDisk");
|
||||
СоответствиеКомандМодулей.Вставить("yandex", "OPI_YandexID");
|
||||
СоответствиеКомандМодулей.Вставить("yamarket", "OPI_YandexMarket");
|
||||
Возврат СоответствиеКомандМодулей;
|
||||
КонецФункции
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user