Download the PHP package fhsconsulting/module-wapp-login without Composer

On this page you can find all versions of the php package fhsconsulting/module-wapp-login. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package module-wapp-login

WApp Login (FHSConsulting)

Módulo para Adobe Commerce, Magento Open Source e ecossistemas compatíveis (ex.: Mage-OS) que permite login e registo de clientes via WhatsApp, usando código OTP enviado pela API do serviço WApp Login.

O módulo foi pensado para arquitetura headless: o storefront pode ser PWA, app móvel, Next.js, Vue, React ou qualquer cliente HTTP — a loja expõe operações GraphQL documentadas abaixo, sem depender do tema Luma ou de blocos PHP no frontend.

Repositório: github.com/fhsconsulting/magento-whatsapp-login


O que o módulo faz

  1. Verificação de número — pergunta ao serviço remoto se o telefone está registado no WhatsApp (útil para validar o input antes de pedir OTP).
  2. Envio de OTP — gera um código de seis dígitos (formato 000-000), envia a mensagem pela instância WhatsApp; só após o envio ser aceite pela API o módulo cria o customer no Magento (se ainda não existir), grava o OTP em cache com TTL configurável e conta o rate limit.
  3. Login — após o cliente introduzir o código correto, o módulo valida o OTP (uso único, expiração), associa o número a um customer no Magento (criação automática se ainda não existir no website) e devolve um CustomerToken igual ao fluxo clássico de token de cliente — o frontend usa Authorization: Bearer <token> nas queries/mutations GraphQL do customer.

No Admin, configura-se Base URL, API Key, OTP (validade, texto da mensagem com {{code}}, rate limit), ligar/desligar o login por loja e o painel de instância WhatsApp (pareamento da instância que envia as mensagens).


API Key e serviço remoto

É obrigatório possuir uma chave API (API Key) fornecida pela FHSConsulting / suporte do módulo. Sem chave válida e Base URL corretas, as chamadas ao servidor da API WApp Login falham e o envio de mensagens não funciona.

A API Key é guardada encriptada no Magento (Stores → Configuration → WApp Login → Credenciais → API Key) e é enviada no header apikey nas integrações HTTP do módulo.

Licença e teste gratuito

Item Detalhe
Licença R$ 197 / mês
Adquirir licença Abrir WhatsApp — quero adquirir uma licença do módulo WAppLogin
Teste gratuito 7 dias — deve ser solicitado pelo WhatsApp
Solicitar teste Abrir WhatsApp — quero fazer um teste gratuito do módulo WAppLogin

Requisitos

Instalação

O pacote pode ser instalado facilmente via Composer, na raiz do projeto Magento:

Depois, ative o módulo e aplique as alterações de esquema / DI:

Instalação manual (alternativa): copie o código para app/code/FHSConsulting/WAppLogin e execute os mesmos comandos bin/magento acima.


Configuração no Admin

Stores → Configuration → General → WApp Login (separador Service; recurso ACL FHSConsulting_WAppLogin::instance).

Grupo Campos importantes
Geral Habilitar Login via WhatsApp — quando desligado, as operações GraphQL abaixo recusam o pedido para essa vista de loja.
Código de verificação (OTP) Validade em segundos (ex.: 60), texto da mensagem com {{code}}, máximo de envios por janela e duração da janela (anti-abuso).
Credenciais Base URL da API, API Key (obtida com o suporte).
Conexão WhatsApp Painel de instância: criar/ligar a instância que envia as mensagens (fluxo administrativo do módulo).

Use o scope (Default / Website / Store View) no topo da página para multi-loja; o GraphQL respeita a loja indicada pelo header Store e, opcionalmente, o campo store nos inputs (deve coincidir com esse header).


GraphQL e arquitetura headless

O endpoint padrão do Magento é:

O schema adiciona uma query e duas mutations (ver etc/schema.graphqls). Os tipos CustomerToken, String, Int, etc. seguem o schema nativo do Magento_CustomerGraphQl onde aplicável.


Tipos e enums (resumo)

