在JavaScript中启动集成

本指南将帮助您从头开始在JavaScript中设置最简单的测试集成,以满足市场上的商店请求。 您可以请求商店列表并获得响应。

您将需要一个节点。js和Java版本11或更高版本

下载OpenAPI规范

  1. 打开要保存规范的文件夹。 在本说明书中,将其称为 <project_directory>.

  2. 在其中运行命令提示符。

  3. 编写命令:

    git clone https://github.com/yandex-market/yandex-market-partner-api.git
    
  1. 下载 GitHub的市场规范.
  2. 将存档解压缩到要保存规范的文件夹。 在本说明书中,将其称为 <project_directory>.

生成客户端

  1. 打开文件夹 yandex-market-partner-api,这出现在上一步。
  2. 在其中运行命令提示符。
  3. 编写命令:
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 并点击 进入.

创建项目

  1. 打开客户端文件所在的文件夹。 在上面的例子中,这是 <project_directory>/市场整合.

  2. 在其中运行命令提示符。

  3. 编写命令:

    npm install
    npm run build
    

准备数据以供访问

通过以下方式获取授权令牌 指示说明.

提出要求

要执行 GET v2/campaigns:

  1. 在IDE中打开创建的项目。

  2. 在项目的根目录(文件夹)中创建 <project_directory>/市场整合)档案 索引。js的.

  3. 创建实例 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> 使用您在上一步中收到的令牌。

  4. 写入控制台 节点索引。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
    }
}