📚 Documentação de Integração - eCook-Plus Loja API
Versão: 1.0
Data: Janeiro 2026
1. Visão Geral
Esta documentação descreve como o sistema Admin Simsoft deve se integrar com o Admin Loja (eCook-Plus) para criar novas empresas automaticamente.
Arquitetura
text
Admin Simsoft (Seu sistema)                    eCook-Plus Loja (API)
       │                                              │
       │  1. Cadastra nova empresa                    │
       │  2. Chama API com dados                      │
       │ ─────────────────────────────────────────►  │
       │                                              │
       │  3. Retorna confirmação                      │
       │ ◄─────────────────────────────────────────  │
       │                                              │
       │  4. Salva ID da empresa no seu banco         │
       ▼                                              ▼
2. Endpoint da API
Informação	Valor
URL	https://ecookplus-web.simsoftdsv.com.br/api/criar_empresa.php
Método	POST
Content-Type	application/json
Autenticação	API Key via Header
3. Autenticação
Todas as requisições devem incluir a chave de API no header:
http
X-API-Key: eCook_Plus_2024_Segura@#$
4. Formato da Requisição
Body (JSON)
json
{
    "nome_empresa": "Restaurante do João",
    "subdominio": "restaurantejoao",
    "email_admin": "admin@restaurantejoao.com",
    "senha_admin": "senha123"
}
Campos Obrigatórios
Campo	Tipo	Descrição	Exemplo
nome_empresa	string	Nome do restaurante/empresa	"Restaurante do João"
subdominio	string	Subdomínio único (sem espaços)	"restaurantejoao"
email_admin	string	E-mail do administrador	"admin@restaurantejoao.com"
senha_admin	string	Senha (mínimo 6 caracteres)	"senha123"
Regras de Validação
subdominio deve ser único no sistema
subdominio só pode conter letras minúsculas, números e hífen
email_admin deve ser um e-mail válido
senha_admin deve ter no mínimo 6 caracteres
5. Formato da Resposta
Resposta de Sucesso (HTTP 200)
json
{
    "sucesso": true,
    "mensagem": "Empresa criada com sucesso!",
    "empresa_id": 123
}
Resposta de Erro (HTTP 200)
json
{
    "sucesso": false,
    "mensagem": "Subdomínio já existe"
}
Possíveis Mensagens de Erro
Mensagem	Motivo
"Não autorizado"	API Key inválida ou não enviada
"Dados incompletos"	Faltam campos obrigatórios
"Subdomínio já existe"	Subdomínio já está em uso
"Erro interno"	Problema no servidor
6. Exemplo de Integração (PHP)
php
<?php
/**
 * Classe para integração com o eCook-Plus Loja API
 * Copie este código para o seu sistema (Admin Simsoft)
 */

class EcookPlusAPI {
    
    private $api_url = 'https://ecookplus-web.simsoftdsv.com.br/api/criar_empresa.php';
    private $api_key = 'eCook_Plus_2024_Segura@#$';
    
    /**
     * Criar uma nova empresa no eCook-Plus Loja
     */
    public function criarEmpresa($nome_empresa, $subdominio, $email_admin, $senha_admin) {
        
        // Validação básica
        if (empty($nome_empresa) || empty($subdominio) || empty($email_admin) || empty($senha_admin)) {
            return [
                'sucesso' => false,
                'mensagem' => 'Todos os campos são obrigatórios'
            ];
        }
        
        if (strlen($senha_admin) < 6) {
            return [
                'sucesso' => false,
                'mensagem' => 'A senha deve ter no mínimo 6 caracteres'
            ];
        }
        
        // Prepara os dados
        $dados = [
            'nome_empresa' => $nome_empresa,
            'subdominio' => strtolower(preg_replace('/[^a-z0-9-]/', '-', $subdominio)),
            'email_admin' => $email_admin,
            'senha_admin' => $senha_admin
        ];
        
        // Configura o cURL
        $ch = curl_init($this->api_url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_HTTPHEADER, [
            'Content-Type: application/json',
            'X-API-Key: ' . $this->api_key
        ]);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($dados));
        curl_setopt($ch, CURLOPT_TIMEOUT, 30);
        
        // Executa
        $resposta = curl_exec($ch);
        $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        $erro = curl_error($ch);
        
        curl_close($ch);
        
        // Trata erros de conexão
        if ($erro) {
            return [
                'sucesso' => false,
                'mensagem' => 'Erro de conexão: ' . $erro
            ];
        }
        
        // Decodifica resposta
        $resultado = json_decode($resposta, true);
        
        if (!$resultado) {
            return [
                'sucesso' => false,
                'mensagem' => 'Resposta inválida da API'
            ];
        }
        
