mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-02-03 13:22:19 +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
|
key: logs-CDEK
|
||||||
path: ./docs/ru/results/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:
|
Encode:
|
||||||
runs-on: ubuntu-latest
|
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() }}
|
if: ${{ always() }}
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
@ -1527,6 +1573,22 @@ jobs:
|
|||||||
-H "X-GitHub-Api-Version: 2022-11-28" \
|
-H "X-GitHub-Api-Version: 2022-11-28" \
|
||||||
"https://api.github.com/repos/Bayselonarrend/OpenIntegrations/actions/caches?key=logs-CDEK"
|
"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: Записать данные
|
- name: Записать данные
|
||||||
uses: stefanzweifel/git-auto-commit-action@v5
|
uses: stefanzweifel/git-auto-commit-action@v5
|
||||||
@ -1539,7 +1601,7 @@ jobs:
|
|||||||
|
|
||||||
Clear-Cache:
|
Clear-Cache:
|
||||||
runs-on: ubuntu-latest
|
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() }}
|
if: ${{ always() }}
|
||||||
steps:
|
steps:
|
||||||
- name: Очистка основного кэша
|
- 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{
|
post{
|
||||||
always{
|
always{
|
||||||
|
36
ci/clitesten
36
ci/clitesten
@ -111,6 +111,11 @@ pipeline {
|
|||||||
test_yandex()
|
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 {
|
pipeline {
|
||||||
agent any
|
agent any
|
||||||
stages {
|
stages {
|
||||||
@ -2438,6 +2473,7 @@ test_vk()
|
|||||||
test_vkteams()
|
test_vkteams()
|
||||||
test_yadisk()
|
test_yadisk()
|
||||||
test_yandex()
|
test_yandex()
|
||||||
|
test_yamarket()
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
36
ci/clitestru
36
ci/clitestru
@ -111,6 +111,11 @@ pipeline {
|
|||||||
test_yandex()
|
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 {
|
pipeline {
|
||||||
agent any
|
agent any
|
||||||
stages {
|
stages {
|
||||||
@ -2438,6 +2473,7 @@ test_vk()
|
|||||||
test_vkteams()
|
test_vkteams()
|
||||||
test_yadisk()
|
test_yadisk()
|
||||||
test_yandex()
|
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{
|
post{
|
||||||
always{
|
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_VKTeams" file="core/Modules/OPI_VKTeams.os"/>
|
||||||
<module name="OPI_YandexDisk" file="core/Modules/OPI_YandexDisk.os"/>
|
<module name="OPI_YandexDisk" file="core/Modules/OPI_YandexDisk.os"/>
|
||||||
<module name="OPI_YandexID" file="core/Modules/OPI_YandexID.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_Tools" file="tools/Modules/internal/Modules/OPI_Tools.os"/>
|
||||||
<module name="OPI_Cryptography" file="tools/Modules/internal/Modules/OPI_Cryptography.os"/>
|
<module name="OPI_Cryptography" file="tools/Modules/internal/Modules/OPI_Cryptography.os"/>
|
||||||
<module name="OPI_TestDataRetrieval" file="tools/Modules/OPI_TestDataRetrieval.os"/>
|
<module name="OPI_TestDataRetrieval" file="tools/Modules/OPI_TestDataRetrieval.os"/>
|
||||||
|
@ -2068,6 +2068,36 @@ EndProcedure
|
|||||||
|
|
||||||
#EndRegion
|
#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
|
||||||
|
|
||||||
#EndRegion
|
#EndRegion
|
||||||
@ -14309,6 +14339,140 @@ EndProcedure
|
|||||||
|
|
||||||
#EndRegion
|
#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
|
||||||
|
|
||||||
#EndRegion
|
#EndRegion
|
||||||
|
@ -2064,6 +2064,24 @@ EndProcedure
|
|||||||
|
|
||||||
#EndRegion
|
#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
|
||||||
|
|
||||||
#EndRegion
|
#EndRegion
|
||||||
@ -16280,6 +16298,65 @@ EndProcedure
|
|||||||
|
|
||||||
#EndRegion
|
#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
|
||||||
|
|
||||||
#EndRegion
|
#EndRegion
|
||||||
|
@ -66,6 +66,7 @@ Function GetTestingSectionMapping() Export
|
|||||||
Sections.Insert("Ozon" , 5);
|
Sections.Insert("Ozon" , 5);
|
||||||
Sections.Insert("Neocities" , 5);
|
Sections.Insert("Neocities" , 5);
|
||||||
Sections.Insert("CDEK" , 5);
|
Sections.Insert("CDEK" , 5);
|
||||||
|
Sections.Insert("YandexMarket" , 5);
|
||||||
|
|
||||||
Return Sections;
|
Return Sections;
|
||||||
|
|
||||||
@ -95,6 +96,7 @@ Function GetTestingSectionMappingGA() Export
|
|||||||
Sections.Insert("Ozon" , StandardDependencies);
|
Sections.Insert("Ozon" , StandardDependencies);
|
||||||
Sections.Insert("Neocities" , StandardDependencies);
|
Sections.Insert("Neocities" , StandardDependencies);
|
||||||
Sections.Insert("CDEK" , StandardDependencies);
|
Sections.Insert("CDEK" , StandardDependencies);
|
||||||
|
Sections.Insert("YandexMarket" , StandardDependencies);
|
||||||
|
|
||||||
Return Sections;
|
Return Sections;
|
||||||
|
|
||||||
@ -120,6 +122,7 @@ Function GetTestTable() Export
|
|||||||
Ozon = "Ozon";
|
Ozon = "Ozon";
|
||||||
Neocities = "Neocities";
|
Neocities = "Neocities";
|
||||||
Cdek = "CDEK";
|
Cdek = "CDEK";
|
||||||
|
YaMarket = "YandexMarket";
|
||||||
|
|
||||||
TestTable = New ValueTable;
|
TestTable = New ValueTable;
|
||||||
TestTable.Columns.Add("Method");
|
TestTable.Columns.Add("Method");
|
||||||
@ -246,6 +249,8 @@ Function GetTestTable() Export
|
|||||||
NewTest(TestTable, "CdekAPI_CommonMethods" , "Common methods" , Cdek);
|
NewTest(TestTable, "CdekAPI_CommonMethods" , "Common methods" , Cdek);
|
||||||
NewTest(TestTable, "CDEKAPI_OrdersManagment" , "Orders managment" , Cdek);
|
NewTest(TestTable, "CDEKAPI_OrdersManagment" , "Orders managment" , Cdek);
|
||||||
NewTest(TestTable, "CdekAPI_CourierInvitationsManagment" , "Courier invitations 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;
|
Return TestTable;
|
||||||
|
|
||||||
@ -1907,6 +1912,33 @@ Procedure Check_CdekCheck(Val Result) Export
|
|||||||
|
|
||||||
EndProcedure
|
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
|
||||||
|
|
||||||
#EndRegion
|
#EndRegion
|
||||||
|
@ -66,6 +66,7 @@ Function GetTestingSectionMapping() Export
|
|||||||
Sections.Insert("Ozon" , 5);
|
Sections.Insert("Ozon" , 5);
|
||||||
Sections.Insert("Neocities" , 5);
|
Sections.Insert("Neocities" , 5);
|
||||||
Sections.Insert("CDEK" , 5);
|
Sections.Insert("CDEK" , 5);
|
||||||
|
Sections.Insert("YandexMarket" , 5);
|
||||||
|
|
||||||
Return Sections;
|
Return Sections;
|
||||||
|
|
||||||
@ -95,6 +96,7 @@ Function GetTestingSectionMappingGA() Export
|
|||||||
Sections.Insert("Ozon" , StandardDependencies);
|
Sections.Insert("Ozon" , StandardDependencies);
|
||||||
Sections.Insert("Neocities" , StandardDependencies);
|
Sections.Insert("Neocities" , StandardDependencies);
|
||||||
Sections.Insert("CDEK" , StandardDependencies);
|
Sections.Insert("CDEK" , StandardDependencies);
|
||||||
|
Sections.Insert("YandexMarket" , StandardDependencies);
|
||||||
|
|
||||||
Return Sections;
|
Return Sections;
|
||||||
|
|
||||||
@ -120,6 +122,7 @@ Function GetTestTable() Export
|
|||||||
Ozon = "Ozon";
|
Ozon = "Ozon";
|
||||||
Neocities = "Neocities";
|
Neocities = "Neocities";
|
||||||
Cdek = "CDEK";
|
Cdek = "CDEK";
|
||||||
|
YaMarket = "YandexMarket";
|
||||||
|
|
||||||
TestTable = New ValueTable;
|
TestTable = New ValueTable;
|
||||||
TestTable.Columns.Add("Method");
|
TestTable.Columns.Add("Method");
|
||||||
@ -246,6 +249,8 @@ Function GetTestTable() Export
|
|||||||
NewTest(TestTable, "CdekAPI_CommonMethods" , "Common methods" , Cdek);
|
NewTest(TestTable, "CdekAPI_CommonMethods" , "Common methods" , Cdek);
|
||||||
NewTest(TestTable, "CDEKAPI_OrdersManagment" , "Orders managment" , Cdek);
|
NewTest(TestTable, "CDEKAPI_OrdersManagment" , "Orders managment" , Cdek);
|
||||||
NewTest(TestTable, "CdekAPI_CourierInvitationsManagment" , "Courier invitations 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;
|
Return TestTable;
|
||||||
|
|
||||||
@ -1907,6 +1912,33 @@ Procedure Check_CdekCheck(Val Result) Export
|
|||||||
|
|
||||||
EndProcedure
|
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
|
||||||
|
|
||||||
#EndRegion
|
#EndRegion
|
||||||
|
@ -2068,6 +2068,36 @@ EndProcedure
|
|||||||
|
|
||||||
#EndRegion
|
#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
|
||||||
|
|
||||||
#EndRegion
|
#EndRegion
|
||||||
@ -14309,6 +14339,140 @@ EndProcedure
|
|||||||
|
|
||||||
#EndRegion
|
#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
|
||||||
|
|
||||||
#EndRegion
|
#EndRegion
|
||||||
|
@ -2064,6 +2064,24 @@ EndProcedure
|
|||||||
|
|
||||||
#EndRegion
|
#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
|
||||||
|
|
||||||
#EndRegion
|
#EndRegion
|
||||||
@ -16280,6 +16298,65 @@ EndProcedure
|
|||||||
|
|
||||||
#EndRegion
|
#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
|
||||||
|
|
||||||
#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_Ozon</commonModules>
|
||||||
<commonModules>CommonModule.OPI_Neocities</commonModules>
|
<commonModules>CommonModule.OPI_Neocities</commonModules>
|
||||||
<commonModules>CommonModule.OPI_CDEK</commonModules>
|
<commonModules>CommonModule.OPI_CDEK</commonModules>
|
||||||
|
<commonModules>CommonModule.OPI_YandexMarket</commonModules>
|
||||||
<commonModules>CommonModule.OPI_Tests</commonModules>
|
<commonModules>CommonModule.OPI_Tests</commonModules>
|
||||||
<commonModules>CommonModule.OPI_TestsCLI</commonModules>
|
<commonModules>CommonModule.OPI_TestsCLI</commonModules>
|
||||||
<commonModules>CommonModule.OPI_TestDataRetrieval</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");
|
СоответствиеКомандМодулей.Вставить("vkteams", "OPI_VKTeams");
|
||||||
СоответствиеКомандМодулей.Вставить("yadisk", "OPI_YandexDisk");
|
СоответствиеКомандМодулей.Вставить("yadisk", "OPI_YandexDisk");
|
||||||
СоответствиеКомандМодулей.Вставить("yandex", "OPI_YandexID");
|
СоответствиеКомандМодулей.Вставить("yandex", "OPI_YandexID");
|
||||||
|
СоответствиеКомандМодулей.Вставить("yamarket", "OPI_YandexMarket");
|
||||||
Возврат СоответствиеКомандМодулей;
|
Возврат СоответствиеКомандМодулей;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
@ -214,7 +214,7 @@
|
|||||||
|
|
||||||
СтруктураВозраста = Новый Структура;
|
СтруктураВозраста = Новый Структура;
|
||||||
СтруктураВозраста.Вставить("ageUnit", "<единица измерения: YEAR, MONTH>");
|
СтруктураВозраста.Вставить("ageUnit", "<единица измерения: YEAR, MONTH>");
|
||||||
СтруктураВозраста.Вставить("value" , "<возврастное ограничение>");
|
СтруктураВозраста.Вставить("value" , "<возрастное ограничение>");
|
||||||
|
|
||||||
СтруктураТовара.Вставить("age", СтруктураВозраста);
|
СтруктураТовара.Вставить("age", СтруктураВозраста);
|
||||||
|
|
||||||
@ -229,8 +229,8 @@
|
|||||||
СтруктураБазовойЦены.Вставить("discountBase", "<цена до скидки>");
|
СтруктураБазовойЦены.Вставить("discountBase", "<цена до скидки>");
|
||||||
|
|
||||||
СтруктураТовара.Вставить("basicPrice", СтруктураБазовойЦены);
|
СтруктураТовара.Вставить("basicPrice", СтруктураБазовойЦены);
|
||||||
СтруктураТовара.Вставить("boxCount", "<количество грузовых мест>");
|
СтруктураТовара.Вставить("boxCount" , "<количество грузовых мест>");
|
||||||
СтруктураТовара.Вставить("category", "<категория товара в вашем магазине>");
|
СтруктураТовара.Вставить("category" , "<категория товара в вашем магазине>");
|
||||||
|
|
||||||
МассивСертификатов = Новый Массив;
|
МассивСертификатов = Новый Массив;
|
||||||
МассивСертификатов.Добавить("<номер документа на товар>");
|
МассивСертификатов.Добавить("<номер документа на товар>");
|
||||||
@ -266,8 +266,8 @@
|
|||||||
МассивСтран.Добавить("<страна производства>");
|
МассивСтран.Добавить("<страна производства>");
|
||||||
|
|
||||||
СтруктураТовара.Вставить("manufacturerCountries", МассивСтран);
|
СтруктураТовара.Вставить("manufacturerCountries", МассивСтран);
|
||||||
СтруктураТовара.Вставить("marketCategoryId", "<идентификатор категории на Маркете>");
|
СтруктураТовара.Вставить("marketCategoryId" , "<идентификатор категории на Маркете>");
|
||||||
СтруктураТовара.Вставить("name", "<имя товара>");
|
СтруктураТовара.Вставить("name" , "<имя товара>");
|
||||||
|
|
||||||
МассивХарактеристик = Новый Массив;
|
МассивХарактеристик = Новый Массив;
|
||||||
МассивХарактеристик.Добавить("<характеристика>");
|
МассивХарактеристик.Добавить("<характеристика>");
|
||||||
@ -277,22 +277,22 @@
|
|||||||
МассивКартинок = Новый Массив;
|
МассивКартинок = Новый Массив;
|
||||||
МассивКартинок.Добавить("<ссылка на картинку товара>");
|
МассивКартинок.Добавить("<ссылка на картинку товара>");
|
||||||
|
|
||||||
СтруктураТовара.Вставить("pictures", МассивКартинок);
|
СтруктураТовара.Вставить("pictures" , МассивКартинок);
|
||||||
СтруктураТовара.Вставить("purchasePrice", "<себестоимость>");
|
СтруктураТовара.Вставить("purchasePrice", "<себестоимость>");
|
||||||
СтруктураТовара.Вставить("shelfLife", "<срок годности>");
|
СтруктураТовара.Вставить("shelfLife" , "<срок годности>");
|
||||||
|
|
||||||
МассивТэгов = Новый Массив;
|
МассивТэгов = Новый Массив;
|
||||||
МассивТэгов.Добавить("<метка>");
|
МассивТэгов.Добавить("<метка>");
|
||||||
|
|
||||||
СтруктураТовара.Вставить("tags", МассивТэгов);
|
СтруктураТовара.Вставить("tags" , МассивТэгов);
|
||||||
СтруктураТовара.Вставить("type", "<особый тип товара>");
|
СтруктураТовара.Вставить("type" , "<особый тип товара>");
|
||||||
СтруктураТовара.Вставить("vendor", "<название бренда или производителя>");
|
СтруктураТовара.Вставить("vendor" , "<название бренда или производителя>");
|
||||||
СтруктураТовара.Вставить("vendorCode", "<артикул товара от производителя>");
|
СтруктураТовара.Вставить("vendorCode", "<артикул товара от производителя>");
|
||||||
|
|
||||||
МассивВидео = Новый Массив;
|
МассивВидео = Новый Массив;
|
||||||
МассивВидео.Добавить("<ссылка на видео>");
|
МассивВидео.Добавить("<ссылка на видео>");
|
||||||
|
|
||||||
СтруктураТовара.Вставить("videos", МассивВидео);
|
СтруктураТовара.Вставить("videos" , МассивВидео);
|
||||||
СтруктураТовара.Вставить("weightDimensions", "<габариты и вес товара>");
|
СтруктураТовара.Вставить("weightDimensions", "<габариты и вес товара>");
|
||||||
|
|
||||||
Если Пустая Тогда
|
Если Пустая Тогда
|
||||||
|
@ -229,8 +229,8 @@
|
|||||||
СтруктураБазовойЦены.Вставить("discountBase", "<цена до скидки>");
|
СтруктураБазовойЦены.Вставить("discountBase", "<цена до скидки>");
|
||||||
|
|
||||||
СтруктураТовара.Вставить("basicPrice", СтруктураБазовойЦены);
|
СтруктураТовара.Вставить("basicPrice", СтруктураБазовойЦены);
|
||||||
СтруктураТовара.Вставить("boxCount", "<количество грузовых мест>");
|
СтруктураТовара.Вставить("boxCount" , "<количество грузовых мест>");
|
||||||
СтруктураТовара.Вставить("category", "<категория товара в вашем магазине>");
|
СтруктураТовара.Вставить("category" , "<категория товара в вашем магазине>");
|
||||||
|
|
||||||
МассивСертификатов = Новый Массив;
|
МассивСертификатов = Новый Массив;
|
||||||
МассивСертификатов.Добавить("<номер документа на товар>");
|
МассивСертификатов.Добавить("<номер документа на товар>");
|
||||||
@ -266,8 +266,8 @@
|
|||||||
МассивСтран.Добавить("<страна производства>");
|
МассивСтран.Добавить("<страна производства>");
|
||||||
|
|
||||||
СтруктураТовара.Вставить("manufacturerCountries", МассивСтран);
|
СтруктураТовара.Вставить("manufacturerCountries", МассивСтран);
|
||||||
СтруктураТовара.Вставить("marketCategoryId", "<идентификатор категории на Маркете>");
|
СтруктураТовара.Вставить("marketCategoryId" , "<идентификатор категории на Маркете>");
|
||||||
СтруктураТовара.Вставить("name", "<имя товара>");
|
СтруктураТовара.Вставить("name" , "<имя товара>");
|
||||||
|
|
||||||
МассивХарактеристик = Новый Массив;
|
МассивХарактеристик = Новый Массив;
|
||||||
МассивХарактеристик.Добавить("<характеристика>");
|
МассивХарактеристик.Добавить("<характеристика>");
|
||||||
@ -277,22 +277,22 @@
|
|||||||
МассивКартинок = Новый Массив;
|
МассивКартинок = Новый Массив;
|
||||||
МассивКартинок.Добавить("<ссылка на картинку товара>");
|
МассивКартинок.Добавить("<ссылка на картинку товара>");
|
||||||
|
|
||||||
СтруктураТовара.Вставить("pictures", МассивКартинок);
|
СтруктураТовара.Вставить("pictures" , МассивКартинок);
|
||||||
СтруктураТовара.Вставить("purchasePrice", "<себестоимость>");
|
СтруктураТовара.Вставить("purchasePrice", "<себестоимость>");
|
||||||
СтруктураТовара.Вставить("shelfLife", "<срок годности>");
|
СтруктураТовара.Вставить("shelfLife" , "<срок годности>");
|
||||||
|
|
||||||
МассивТэгов = Новый Массив;
|
МассивТэгов = Новый Массив;
|
||||||
МассивТэгов.Добавить("<метка>");
|
МассивТэгов.Добавить("<метка>");
|
||||||
|
|
||||||
СтруктураТовара.Вставить("tags", МассивТэгов);
|
СтруктураТовара.Вставить("tags" , МассивТэгов);
|
||||||
СтруктураТовара.Вставить("type", "<особый тип товара>");
|
СтруктураТовара.Вставить("type" , "<особый тип товара>");
|
||||||
СтруктураТовара.Вставить("vendor", "<название бренда или производителя>");
|
СтруктураТовара.Вставить("vendor" , "<название бренда или производителя>");
|
||||||
СтруктураТовара.Вставить("vendorCode", "<артикул товара от производителя>");
|
СтруктураТовара.Вставить("vendorCode", "<артикул товара от производителя>");
|
||||||
|
|
||||||
МассивВидео = Новый Массив;
|
МассивВидео = Новый Массив;
|
||||||
МассивВидео.Добавить("<ссылка на видео>");
|
МассивВидео.Добавить("<ссылка на видео>");
|
||||||
|
|
||||||
СтруктураТовара.Вставить("videos", МассивВидео);
|
СтруктураТовара.Вставить("videos" , МассивВидео);
|
||||||
СтруктураТовара.Вставить("weightDimensions", "<габариты и вес товара>");
|
СтруктураТовара.Вставить("weightDimensions", "<габариты и вес товара>");
|
||||||
|
|
||||||
Если Пустая Тогда
|
Если Пустая Тогда
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
||||||
|
|
||||||
// MIT License
|
// MIT License
|
||||||
|
|
||||||
|
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");
|
СоответствиеКомандМодулей.Вставить("vkteams", "OPI_VKTeams");
|
||||||
СоответствиеКомандМодулей.Вставить("yadisk", "OPI_YandexDisk");
|
СоответствиеКомандМодулей.Вставить("yadisk", "OPI_YandexDisk");
|
||||||
СоответствиеКомандМодулей.Вставить("yandex", "OPI_YandexID");
|
СоответствиеКомандМодулей.Вставить("yandex", "OPI_YandexID");
|
||||||
|
СоответствиеКомандМодулей.Вставить("yamarket", "OPI_YandexMarket");
|
||||||
Возврат СоответствиеКомандМодулей;
|
Возврат СоответствиеКомандМодулей;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user