我正在使用 Perfex CRM 及其 REST API 插件,以便以编程方式在 CRM 中创建客户。文档(参见此处)非常简单,告诉我遵循以下语法,这反过来会导致
406 - Not Accepted
错误。这是一个 REST API,需要通过 HTTPS 和 JSON 格式发出请求,并通过 header
传递身份验证令牌,以及任何其他值作为 parameters
。
挑战是我可以通过
GET
查询结果就好,但无法通过 POST
或 PUT
更新或创建客户。
_
要求:
PUT
至 https://mywebsite.com/api/customers/1?zip=123456
对于 id
= 1
的客户,尝试将 zip
更新至 123456
_
标题:
authtoken
使用我的 API 密钥
Content-Type
与 application/json
或 application/x-www-form-urlencoded
,两者都不适合我
_
结果:
{
"status": false,
"message": "Data Not Acceptable OR Not Provided"
}
请注意,所有这些目前都发生在 Postman 中,我还没有编写任何 PHP 脚本来处理这个问题。
最终,通过将所有参数发布到 RAW Body 并以这种方式提交,问题得到了解决...
为了将来参考,URL 应该只反映客户 ID(例如
https://mywebsite.com/api/customer/1
),所有相关参数包括 company
和 zip
(或任何您想要更新的内容)都以 JSON 格式存储在 RAW 正文中.
感谢@c3roe 为我指明了正确的方向。