Requisições com invokeURL

InvokeUrl é um cliente HTTP que permite  acessar e modificar:

  • recursos da web usando chamadas HTTP.
  • dados de um serviço Zoho de outro serviço Zoho usando a URL especificada em sua API
  • dados de um serviço de terceiros conectado ao seu serviço Zoho usando o URL especificado em sua API.

Observações:

  • Esta tarefa lançará um “erro de tempo limite de soquete” se o recurso da web / API demorar mais de 40 segundos para responder. 
  • No Zoho Creator, você pode baixar arquivos de tamanho de até 50 MB usando esta tarefa.
  • Em outros serviços além do Zoho Creator, você pode baixar arquivos de domínio Zoho de até  15 MB e outros arquivos de domínio de até 5 MB .

Sintaxe

response = invokeUrl
[ 
 url: <url_value> 
 type: [<type_value>] 
 headers: [<headers_value>] 
 content-type: [<content_type_value>] 
 parameters: [<parameters_value>] 
 files: [<files_value>] 
 connection: [<connection_name>] 
 detailed: [<detailed_value>] 
 response-format: [<response_format_value>] 
 response-decoding: [<encoding_format_value>] 
];

<response> A variável que conterá a resposta retornada.

<url_value> O URL da solicitação cujos recursos precisam ser acessados.

<type_value> Método de solicitação HTTP, os valores permitidos são:

  • GET (valor padrão)
  • POST
  • PUT
  • PATCH
  • DELETE

<headers_value> Os atributos ou os valores do cabeçalho.

<content_type_value>  O tipo de conteúdo que precisa ser enviado no corpo da solicitação HTTP.
Valores permitidos: qualquer tipo de conteúdo válido. Por exemplo, multipart / form-data, application / x-www-form-urlencoded, application / json, etc.

<parameters_value> O corpo da solicitação.

Envie vários tipos de corpo de solicitação usando invokeUrl:

  • Raw: os dados TEXT para este parâmetro serão enviados como tipo raw.
     
  • x-www-form-urlencoded: os dados KEY-VALUE para este parâmetro serão enviados como tipo x-www-form-urlencoded .
     
  • Dados do formulário: os dados do VALOR-CHAVE para este parâmetro serão enviados como tipo de dados do formulário multipartes, se o valor do   parâmetro do tipo de conteúdo for especificado como  dados do formulário / multipartes .

    Observação:
    • Se o valor do parâmetro content-type não for especificado como  multipart / form-data , os dados KEY-VALUE serão tratados como tipo  x-www-form-urlencoded  .
    • No  Zoho Creator , os valores multipart / form-data devem ser especificados no  parâmetro files
       
  • Binário: os dados FILE são enviados como tipo binário.

    Observação:
    • O valor do  parâmetro <content-type> deve ser especificado como  application / octet-stream , para reconhecer que o corpo é enviado como tipo binário.
    • O tipo binário não é aplicável ao Zoho Creator.


<files_value>  No  Zoho Creator , se o corpo da solicitação precisa ser enviado como dados de formulário de várias partes, os valores precisam ser fornecidos a este parâmetro.

Observação:

  • Apenas os arquivos recebidos como resposta de uma tarefa invokeUrl podem ser anexados.
  • Este parâmetro também pode ser usado em outros serviços além do Zoho Creator. No entanto, para enviar dados de formulário multipartes de  serviços diferentes do Zoho Creator , recomendamos que você forneça os valores como VALOR-CHAVE para o  parâmetro body enquanto especifica o  parâmetro de tipo de conteúdo como  multipart / form-data .
  • função toFile pode ser usada aqui. Por exemplo, você pode pegar um valor de texto no formato csv e usar a função ‘toFile’ para passá-lo como um arquivo csv. Observe que esta função não é aplicável ao Zoho Creator.
  • No Zoho Creator, o texto de entrada que será convertido em arquivo não pode ter mais de 50 MB .

Formato para enviar dados KEY-VALUE,

  • Se o valor associado com a chave é FILE:
