开发者社区> jerrywangsap> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介:
+关注继续查看
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);
  });
});

本文来自云栖社区合作伙伴“汪子熙”,了解相关信息可以关注微信公众号"汪子熙"。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用nodejs调用C4C的Odata服务创建销售订单
使用nodejs调用C4C的Odata服务创建销售订单
0 0
使用postman和SAP C4C OData服务创建销售订单
使用postman和SAP C4C OData服务创建销售订单
0 0
使用SAP OData服务创建销售订单
使用SAP OData服务创建销售订单
0 0
使用简单的Java代码在SAP C4C里创建销售订单
使用简单的Java代码在SAP C4C里创建销售订单
0 0
SAP S/4HANA销售订单创建时,会自动触发生产订单的创建
SAP S/4HANA销售订单创建时,会自动触发生产订单的创建
0 0
在SAP C4C创建销售订单时如何绑定创建者的微信open id
在SAP C4C创建销售订单时如何绑定创建者的微信open id
0 0
SAP CRM销售订单创建时text determination的调试细节
SAP CRM销售订单创建时text determination的调试细节
0 0
26、【支付模块开发】——支付宝回调函数实现和查询用户订单状态接口编写
1、支付宝回调函数实现 我们在调试支付宝沙箱环境的时候,支护宝会有一个回调函数,也就是在支付成功之后,可以调用我们支付之后需要执行的相关方法,从而达到数据库的数据和我们的操作相统一。
2346 0
SAP 外向交货的包装功能实现
SAP 外向交货的包装功能实现[@more@]在执行VL01N创建出埠交付通知单是,各位肯定注意到了有个图标Packing,可各位知道Packing(包装)的作业机制吗?SAP的包装作业,体现为handling unit(HU)的形式,Handling unit是一个包装物料与一个或一个以上的正主儿商品共同构成。
1417 0
+关注
文章
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载