Funções sem servidor – Tipos de entradas

A entrada para a função pode ser adquirida nos seguintes tipos:

Parâmetros

Os parâmetros são transmitidos no URL da string de consulta e os dados transmitidos na seção "form-data" da postagem em uma entrada. O "params" no mapa crmAPIRequest contém esses parâmetros que possuem todas as informações que são transmitidas na solicitação.

Enviar os parâmetros usando POSTMAN, dentro do URL da solicitação:

Enviar os parâmetros usando POSTMAN, como objetos JSON em form-data:

Enviar os parâmetros usando POSTMAN, como chaves em form-data:

Qualquer parâmetro que mapeie os argumentos definidos na função é automaticamente sincronizado.

Para obter parâmetros adicionais usados na solicitação:

crmAPIRequestMap = crmAPIRequest.toMap();
// para obter os parâmetros da solicitação
parameters = crmAPIRequestMap.get("params");
/**
Sua lógica de negócios aqui
**/
return crmAPIRequestMap;

Nota:

  • Evite usar o nome "argumentos" como um argumento dentro da função, pois a incompatibilidade de nomes pode levar alguns argumentos a não funcionarem.
  • O mapeamento dos argumentos da função é feito automaticamente quando transmitidos por meio de "parâmetros", ou seja, transmitidos por meio da string de consulta (do URL) ou form-data.

Fluxo

O "Corpo" da solicitação pode ser usado para obter o conteúdo que é transmitido como um fluxo para a solicitação. Geralmente o corpo só está em uso quando o método de solicitação é POST.

Enviar o corpo usando o POSTMAN como um fluxo (bruto):

Enviar o corpo usando o POSTMAN como um arquivo binário:

Para obter toda a seção do corpo da solicitação em uma função:

crmAPIRequestMap = crmAPIRequest.toMap();
// para obter o conteúdo do Corpo da solicitação
request_body = crmAPIRequestMap.get("body");
/**
Sua lógica de negócios aqui
**/
return crmAPIRequestMap;

No POSTMAN, o conteúdo do corpo pode ser transmitido na forma bruta ou binária.

Nota:

  • Se os argumentos da função forem transmitidos por Fluxo, eles não serão mapeados para os argumentos da função.
  • Caso seja preciso codificar/decodificar os dados de entrada dentro da função, você pode usar as Tarefas de criptografia disponíveis no Deluge.

Conteúdo do arquivo

Se o tipo de conteúdo da solicitação for "multipart", ela será considerada como um arquivo. Você pode obter o arquivo dentro da função no objeto de solicitação.

Os tipos de arquivo atualmente suportados são os arquivos de texto. Para enviar o arquivo para a função como dados "multipart", envie-o sob o nome de argumento "inputFile".

Para obter o upload do arquivo a ser usado na função:

crmAPIRequestMap = crmAPIRequest.toMap();
// para obter o conteúdo do Arquivo da solicitação
parameters = crmAPIRequestMap.get("file_content");
/**
Sua lógica de negócios aqui
**/
return crmAPIRequestMap;

Nota:

  • Se a entrada para a função é dada como um "file", os argumentos no arquivo não serão mapeados para os argumentos da função.

Cabeçalhos

O cabeçalho de uma solicitação geralmente contém informações adicionais sobre a solicitação. As informações disponíveis no cabeçalho podem ser adquiridas na chave "cabeçalhos" dentro do argumento crmAPIRequest.

Para obter os cabeçalhos da solicitação:

crmAPIRequestMap = crmAPIRequest.toMap();
// para obter informações do usuário da solicitação
header_request = crmAPIRequestMap.get("headers");
/**
Sua lógica de negócios aqui
**/
return crmAPIRequestMap;

Informações do usuário

Essa chave pode ser usada para obter as informações sobre o usuário, bem como sobre a organização do usuário, que chama a função usando o método OAuth2.

Para obter as informações sobre os usuários:

crmAPIRequestMap = crmAPIRequest.toMap();
// para obter informações do usuário da solicitação
user_info = crmAPIRequestMap.get("user_info");
/**
Sua lógica de negócios aqui
**/
return crmAPIRequestMap;

Nota:

  • Se a função for chamada como a chave de API, as informações do usuário obtidas serão as informações do superadministrador e não da pessoa que está chamando a função.

Tipo de autenticação e método

Essas 2 chaves podem ser usadas para obter as informações de autenticação (apikey ou oauth) e o método HTTP (GET/POST).

Para obter as informações sobre o tipo de autenticação:

crmAPIRequestMap = crmAPIRequest.toMap();
// para obter o método HTTP da solicitação
user_info = crmAPIRequestMap.get("method");
// para obter o tipo de autenticação da solicitação
user_info = crmAPIRequestMap.get("auth_type");
/**
Sua lógica de negócios aqui
**/
return crmAPIRequestMap;