        return $resultado;
    }
    
    /**
     * Verificar se a API está online
     */
    public function testarConexao() {
        $ch = curl_init($this->api_url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_NOBODY, true);
        curl_setopt($ch, CURLOPT_TIMEOUT, 5);
        
        curl_exec($ch);
        $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);
        
        return $http_code !== 0;
    }
}

// ============================================================
// EXEMPLO DE USO NO SEU SISTEMA
// ============================================================

// Quando uma nova empresa contratar o serviço:
function cadastrarNovaEmpresa($dados_contrato) {
    
    $api = new EcookPlusAPI();
    
    // Verifica se API está online
    if (!$api->testarConexao()) {
        return ['sucesso' => false, 'mensagem' => 'API do eCook-Plus está offline'];
    }
    
    // Cria a empresa no eCook-Plus
    $resultado = $api->criarEmpresa(
        $dados_contrato['nome_empresa'],
        $dados_contrato['subdominio'],
        $dados_contrato['email_admin'],
        $dados_contrato['senha_admin']
    );
    
    if ($resultado['sucesso']) {
        // Salva o ID da empresa no seu banco central
        $empresa_id_ecook = $resultado['empresa_id'];
        
        // Atualiza o registro da empresa no seu banco
        $pdo->prepare("UPDATE empresas SET ecook_loja_id = :id WHERE id = :empresa_id")
            ->execute([
                'id' => $empresa_id_ecook,
                'empresa_id' => $dados_contrato['empresa_local_id']
            ]);
        
        return ['sucesso' => true, 'mensagem' => 'Empresa ativada no eCook-Plus!'];
    }
    
    return $resultado;
}
7. Exemplo com cURL (Linha de Comando)
Testar a API diretamente
bash
curl -X POST https://ecookplus-web.simsoftdsv.com.br/api/criar_empresa.php \
  -H "Content-Type: application/json" \
  -H "X-API-Key: eCook_Plus_2024_Segura@#$" \
  -d '{
    "nome_empresa": "Restaurante Teste",
    "subdominio": "teste123",
    "email_admin": "admin@teste.com",
    "senha_admin": "senha123"
  }'
Resposta esperada
json
{"sucesso":true,"mensagem":"Empresa criada com sucesso!","empresa_id":1}
8. Exemplo com JavaScript (Node.js)
javascript
const axios = require('axios');

async function criarEmpresa(dados) {
    try {
        const response = await axios.post(
            'https://ecookplus-web.simsoftdsv.com.br/api/criar_empresa.php',
            {
                nome_empresa: dados.nome_empresa,
                subdominio: dados.subdominio,
                email_admin: dados.email_admin,
                senha_admin: dados.senha_admin
            },
            {
                headers: {
                    'Content-Type': 'application/json',
                    'X-API-Key': 'eCook_Plus_2024_Segura@#$'
                }
            }
        );
        
        return response.data;
    } catch (error) {
        return {
            sucesso: false,
            mensagem: error.message
        };
    }
}

// Uso
criarEmpresa({
    nome_empresa: "Restaurante Teste",
    subdominio: "teste123",
    email_admin: "admin@teste.com",
    senha_admin: "senha123"
}).then(console.log);
9. Fluxo Completo de Integração
text
┌─────────────────────────────────────────────────────────────────┐
│                    ADMIN SIMSOFT (Seu sistema)                   │
│                                                                  │
│  1. Cliente contrata o serviço                                  │
│  2. Você cadastra a empresa no seu banco                        │
│  3. Você chama a API do eCook-Plus com os dados                 │
│  4. API retorna o ID da empresa criada                          │
│  5. Você salva o ID no seu banco                                │
│  6. Cliente pode acessar: subdominio.ecookplus-web...           │
└─────────────────────────────────────────────────────────────────┘
10. Informações Importantes
Item	Valor
URL do sistema	https://ecookplus-web.simsoftdsv.com.br
URL da API	https://ecookplus-web.simsoftdsv.com.br/api/criar_empresa.php
Chave da API	eCook_Plus_2024_Segura@#$
Timeout recomendado	30 segundos
Rate Limit	10 requisições por minuto
11. Suporte
Em caso de dúvidas ou problemas na integração:
Contato	Informação
E-mail	suporte@ecookplus.com.br
Desenvolvedor	[Seu nome]
12. Checklist para Integração
Testar conexão com a API
Implementar a classe EcookPlusAPI
Chamar a API ao criar nova empresa
Salvar empresa_id retornado no seu banco
Tratar erros de forma amigável
Configurar subdomínios no DNS
Testar o fluxo completo
📄 Fim da Documentação