<variable> = { “paramName” : <key>, “content” : <File>};
  • Se o valor associado à chave for TEXT:
<variable> = { “paramName”: <key>, “content” : <Text>, “stringPart” : “true”};
 
Formato para enviar dados LIST of FILE:
<Arquivo1>. setParamName (<FileName1>);
<Arquivo2>. setParamName (<FileName2>);
list_of_files = List ();
List.add (<File1>);
List.add (<File2>);
 
A função interna setParamName  é usada para definir o nome especificado para o objeto de arquivo que precisa ser enviado em dados de formulário com várias partes usando invokeUrl. Esta função não pode ser aplicada em arquivos obtidos usando a tarefa de obtenção de registros ou a expressão input. <field_name>.
 

Formato para enviar dados LIST of TEXT:

list_of_text = List ();
List.add (<Text1>);
List.add (<Text2>);
 
Formato para enviar dados LIST of KEY-VALUE,
  • Se os valores das chaves forem FILES:
list_of_key_value = List ();
list_of_key_value.add ({” paramName “: <key1>, ” content “: <File1>});
list_of_key_value.add ({” paramName “: <key2>, ” content “: <File2>});
  • Se os valores das chaves forem do tipo de dados TEXT:
list_of_text = List ();
list_of_text.add ({” paramName “: <key1>, ” content “: <Text1>, ” stringPart “: “true”});
list_of_text.add ({” paramName “: <key2>, ” content “: <Text2>, ” stringPart “: “true”}); 
 
<connection_name> o nome da conexão do serviço necessário.
Observação: várias conexões podem ser criadas para o mesmo serviço.
 
<detailed_value> Este parâmetro decide se uma resposta detalhada precisa ser retornada.

Valores permitidos: 

  • true – retorna o código de resposta (código de status HTTP), a resposta do cabeçalho e o conteúdo da resposta como VALOR-CHAVE.
  • false – retorna o conteúdo da resposta.

Valor padrão: falso

<response_format_value> Se este parâmetro for fornecido com o valor –  FILE , a resposta será convertida e retornada como um objeto FILE.

Valores permitidos: FILE

<encoding_format_value> O esquema de codificação de caracteres com o qual a resposta retornada precisa ser decodificado.

Valor padrão: UTF-8

O exemplo a seguir busca uma imagem da web usando seu URL:

				
					obtemImg = invokeurl
[
	url: "https://yt3.ggpht.com/ytc/AKedOLRn7y2EFXPcZB4Bndc0X38tS81O0O0v8iRgD0iu=s900-c-k-c0x00ffffff-no-rj"
	type: GET
];
				
			

<obtemImg> o arquivo que contém a imagem que será obtida da web. 

<https://yt3.ggpht.com/ytc/AKedOLRn7y2EFXPcZB4Bndc0X38tS81O0O0v8iRgD0iu=s900-c-k-c0x00ffffff-no-rj> o texto  que representa o URL da imagem que precisa ser buscada.

<GET> o método de solicitação HTTP.

O exemplo abaixo atualiza a imagem de registro do módulo Contatos no Zoho CRM

				
					// variável que vai obter a imagem
resp = invokeurl
[
	url :"https://pbs.twimg.com/profile_images/1011277014924496897/aTMLLVVZ_400x400.jpg"
	type :GET
];

// variável do tipo lista 
files = List();

// nome para o arquivo
resp.setParamName("file");

// adicionando a imagem obtida na lista
files.add(resp);

// variável que vai atualizar a imagem do contato
resp1 = invokeurl
[
	url :"https://www.zohoapis.com/crm/v2/Contacts/" + 4471297000012344001 + "/photo"
	type :POST
	files:files
	connection:"crm"
];
				
			

<resp> variável que vai obter a imagem da URL

<files> variável do tipo lista para armazenar a imagem

<setParamName> é usada para definir o nome especificado para o objeto de arquivo que precisa ser enviado em dados de formulário com várias partes usando invokeUrl.

<resp1> variável que vai inserir a imagem no Contato

<4471297000012344001> id do contato que vai ser atualizado no Zoho CRM

Deixe uma resposta