Muitas das dores de cabeça em lançamentos digitais são a liberação de matrículas após as compras! Webhooks que são enviados, mas não são processados podem tomar o tempo do programador na abertura de carrinho.
Se você já passou por isso, essa aplicação de fácil instalação têm a solução, separando as responsabilidades e executando a liberação de matrículas da forma correta. Conte com armazenamento de logs, re-tentativas (em caso de sobrecarga) e tenha o real controle da situação em lançamentos digitais.
YeHooks é um produto interno da Yelloweb que recebe retornos de Gateways, para tornar lançamentos digitais mais assertivos.
Utilizando o WorkControl como base para a aplicação, temos de forma fácil uma configuração que recebe, armazena, e libera matrículas de cursos do seu lançamento digital. Chegou para corrigir alguns problemas de recebimento de webhook e com certeza pode acelerar o desenvolvimento de seus projetos EAD.
Principais características da aplicação:
- Fácil instalação
- Lógica padronizada, e de fácil implementação
- Integração com:
- Hotmart
- Kiwify
- Eduzz
- Green
Esteja ciente que não podemos prever outras versões do WorkControl criadas e/ou disponibilizadas por você ou por outros profissionais! Caso tenha um WorkControl customizado e não tem conhecimento necessário para adaptação, você deve solicitar suporte para quem disponibilizou a customização para que possa instalar e usufruir essa aplicação!
- Compatível com WorkControl v3.1.4
- Até PHP 7.4
Arquivo /_app/Config.inc.php (a partir da linha #112 do WC original).
Adicione somente o conteúdo em negrito no arquivo, conforme abaixo:
(...)
require 'Config/Config.inc.php';
require 'Config/Agency.inc.php';
require 'Config/Client.inc.php';
require 'Config/Custom.inc.php';
Importante: Caso você já tenha instalado alguma outra aplicação comprada aqui no meu market e o require para esse arquivo Custom.inc.php já existir, você não precisa (e não deve) chamá-lo novamente neste local... O que você precisa fazer é copiar o conteúdo do novo arquivo e mesclar com o conteúdo existente!
Depois, neste mesmo arquivo, adicione a instrução para incluir as classes no autoload padrão do WorkControl. Você precisa copiar os novos índices 'DataLayer', 'DataModel' para o bloco de código ilustrado abaixo:
Para começar, precisamos copiar os arquivos para dentro do WorkControl. Siga a lista abaixo de arquivos e seu respectivo local de destino:
Nome da pasta ou arquivo | Local de destino |
/Custom.inc.php | BASE-DO-PROJETO/_app/Config/aqui |
/DataLayer | BASE-DO-PROJETO/_app/aqui |
/DataModel | BASE-DO-PROJETO/_app/aqui |
/plataform | BASE-DO-PROJETO/_cdn/widgets/aqui |
Para que a aplicação execute as matrículas, vamos adicionar uma Cron ao servidor responsável por esse processo!
A decisão de fazer essa ação via Cron veio da necessidade de centralizar a tomada de decisão em um arquivo só. Ou seja, cada Plataforma possui sua URL responsável por receber o Webhook de retorno, mas a alteração do status real da compra e liberação da matrícula, bem como o envio de email para o novo aluno acontece nessa Cron, portanto, é indispensável a execução dessa Cron no seu servidor!
- Em cPanel
Caso seu projeto possua cPanel, acesse o menu "Cron Jobs":
Selecione em "Common Settings" a opção Once Per Minute
No campo "Command" adicione o seguinte código:
php -f /home/account/public_html/_cdn/widgets/plataform/transactions.php
- ** Substitua account pelo nome do usuário da conta logada no cPanel (você encontra o nome no canto superior direito da tela)
- Em outros painéis de controle
Se a hospedagem não tiver cPanel, não tem problema... Outras hospedagens permitem a execução de URL's em um intervalo de tempo pré-determinado, o que você precisa configurar é a execução da seguinte URL no menor intervalo possível:
https://seusite.com.br/_cdn/widgets/plataform/transactions.php
Solicite suporte da Hospedagem caso necessário! Mas antes de tudo lembre-se: você está hospedando um projeto que fará vendas através de um checkout transparente! Esta URL precisa ser executada e a melhor maneira de fazer isso é via Cron, portanto, procure uma hospedagem confiável e que disponibilize essa opção!
Pré-requisitos para configurar Kiwify:
- Ter uma conta na plataforma Kiwify
- Ter seguido a instalação até aqui
Para iniciar o setup da Kiwify tenha em mãos os dados de login da sua conta Kiwify. De início vamos criar um Curso para que a Kiwify possa ter o respectivo checkout de vendas daquele produto.
Crie um novo Produto
Vá até o menu Produtos da sua conta Kiwify
1) Clique em Criar produto
2) Em Tipo de pagamento: você pode selecionar qualquer uma das opções pois a YeHooks é compatível também com sistema de assinaturas. A Entrega do conteúdo deve ser: Área de membros externa
3) Confirme a criação do seu produto
Se você já possui um produto, não precisa criar outro. Apenas navegue até a página de Edição de Dados de seu produto.
Configure o webhook deste produto
Acesse o menu Apps > Webhooks, depois clique em Criar Webhook.
1) Dê um nome para a aplicação
2) Informe a URL do seu projeto + a url para acessar o caminho /_cdn/widgets/plataform/transactions.php
3) Copie seu token de autenticação
4) Selecione todos os eventos
5) Criar
Observação: no campo Produtos você pode selecionar a opção Todos os que sou produtor, ou pode criar um webhook para cada produto. Essa configuração fica ao seu critério
Tutorial de teste Kiwify
Esse vídeo tem o objetivo de passar detalhadamente instruções de como testar seu webhook, e ter certeza absoluta que tudo está funcional antes do lançamento digital:
Precisamos fazer a importação das tabelas responsáveis pelo gerenciamento da sua aplicação. Para isso, utilize o seu SGBD padrão ou utilize o seu phpmyadmin
Na raiz da pasta baixada temos o arquivo yehooks_1.0.0.sql! Você deve importá-lo para dentro do banco de dados de sua aplicação!
Agora, depois de tudo feito é necessário dar um reset dentro da área administrativa do WorkControl.
Para fazer isso basta ir até Menu > Configurações > Configurações Gerais e clicar no botão Resetar Configurações.
Tudo pronto! Se tudo foi feito como descrito neste tutorial sua Aplicação deve estar funcionando corretamente.