Código

const moment = require('moment')
const request = require('request')
const lodash = require('lodash')  
 
module.exports = async (input, user, flow, env) => {
 
  const resultado = {
    equipe: "não encontrado",
    produto: "não encontrado"
  };
 
  if (flow.campaign) {
    const partes = flow.campaign.split('_');  
 
    resultado.convenio = partes[0];
    resultado.data = partes[1];
    resultado.equipe = partes[partes.length - 1];
    resultado.produto = partes[partes.length - 2];  
 
    if ((resultado.produto === "cp" && resultado.equipe !== "cscp") ||
        (resultado.produto === "cdx" && resultado.equipe !== "cscdx")) {
 
      throw new Error(`Inconsistência detectada: produto "${resultado.produto}" deve ir para equipe correta, mas foi direcionado para "${resultado.equipe}"`);
    } 
 
    // Avalia low_touch baseado na presença de "lowtouch" na campaign
 
    resultado.low_touch = flow.campaign.toLowerCase().includes('lowtouch') ? 'sim' : 'não';
 
  } else {
    resultado.low_touch = 'não';
  }
 
  // Avalia engagement_elegible
  const equipesElegiveis = ['csapp', 'csport', 'csativacao', 'cscp', 'cscdx'];
  resultado.engagement_elegible = equipesElegiveis.includes(resultado.equipe) ? 'sim' : 'não';
 
  return resultado;
}

Saídas

  • Resultado da execução do código acima

Descrição adicional

Relações

← Recebe de: 1-flow-variable---campaign
→ Envia para (Sucesso): 3-flow-variable---team → Envia para (Erro): 3-flow-variable---team

Observações