Funções sem servidor - Objeto de solicitação e resposta
Objeto de solicitação:
Você pode obter todo o Objeto de solicitação dentro da função usando o argumento "crmAPIRequest".
Digamos que você tenha criado uma função e definido 2 argumentos. Agora, você precisa usar a mesma função em 2 webhooks diferentes, cada um dos quais pode conter diferentes tipos e quantidades de informação. Um deles faz upload dos dados como um objeto JSON e o outro faz upload de um arquivo CSV. Agora, esses dois tipos de dados são diferentes e podem não estar disponíveis em um argumento dentro da função.
Nesse caso, você pode usar o argumento crmAPIRequest para obter o conteúdo correspondente.

O argumento "crmAPIRequest" pode ser usado para obter os dados das informações de "Corpo", "Parâmetro", "Cabeçalho" ou "Usuário". Com este argumento único, não há mais necessidade de criar vários argumentos dentro da função, pois ela armazena dinamicamente as informações da solicitação e as disponibiliza dentro da função.
Nota:
- Você não precisa passar os valores manualmente para o crmAPIRequest. O CRM mapeia o objeto de solicitação para o argumento.
- Ainda assim, se algum valor for transmitido para o argumento crmAPIRequest, ele será substituído pelas informações da solicitação.
Uma Saída de amostra do POSTMAN:

Objeto de resposta:
O usuário pode definir como a resposta da API será. Se o usuário quiser exibir/obter um determinado código de resposta como a resposta da função, ele poderá especificá-lo dentro da função.
Além dos códigos de status, o usuário também pode optar por obter a resposta em um tipo de arquivo específico, como JSON, HTML, texto etc.

O crmAPIResponse na função serve como o argumento que permite determinar o tipo e o conteúdo da resposta de saída.
Código de status
Existem apenas alguns códigos de status que geralmente são usados para identificar se a chamada de API é bem-sucedida ou se é uma solicitação incorreta. Você pode definir o código de status a ser exibido para a chamada de API.
O código de status padrão é 200.
Para definir o código de status:
/**
Sua lógica de negócios aqui
**/
response = Map();
// para substituir o código de status para 204.
response.put("status_code",204);
return {"crmAPIResponse":response};
Tipo de conteúdo
Além dos códigos de status, a resposta geralmente fornecida como um objeto JSON pode ser configurada para ser obtida em um formato diferente.
O valor padrão dessa chave é application/json;charset=utf-8.
Para obter a resposta em formato de texto:
/**
Sua lógica de negócios aqui
**/
response = Map();
// para substituir o tipo de conteúdo; o padrão é application/json
response.put("Content-Type","application/text");
return {"crmAPIResponse":response};
Cabeçalhos
Os cabeçalhos de resposta são úteis para definir o tamanho e o tipo de arquivo/dados que a chamada de API fornece como resposta. Em alguns casos, as pessoas preferem ver os cabeçalhos de resposta, pois são úteis para determinar o próximo curso de ação, isto é, a próxima chamada de API.
O valor padrão desta chave é {"Content-Disposition", "attachment;filename=response.json"}.
Para obter os cabeçalhos de resposta:
/**
Sua lógica de negócios aqui
**/
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};
Corpo
O corpo da resposta conterá as informações que você precisa enviar para a terceira parte como resposta à sua solicitação.
O valor padrão é empty.
Para obter os cabeçalhos de resposta:
/**
Sua lógica de negócios aqui
**/
response = Map();
body = "{<XML>}"
response.put("body",body);
return {"crmAPIResponse":response};