Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala pessoal, bom dia!
Possuo um provedor de hospedagens e afim de melhorar o atendimento e agilizar estou implementando a automação de funções como, Criar contas, Suspender, Terminar, etc. Mas estou tendo sérios problemas e dúvidas de como trabalhar com a API do Cpanel / WHM.
Atualmente eles disponibilizam em XML e Json e através de informações do site, os links para acessar cada função.
Atualmente já utilizo a listagem de contas de hospedagem, mas fico restrito a isso, pois não sei como obter quais parâmetros passar para criar contas e etc. E com isso gostaria de criar um tópico que fosse utilizado como referência para que outras pessoas pudessem utilizar a API deste sistema.
Quem puder contribuir, agradeço.
Segue abaixo script utilizando a biblioteca Curl para listagem das contas de hospedagem:
Listar Contas:
<?php
//inicia a cURL
$ch = curl_init();
// seta as opcoes
curl_setopt($ch, CURLOPT_URL, "[http://dominio.com.br:2086/json-api/listaccts"](http://dominio.com.br:2086/json-api/listaccts));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, 'usuario:senha');
// acessar URL
$output = curl_exec($ch);
// Pega o código-fonte da resposta
$response_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
//trata o erro
if($response_code == '404') {
echo 'Página não existente'; echo $output;
}
?>Opa, Fala meu camarada.
Primeiramente obrigado pela atenção... mas sendo sincero não faço muita ideia de como utilizar essa class... nem como chamar as funções.
Será que poderia estar ajudando nesse modo? e dessa forma também podemos pedir ao final para pendurar o tópico para que fique como referência para outras pessoas.
Valeu
Abs
Eu dei uma procurada lá no site do cPanel e encontrei o link para baixar a biblioteca em PHP para acessar a API.
Baixa lá: http://sdk.cpanel.net/lib/xmlapi/php/cp_xmlapi_php_v1.0.6.tar.gz
Nesse pacote além da classe que eu te passei você encontra os exemplos de uso.
Um abraço!
Boa tarde,
Seria possível buscar dados da conta pelo domínio através dessa API?
$whm = new xmlapi($dominioHost, $userHost, $senhaHost);
$dominio = "meudominio.com";
$accounts = $whm->listaccts($dominio);
foreach ($accounts as $ac){
$usuarioCp = $ac['user'];
}
Já tentei da forma acima, mas não funciou. Alguma sugestão?
Obrigada pela atenção!
Eu trabalho com servidores dedicados e revenda de hospedagens para os meus clientes de desenvolvimento, e criei um sistema próprio de gerenciamento de hospedagens integrado com os painéis WHM/cPanel e Plesk.
A classe que tenho aqui para integrar o meu sistema com a API do WHM é a seguinte:
<?php
Copyright (c) 2009, cPanel, Inc.
All rights reserved.
#
Redistribution and use in source and binary forms, with or without modification, are permitted provided
that the following conditions are met:
#
* Redistributions of source code must retain the above copyright notice, this list of conditions and the
following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of the cPanel, Inc. nor the names of its contributors may be used to endorse or promote
products derived from this software without specific prior written permission.
#
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
class xmlapi {
Esta classe é disponibilizada no próprio site do cPanel e se você quiser poderá encontrar outras no PHPClasses.org.
Para utilizar você deve gerar uma chave no WHM em Cluster/Remote Access http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Setup Remote Access Key. Daí você copia a chave gerada e utiliza no lugar da senha com seu usuário pra acessar a API.
Qualquer dúvida posta aí.
Um abraço!