Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introdução

Bem-vindo ao guia de integração do NicoChat com o mini app da Hotmart. Esta documentação fornecerá um passo a passo detalhado sobre como configurar e aproveitar as funcionalidades do NicoChat em conjunto com a Hotmart, uma das plataformas líderes em vendas de cursos online. A integração permite automatizar interações, processar dados e gerenciar comunicações eficientemente.

...

Copie o Client ID, Client Secret e o token Basic (com apenas um "Basic").

Note

Você só poderá ver esses dados uma vez, para poder salvar a cópia em um local seguro.

Instalar o NicoApp:

  1. Acesse a seção "NicoApps" no NicoChat.

  2. Selecione e instale a versão mais recente disponível para Hotmart (ex.: 1.1, 1.2).

...

Clique em “Editar”, ative o “Pré-processamento de dados” e insira o código abaixo:

Code Block
languagejs
function formatarTelefone(telefone) {
    let whatsapp = telefone.replace(/\D/g, '');
    // Adicione aqui exceções de DDi que não devem receber o tratamento do Script
    if (telefone.startsWith('+55') || telefone.startsWith('55') || (telefone.startsWith('+') && !telefone.startsWith('+55'))) {
        return whatsapp;
    }
    
    const ddi = "+55";
    let ddd;
    
    if (whatsapp.length === 10 || whatsapp.length === 11) {
        ddd = whatsapp.slice(0, 2);
        whatsapp = whatsapp.slice(2);
        if (parseInt(ddd, 10) <= 28) {
            whatsapp = '9' + whatsapp.slice(-8);
        } else {
            whatsapp = whatsapp.slice(-8);
        }
        return ddi + ddd + whatsapp;
    }
    return whatsapp;
}

if (payload.data.subscriber) {
    return {"email": payload.data.subscriber.email, "phone": "", "body": payload};
} else if (payload.data.buyer) {
    const telefone = payload.data.buyer.checkout_phone || payload.data.buyer.phone;
    return {"email": payload.data.buyer.email, "phone":payload.data.buyer.checkout_phone, formatarTelefone(telefone), "body": payload};
} else if (payload.data.subscription.user) {
    return {"email": payload.data.subscription.user.email, "phone": "", "body": payload};
} else {
    throw new Error('Email não encontrado no payload.');
}

...