前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用nodejs调用C4C的Odata服务创建销售订单

使用nodejs调用C4C的Odata服务创建销售订单

作者头像
Jerry Wang
发布2020-01-13 17:56:27
4340
发布2020-01-13 17:56:27
举报
var request = require('request');

var url = "https://jerry.c4c.saphybriscloud.cn/sap/c4c/odata/cust/v1/zjerrysalesorder";

var getTokenOptions = {
        url: url,
        method: "GET",
        json:true,
        headers: {
            "content-type": "application/json",
            'Authorization': "Basic ABCDE00ZXN0MQ==",
            "x-csrf-token" :"fetch"
        }
};

function getToken() {
  return new Promise(function(resolve,reject){
      var requestC = request.defaults({jar: true});
      console.log("Step1: get csrf token via url: " + url );

      requestC(getTokenOptions,function(error,response,body){
       var csrfToken = response.headers['x-csrf-token'];
       if(!csrfToken){
          reject({message:"token fetch error"});
          return;
       }
       console.log("Step1: csrf token got: " + csrfToken);
       resolve(csrfToken);
      }); 
     });
}

function createSalesOrder(token, oPostData){

	return new Promise(function(resolve, reject){
		var requestC = request.defaults({jar: true});
        var createOptions = {
              url: "https://jerry.c4c.saphybriscloud.cn/sap/c4c/odata/cust/v1/zjerrysalesorder/CustomerQuoteCollection",
              method: "POST",
              json:true,
              headers: {
                  "content-type": "application/json",
                  'x-csrf-token': token
              },
              body:oPostData
        };
        requestC(createOptions,function(error,response,data){
            if(error){
                reject(error.message);
            }else {
               resolve(data);
            }
        });
	});
}


getToken().then(function(token) {

  var payload = {
    "Name": "Jerry Test 2019-1-12 19:52PM",
    "TypeCode": "2059",
    "BuyerID":"Jerry open ID",
    "PartyID":"60102",
    "CustomerQuoteText":[{
      "Text": "test comment by Jerry Wang",
      "TypeCode": "10024"
    }],
    "CustomerQuoteItem":[{
      "ProductID": "1042416"
    }],
    "CustomerQuoteItemProposal":[{
      "ProductUUID": "00163E72-09C6-1EE8-BBDC-AC5F0CB0D795",
      "Quantity": "1",
      "unitCode": "EA"
    }]
  };
  createSalesOrder(token, payload).then(function(oData){
    console.log("created Sales Order by OData: " + oData.d.results.ID);
  });
});
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-01-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档