请求和响应

无服务器函数 - 请求与响应对象

请求对象:

您可以在函数中使用 "crmAPIRequest" 参数获取整个请求对象。

假设您已经创建了一个函数并定义了两个参数。现在,您需要在两个不同的 webhook 中使用同一个函数,每一个 webhook 可能包含不同类型和数量的信息。它们其中一个上传数据为 JSON 对象,另一个上传 CSV 文件。现在这两个是不同类型的数据,在函数内部的参数中可能不能使用。

在此情况下,您可以使用 crmAPIRequest 参数获取相应的内容。

"crmAPIRequest" 参数用于从“正文”、“参数”、“Header”或“用户”信息中获得数据。有了这一单个参数,不再需要在函数中创建多个参数,因为它动态地存储请求中的信息,并提供给函数内部。

备注

  • 您不必手动将值传递给 crmAPIRequest。CRM 将该请求对象映射至参数。
  • 如果对 crmAPIRequest 参数传递任何值,该值将被请求信息覆盖。

POSTMAN 的样本输出:

响应对象:

用户可以定义 API 的响应如何工作。如果用户想要显示/获取特定响应码作为函数的响应,他可以在函数中指定它。

除状态码外,用户还可以选择用特定文件类型获得响应,例如 JSON、HTML、文本等。

函数中的 crmAPIResponse 用作参数,让您确定输出响应的类型和内容。

状态码

只有一个状态码用来确定 API 调用是否成功或是否为损坏的请求。您可以定义对 API 调用所显示的状态码。

默认状态码为 200

要设置状态码:

/**
Your Business Logic here
**/
response = Map();
// to override the status code to 204.
response.put("status_code",204);
return {"crmAPIResponse":response};

内容类型

除状态码外,通常作为 JSON 对象提供的响应可设为用另一种格式来获取。

此密钥的默认值为 application/json;charset=utf-8

要获取文本格式的响应:

/**
Your Business Logic here
**/
response = Map();
// to override the content type, default is application/json
response.put("Content-Type","application/text");
return {"crmAPIResponse":response};

Header

响应Header在定义 API 调用作为响应而发出的文件/数据的大小和类型时有用。在一些情况下,用户更愿意查看响应Header,因为它们在确定操作的下一阶段(例如,下一 API 调用)时有用。

此密钥的默认值为 {"Content-Disposition", "attachment;filename=response.json"}

要获取响应Header:

/**
Your Business Logic here
**/
response = Map();
headers = Map();
headers.put("X-ZOHO-SOURCE","CRM");
headers.put("X-Frame-Options","SAMEORIGIN");
headers.put("X-RATELIMIT-LIMIT","60");
response.put("headers",headers);
return {"crmAPIResponse":response};

正文

响应正文将包含您需要作为其请求的响应而发送至第三方的信息。

正文的默认值为

要获取响应Header:

/**
Your Business Logic here
**/
response = Map();
body = "{<XML>}"
response.put("body",body);
return {"crmAPIResponse":response};

还没找到您需要的内容?

发送邮件给我们:support-crm@zohocorp.com.cn