Guia completo para configurar e utilizar o sistema de faturação Ryakeza
O Ryakeza é um sistema de faturação completo desenvolvido especificamente para o mercado angolano, com suporte nativo para o formato SAF-T AO.
Siga estes passos para instalar o Ryakeza no seu servidor.
| Componente | Versão Mínima | Recomendado |
|---|---|---|
| PHP | 8.0 | 8.1 ou superior |
| MySQL | 5.7 | 8.0 |
| Apache | 2.4 | 2.4 com mod_rewrite |
| Espaço em disco | 500MB | 1GB ou mais |
Para uma instalação rápida, utilize o script de instalação:
# Baixar o instalador
curl -O https://ryakeza.ao/installer.sh
# Executar o instalador
chmod +x installer.sh
./installer.sh
Para instalação manual, siga estes passos:
# 1. Extrair os ficheiros
tar -xzf ryakeza-v2.1.3.tar.gz
# 2. Mover para o diretório web
sudo mv ryakeza /var/www/html/
# 3. Configurar permissões
sudo chown -R www-data:www-data /var/www/html/ryakeza
sudo chmod -R 755 /var/www/html/ryakeza/storage
# 4. Criar base de dados MySQL
mysql -u root -p -e "CREATE DATABASE ryakeza;"
mysql -u root -p -e "CREATE USER 'ryakeza_user'@'localhost' IDENTIFIED BY 'senha_segura';"
mysql -u root -p -e "GRANT ALL PRIVILEGES ON ryakeza.* TO 'ryakeza_user'@'localhost';"
mysql -u root -p -e "FLUSH PRIVILEGES;"
Após a instalação, siga este guia para configurar o sistema.
https://seu-dominio.ao/ryakeza
Exemplo de configuração via API:
'Minha Empresa Lda',
'nif' => '5000123456',
'endereco' => 'Rua Comercial, 123',
'municipio' => 'Luanda',
'telefone' => '+244 222 123 456'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.ryakeza.ao/v1/empresa');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($empresa));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer ' . $token
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
const empresa = {
nome: 'Minha Empresa Lda',
nif: '5000123456',
endereco: 'Rua Comercial, 123',
municipio: 'Luanda',
telefone: '+244 222 123 456'
};
fetch('https://api.ryakeza.ao/v1/empresa', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
},
body: JSON.stringify(empresa)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Erro:', error));
curl -X POST \
https://api.ryakeza.ao/v1/empresa \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-d '{
"nome": "Minha Empresa Lda",
"nif": "5000123456",
"endereco": "Rua Comercial, 123",
"municipio": "Luanda",
"telefone": "+244 222 123 456"
}'
A API do Ryakeza utiliza autenticação baseada em tokens JWT.
curl -X POST \
https://api.ryakeza.ao/v1/auth/login \
-H 'Content-Type: application/json' \
-d '{
"email": "seu-email@empresa.ao",
"password": "sua-senha"
}'
{
"success": true,
"data": {
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
"expires_in": 3600,
"user": {
"id": 1,
"name": "João Silva",
"email": "joao@empresa.ao"
}
}
}
Sua opinião ajuda a melhorar a documentação para todos os utilizadores.