删除时ZenDesk API结果与调用不匹配

时间:2015-03-09 16:09:47

标签: php zendesk

我正在使用ZenDesk API(https://developer.zendesk.com/rest_api/docs/core/introduction)将ZenDesk设置与另一个客户端数据库同步。当我尝试删除某个组织时,我得到的响应似乎表明已经进行了更新调用。

根据文档(https://developer.zendesk.com/rest_api/docs/core/organizations#delete-organization),调用应该是DELETE /api/v2/organizations/{id}.json,其中{id}是组织的id。

我编写的代码我认为是正确的,并用Fiddler检查过。 Fiddler的电话是:

DELETE /api/v2/organizations/39005971.json HTTP/1.1

原始请求视图显示(带有redactions):

DELETE https://<redacted>.zendesk.com/api/v2/organizations/39005971.json HTTP/1.1
Authorization: Basic <redacted>
Host: <redacted>.zendesk.com
Accept: */*
Content-Type: application/json

并且响应回复为:

{
    "error":"RecordInvalid",
    "description":"Record validation errors",
    "details":{
        "name":[
            {
                "description":"Name: has already been taken",
                "error":"DuplicateValue"
            }
        ]
    }
}

如果您尝试插入与现有组织同名的组织,则会给出相同的响应。从文档中,删除和更新记录的基本区别在于删除请求使用DELETE并且更新使用PUT - 端点URL是相同的。

有没有人有任何建议?如果需要,我可以提供上游代码(在PHP中),但是当Fiddler将请求作为正确格式化的DELETE接收时,我不确定代码是否会有所帮助。

1 个答案:

答案 0 :(得分:1)

我实际上为Zendesk工作并亲自想出来。您似乎遇到了一个与组织名称可以拥有的最大字符有关的错误。您可能有几个组织的名称长度超过255个字符,并且在被截断为255之后是相同的名称。现在验证问题突然出现。我真的很抱歉!

我会向https://support.zendesk.com/hc/en-us/requests/new发送请求,我们会为您解决此问题!