[Resolvido] Problema getResponseFormat() no hook

Este tópico contém respostas, possui 2 vozes e foi atualizado pela última vez por  Adam 2 anos, 1 mês atrás.

  • Autor
    Posts
  • #9364

    Boa tarde pessoal.
    Atualizei hoje o meu WHMCS para a versão 7.2.2.

    E estou encontrando problema para enviar os emails de faturas e ticket apenas, ou seja os que passam pelo hook gofas_hash_email_template
    Estou debugando o código e me parece q o problema está nessa parte:

    $getClientValues['responsetype'] = 'json';
    $getClientResults = localAPI( 'GetClientsDetails', $getClientValues, $whmcsAdmin );

    Veja o erro que retorna
    http://prntscr.com/fet5lx

    Quando eu deleto o arquivo gofas_hash_email.php da pasta hooks, os emails são enviados normalmente.

  • #9368

    Gofas
    Mestre

    Olá Adam,

    as versões 7.2.1 e 7.2.2 do WHMCS introduziram alguns bugs, entre eles, houve alteração na estrutura dos arrays retornados pela requisição remota à API interna do WHMCS e a ação “GetClientsDetails” da função localAPI() (simplesmente) parou de funcionar, pois provavelmente a estrutura da requisição foi alterada, mas os desenvolvedores do WHMCS ainda não atualizaram a documentação nem mencionaram nada sobre esse assunto nos canais da empresa.

    Como esse módulo é de extrema importância para algumas instalações WHMCS que administramos para nossos clientes, atualizamos ele há alguns minutos, agora o autologin conecta-se diretamente ao banco de dados utilizando as funções do Laravel framework para obter os dados do cliente e verificar o URL gerado dinamicamente, evitando erros devido as alterações nas funções da API interna do WHMCS.

    Você já pode baixar a versão 2.2 do módulo nesse link.

  • #9369

    Puxa, maravilha Gofas…

    Eu já tinha incrementado seu módulo dessa forma, usando “use WHMCS\Database\Capsule;” mas somente para os emails de domínios, pois não encontrei uma localAPI de domínios igual a GetClientDetails. Entendeu?

    Olha a sugestão:

    if ( strpos( $message_name, "Domain") !== false ) {
    		$domain = Capsule::table('tbldomains')->where('id', $relid)->first();
    		$user_id = (int)$domain->userid;
    }

    Assim, os emails referente a registro, renovação, código epp, etc… Funcionarão com o auto login tbm.

    O que vc acha???

    • #9442

      Gofas
      Mestre

      Nossa Adam, me perdoa, eu li essa última resposta no e-mail e deixei para responder depois mas esqueci…
      Eu acho ótima sua sugestão, inclusive vou adicionar na próxima atualização esse e outros novos verificadores, gratidão por compartilhar sua ideia com a gente!

      • #9450

        Legal Gofas…
        Vou ficar aguardando essa ~próxima atualização!
        Valeu!

Você deve fazer login para responder a este tópico.