yBridge - Criação de conectores privados

Os conectores privados são conectores exclusivos do cliente dentro do YMI, ou seja, só estarão disponíveis para o ambiente do cliente. Esses conectores tem como objetivo agrupar funções que serão usadas no yBridge. Para saber mais sobre o yBridge clique aqui.

Os conectores e funções são gerenciados via interface, é possível manipular todas as suas configurações e o código da função, que deve ser escrito em Node.js.

De maneira geral os conectores podem ser considerados como um serviço, e as funções são as ações que podem ser executadas por esse serviço. 


Criando um conector


Acesse o menu yBridge / Conectores. Serão listados todos os conectores privados já cadastrados. 


Clique no botão "Novo". A tela apresentada tem apenas o campo "nome" como obrigatório, opcionalmente pode ser incluída uma descrição. É interessante para organização dos seus conectores que o nome do conector identifique um serviço.



Criando uma função


Depois de criar o conector os dados do mesmo continuarão sendo exibidos, e abaixo deles será exibida a listagem de funções desse conector. 

 

Clique no botão "Novo", logo abaixo de "Funções de NOME_DO_SEU_CONECTOR". A tela apresentada tem campos que explicaremos em tópicos. 

  • Nome da função - Campo obrigatório. Identifica a ação que será executada pela função. O nome não pode conter caracteres especiais.
  • Informações de ajuda - A ajuda é exibida sempre que a função é selecionada na configuração de um step de um workflow do yBridge. É útil quando é necessário exibir alguma informação referente a função ou a sua utilização. Pode ser cadastrada em Português, Inglês ou Espanhol. 
  • Parâmetros - É útil quando a função precisa receber parâmetros de autenticação ou configuração para ser executada. Os parâmetros devem ser salvos em formato JSON conforme exemplo: {"nome_paremetro1" : "placeholder_paremetro1", "nome_paremetro2" : "placeholder_paremetro2"}. Em "Padrões de Código" explicaremos como esses parâmetros serão utilizados na função. 
  • Ajuda dos parâmetros - É útil quando é necessário exibir alguma informação referente ao preenchimento do parâmetro. É exibida ao clicar no ícone de ajuda que fica ao lado do parâmetro quando o mesmo possui alguma informação de ajuda, na configuração de um step de um workflow do yBridge. Deve ser salva em formato JSON com pares de "nome do parâmetro" e "informações de ajuda" referentes ao parâmetro. Exemplo: {"nome_paremetro1" : "Informação 1", "nome_paremetro2" : "Informação 2"}. Também pode ser cadastrada em Português, Inglês ou Espanhol. 
  • Exemplo de resposta - Campo obrigatório. JSON que representa os dados que serão retornados pela função após a execução. Esses dados são importantes para saber que dados podem ser utilizados por steps subsequentes ao step que utilizará a função. Exemplo: {"id" : 1 }.
  • Resposta HTTP esperada - Código de estado HTTP esperado no retorno da função. Exemplo: 200.
  • Tempo limite para execução - Tempo máximo em segundos que a função poderá aguardar execução. É importante definir um tempo limite para execução da função, pois o tempo de execução influencia no valor que será pego pelo cliente na utilização do yBridge. Exemplo: 3.
  • Memória - Limite de memória que a função poderá utilizar. Também influencia no valor que será pego pelo cliente na utilização do yBridge.
  • Versão - Versão Node.js que será utilizada para execução da função.
  • Código Node.js - Código da função em Node.js. Veja como escrever seu código corretamente em "Padrões de Código".



Padrões de Código


A estrutura obrigatória de uma função é:

exports.handler = function(event, context,) {
   ...
}

Porém recomendamos a utilização do callback para que a função possa retornar algum dado referente a execução, como no exemplo a seguir:

exports.handler = function handler(event, context, callback) {
    callback(null, {
        data: event,
        meta: {http_response: 200} 
    });
};
Onde:
  • event - Objeto que contém todos os dados inseridos nos parâmetros configurados para a função. Esses dados podem ser manipulados e utilzados na execução da função.
  • context - Objeto que contém informações internas de execução que não precisam ser utilizadas. 
  • callback - Pode ser usado opcionalmente para retornar um objeto de resposta ao chamador da função, caso contrário o valor de retorno é nulo. 
  • handler - Este é o nome da função a ser invocada. Você exporta isso para que seja possível que o interpretador execute a função.


Utilizando os conectores privados na prática - yBridge


IMPORTANTE - Seu conector privado só funcionará se for selecionada a versão 02 ou superior para o interpretador no cadastro do workflow.



Na configuração de um step de um workflow do yBridge, os conectores privados estarão disponíveis no campo "Conector" na categoria "Customizados". 

   


As funções cadastradas serão listadas no campo "Função".


Todos os valores inseridos para os parâmetros serão recebidos pela função.


Em termos de código, os parâmetros com seus respectivos valores estarão acessíveis pelo objeto "event". Exemplo:

exports.handler = function handler(event, context, callback) {
    var result = event.nome_paremetro1 * event.nome_paremetro1;
    callback(null, {
        data: {result: result},
        meta: {http_response: 200} 
    });
};


Isto ajudou o seu problema?