在JavaScript中启动集成
本指南将帮助您从头开始在JavaScript中设置最简单的测试集成,以满足市场上的商店请求。 您可以请求商店列表并获得响应。
您将需要一个节点。js和Java版本11或更高版本
下载OpenAPI规范
通过git
只是一个浏览器
-
打开要保存规范的文件夹。 在本说明书中,将其称为
<project_directory>
. -
在其中运行命令提示符。
-
编写命令:
git clone https://github.com/yandex-market/yandex-market-partner-api.git
- 下载 GitHub的市场规范.
- 将存档解压缩到要保存规范的文件夹。 在本说明书中,将其称为
<project_directory>
.
生成客户端
- 打开文件夹
yandex-market-partner-api
,这出现在上一步。 - 在其中运行命令提示符。
- 编写命令:
npx @openapitools/openapi-generator-cli generate -i <path_to_openapi.yaml> -g javascript -o <output_path>
作为一个 输出路径 指定项目所在的文件夹。
如果 openapi工具尚未安装,请接受安装。 在文件夹中 输出路径 客户端的文件将出现。
例子:
假设您下载了一个存档并解压缩。 规范在文件夹中
<project_directory>/yandex-market-partner-api
.您是否要将项目放在文件夹中
<project_directory>/市场整合
.1. 打开文件夹
<project_directory>/yandex-market-partner-api
.2. 在其中运行命令提示符。
3. 在打开的控制台中,写:
npx @openapitools/openapi-generator-cli generate -i openapi/openapi.yaml -g javascript -o ../market-integration
4. 如果系统提示您安装生成器,请输入 Y 并点击 进入.
创建项目
-
打开客户端文件所在的文件夹。 在上面的例子中,这是
<project_directory>/市场整合
. -
在其中运行命令提示符。
-
编写命令:
npm install npm run build
准备数据以供访问
通过以下方式获取授权令牌 指示说明.
提出要求
要执行 GET v2/campaigns:
-
在IDE中打开创建的项目。
-
在项目的根目录(文件夹)中创建
<project_directory>/市场整合
)档案索引。js的
. -
创建实例
CampaignsApi
并参考方法getCampaigns
. 要做到这一点,写信给索引。js的
这是代码:const { CampaignsApi } = require('./dist'); const campaignsApi = new CampaignsApi(); campaignsApi.apiClient.authentications['ApiKey'].apiKey = '<token>'; campaignsApi.getCampaigns(undefined, function (error, data) { console.log(JSON.stringify(data, null, 4)); });
作为一个
<token>
使用您在上一步中收到的令牌。 -
写入控制台
节点索引。js的
.
控制台将显示查询的结果:所有商店的名称、放置模型、Id等:
{
"campaigns": [
{
"domain": "Shop 1",
"id": 12345678,
"clientId": 87654321,
"business": {
"id": 123456,
"name": "My shop"
},
"placementType": "FBS"
},
{
"domain": "Shop 2",
"id": 23456789,
"clientId": 98765432,
"business": {
"id": 123456,
"name": "My shop"
},
"placementType": "DBS"
},
{
"domain": "GoodShop",
"id": 34567891,
"clientId": 19876543,
"business": {
"id": 123456,
"name": "My shop"
},
"placementType": "FBY"
},
],
"pager": {
"total": 3,
"from": 1,
"to": 3,
"currentPage": 1,
"pagesCount": 1,
"pageSize": 3
}
}