使用Freshdesk API

时间:2013-07-30 20:08:06

标签: javascript html xml api freshdesk

有没有人有使用FRESHDESK API http://freshdesk.com/api/创建票证的经验?

在文档

中说明了这一点
Request URL: domain_URL/helpdesk/tickets.xml
Request method: POST

<helpdesk_ticket>
  <description>Disk failure problem</description>    <!--Mandatory -->
  <email>sample@example.com</email>                <!--Mandatory -->
  <priority>1</priority>                           <!-- Optional -->
  <status>2</status>                               <!-- Optional -->
</helpdesk_ticket>     

但是我有点不确定如何在我的HTML代码中使用它,所以我尝试使用这个

 %form.stacked_form{:action => "http://onehouse.freshdesk.com/helpdesk/tickets.xml", :method => "POST"}

在我的表格中,它似乎将票证发布到FRESHDESK网站,并提供相关信息。

然而,它将我发送到一个XML页面,上面写着:

此XML文件似乎没有与之关联的任何样式信息。文档树如下所示。

我得到了很多这样的东西

<helpdesk-ticket>
  <cc-email type="yaml">--- :fwd_emails: [] :cc_emails: []</cc-email>
  <created-at type="datetime">2013-07-30T13:04:18-07:00</created-at>
  <deleted type="boolean">false</deleted>
  <delta type="boolean">true</delta>
  <description>Not given.</description>
  <description-html><div>Not given.</div></description-html>
  <display-id type="integer">42</display-id>
  <due-by type="datetime">2013-08-02T13:04:17-07:00</due-by>
  <email-config-id type="integer" nil="true"/>
  <frDueBy type="datetime">2013-07-31T13:04:17-07:00</frDueBy>
  <fr-escalated type="boolean">false</fr-escalated>
  <group-id type="integer" nil="true"/>
  <id type="integer">17054416</id>
  <isescalated type="boolean">false</isescalated>
  <owner-id type="integer" nil="true"/>
  <priority type="integer">1</priority>
  <requester-id type="integer">5947991</requester-id>
  <responder-id type="integer" nil="true"/>
  <source type="integer">2</source>
  <spam type="boolean">false</spam>
  <status type="integer">2</status>
 <subject/>
  <ticket-type>Lead</ticket-type>
  <to-email nil="true"/>
  <trained type="boolean">false</trained>
  <updated-at type="datetime">2013-07-30T13:04:18-07:00</updated-at>
  <urgent type="boolean">false</urgent>
  <status-name>Open</status-name>
  <requester-status-name>Being Processed</requester-status-name>
  <priority-name>Low</priority-name>
  <source-name>Portal</source-name>
  <requester-name>Richard Ahn</requester-name>
  <responder-name>No Agent</responder-name>
  <notes type="array"/>
  <attachments type="array"/>
  <to_emails></to_emails>
  <custom_field></custom_field>
 </helpdesk-ticket>

我有点不确定我想要解决这个问题...在我点击提交后,票证确实已经创建了,在freshdesk网站上我可以看到我的票证请求。

我只是需要一种方法让它重定向或向用户发送某种确认Flash消息,说你的请求已经发现...

如果有人有任何信息,他们可以给我这将是伟大的。

2 个答案:

答案 0 :(得分:0)

如果返回的XML票证数据有效,您需要使用JavaScript发送请求并将用户重定向到成功页面。

您也可以使用JavaScript来显示包含该消息的div。而不是重定向。

如果您不想将用户重定向到REST服务的结果,请不要将表单提交给REST Web服务。

答案 1 :(得分:0)

默认情况下,不允许跨域请求使用XML(see here)。您可以使用跨越原始访问和JSON格式的v2 API。