测试下单401 Invalid API call as no apiproduct match found

您好,

      查询库存可以正常返回信息,当测试下单时候401,返回

{
  "fault": {
    "faultstring": "Invalid API call as no apiproduct match found",
    "detail": {
      "errorcode": "keymanagement.service.InvalidAPICallAsNoApiProductMatchFound"
    }
  }
}
请求json如下
json = {
            "order": {
                "checkoutProfileId": settings.PROFILE_ID,
                # "customerPurchaseOrderNumber": "Example123", 
                "endCustomerCompanyName": "Shanghai Tricheer TechnologyCo.,Ltd"
                "orderComments" : {
                    "attribute" : "测试下单"
                    },
                "lineItems": [
                    {
                        "customerOrderLineItemNumber": 1,
                        "tiPartNumber": settings.OPN,
                        # "customerPartNumber": "MY CUSTOM PART NUMBER",  
                        "quantity": settings.QUANTITY
                    }
                ]
            }
        }
TI order API 也有权限访问
请问这是什么原因
  • 我在后台没看到你这个POST call, Store API和backlog API的下单路径是不同的,请参考如下的store API的下测试订单路径, 同时checkoutprofile ID是需要填写你实际的checkout profile ID的,并且确认使用的Store API 的API key, 谢谢。

  • 您好,我是调用TI_API_SUITE.py这个库文件进行测试下单的,之前给的json文件中是引用的变量

    profiled ID暂时还没配置完,我随机输入了一串字符串,因为key和secret肯定是正确的,如果是因为profileID不正确导致测试下单失败,那应该也不会返回Invalid API call as no apiproduct match found 这个提示信息吧?

    TI_API_SUITE.py 关于此次请求

  • 我用你的账户在API portal上在线下测试订单或者是POSTMAN都是可以用的不会报这个错,我得理解还是你调用的URL有问题,你可以看一下你那边的system log是哪一步抛出的错误么?

  • 您好,我加入断点调试,url在传参过程中一直是 https://transact.ti.com/v2/store/orders/test  

    问题出现在图三的

    response = requests.post(url=url, headers=headers, verify=verify, json=json)
    这行代码返回401,但是key和secret是企业账户下获取的且能正常取到token

  •  刚才也试着在API portal上在线下测试订单,发现也是401,您用我的key和secret测试正常,这是啥情况Frowning

  • 您的Json payload先用portal上现有的试一下,我试出来是正常的报错,请通过一下好友申请私信讨论,谢谢。

  • 按照您说的方法,在portal上重新验证了key和secret,json按照portal上的空跑了一下,返回正常报错422了,程序调用也是422了,这是正常的返回,感谢!

  • 如果没有别的问题的话可以麻烦您点击问题已解决么?如有新的问题可以另开新帖再做讨论,谢谢!

x 出现错误。请重试或与管理员联系。