Nome Tipo Significado
WappLoginWhatsAppYesNo enum YES — número com WhatsApp; NO — caso contrário.
WappLoginSendCodeStatus enum SENT — código gerado e pedido de envio feito; RATE_LIMITED — limite de envios por número/loja na janela configurada.
IsWhatsAppNumber tipo is_whatsapp: WappLoginWhatsAppYesNo!
WappLoginSendCodeResult tipo status, expires_in_seconds (segundos até expirar o OTP em SENT, ou contexto da janela em RATE_LIMITED).
WappLoginSendCodeInput input phone (obrigatório), store (opcional).
WappLoginWithWhatsAppInput input phone, code, store (opcional).
CustomerToken tipo (core) token: String — usar como Bearer nas chamadas seguintes.

Query: wappLoginIsWhatsAppNumber

Objetivo: saber se o número está registado no WhatsApp, antes de pedir OTP (melhora UX e reduz pedidos inúteis).

Argumentos

Argumento Tipo Obrigatório Descrição
phone String! Sim Telefone com código do país; espaços e pontuação são ignorados na normalização (ficam só dígitos).

Regras

Exemplo

Variáveis:

Resposta típica


Mutation: wappLoginSendVerificationCode

Objetivo: gerar OTP, pedir o envio da mensagem pela instância WhatsApp e, somente se o envio for bem-sucedido, criar o customer no website (se necessário, com email sintético), gravar o OTP em cache e aplicar o rate limit. Se a API falhar (rede, número inválido, etc.), não é criado customer nem OTP válido no cache.

Input: WappLoginSendCodeInput

Campo Tipo Obrigatório Descrição
phone String! Sim Mesmo formato que na query: dígitos com país.
store String Não Código da store view; se enviado, tem de ser o mesmo que o header Store do pedido.

Comportamento de status

Exemplo

Variáveis:

Resposta típica

Erros comuns: loja com login desativado, telefone inválido, falha de API/remota (mensagem localizada no GraphQL).


Mutation: wappLoginWithWhatsApp

Objetivo: validar o código recebido por WhatsApp (6 dígitos, com ou sem hífen), consumir o OTP (uso único) e devolver o token de sessão do customer, equivalente ao obtido com generateCustomerToken no schema padrão.

Input: WappLoginWithWhatsAppInput

Campo Tipo Obrigatório Descrição
phone String! Sim O mesmo número usado no envio do código.
code String! Sim Ex.: 123456 ou 123-456 — apenas os dígitos são considerados.
store String Não Mesma regra de consistência com o header Store.

Resposta: CustomerToken! com campo token.

Exemplo

Variáveis:

Uso do token (headless)

Depois disso, o cliente pode chamar customer, cart, wishlist, etc., conforme as permissões do schema GraphQL da sua instalação.

Erros: código incorreto ou expirado, login desativado, falhas de autenticação — o resolver traduz para exceções GraphQL adequadas (GraphQlAuthenticationException / GraphQlInputException).


Fluxo recomendado no frontend (headless)

  1. Opcional: wappLoginIsWhatsAppNumber → se NO, avisar o utilizador.
  2. wappLoginSendVerificationCode → mostrar countdown com expires_in_seconds; tratar RATE_LIMITED com mensagem clara.
  3. Utilizador insere o código recebido no WhatsApp.
  4. wappLoginWithWhatsApp → guardar token (memória segura / storage da app).
  5. Incluir Authorization: Bearer em todos os pedidos GraphQL autenticados.

Notas técnicas


Suporte


Licença do software (código)

O pacote declara OSL-3.0 e AFL-3.0 no composer.json. A licença comercial de uso do serviço (R$ 197/mês) é independente e contratada junto da FHSConsulting.


Documentação alinhada ao módulo FHSConsulting_WAppLogin — WApp Login.


All versions of module-wapp-login with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
magento/framework Version ^103.0.4
ext-json Version *
ext-curl Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package fhsconsulting/module-wapp-login contains the following files

Loading the files please wait ...