集成API需要什么知识?

时间:2018-09-04 13:22:15

标签: node.js api

我正在尝试将Pwinty API连接到我正在构建的网站上。

关于如何使用Node.js构建应用程序,我花了很多时间进行深入的学习。本教程手动构建服务器等,使用Sandman / node.js依赖项,而不使用npm运行的软件包(即仅使用node.js模块),并且非常复杂。

我想要将我的网站连接到Pwinty的API的最简单,最有效的方法。

  • 我应该研究和学习什么? Node.js是适合该工作的语言吗?
  • 是否需要深入研究Node.js?我应该专注于npm软件包吗?我需要哪些?
  • 要将Pwinty API连接到我的网站,我需要采取哪些实际的具体步骤? (例如1.创建http / https服务器,2.配置处理程序等。)

资源:

Pwinty API docs

Pwinty Node.js on Git

1 个答案:

答案 0 :(得分:0)

pwinty API是标准的REST API。您可以选择以任何可以创建http请求或具有用于执行http请求的库的编程语言来实现它-基本上都是这些请求。

某些程序包-例如npm上的pwinty library,会创建用于包装api的方法,因此使用起来更简单或更容易理解。

要使用节点request library(HTTP请求库)在node.js中实现pwinty API,例如根据pwinty api docs创建订单,您将使用以下代码

const request = require("request");

request.post({
    "url": "https://api.pwinty.com/v3.0/orders",
    "headers": {
        "X-Pwinty-MerchantId": "YourMerchantId",
        "X-Pwinty-REST-API-Key": "YourAPIKey",
        "Content-Type": "application/json"
    },
    "form": {
        "countryCode": "GB",
        "stateOrCounty": "Glamorgan"
        // etc
    }
}, function(err, res, body) {
    if (err) {
        // error handling
    }

    let json = JSON.parse(body);
    let address1 = json.data.address1;
})

或者,也许使用pwinty library,他们在README.MD上给出的示例是

var pwinty = require('../lib/pwinty')('apiKey', 'merchantId', 'https://api.pwinty.com:443');

var orderParams = {};
pwinty.createOrder(orderParams, function (err, order) {

    var photo = {
        type: "4x4",
        url: "photourl",
        copies: "2",
        sizing: "ShrinkToExactFit",
        priceToUser: "450"
    };

    pwinty.addPhotoToOrder(order.id, photo, function (err, order) {
        console.log('photo added');
    });
})

但是坦率地说,该库的文档记录不清,而且没有维护,我个人不会使用它。