{"id":31710396,"url":"https://github.com/edsonakaves/cliente-api","last_synced_at":"2026-05-13T21:36:21.547Z","repository":{"id":318389864,"uuid":"1071081527","full_name":"EdsonAkaves/cliente-api","owner":"EdsonAkaves","description":"🔌 Cliente PHP para consumo da API REST com autenticação JWT e operações CRUD. Demonstra integração entre sistemas usando cURL e boas práticas de segurança.","archived":false,"fork":false,"pushed_at":"2025-10-06T21:37:11.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-06T23:27:51.574Z","etag":null,"topics":["api-client","authentication","curl","dotenv","http-client","jwt","php","rest-client"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EdsonAkaves.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-06T20:55:06.000Z","updated_at":"2025-10-06T21:37:14.000Z","dependencies_parsed_at":"2025-10-06T23:27:54.082Z","dependency_job_id":"c4bb6a47-89be-4384-aaa8-6a6357f7d463","html_url":"https://github.com/EdsonAkaves/cliente-api","commit_stats":null,"previous_names":["edsonakaves/cliente-api"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/EdsonAkaves/cliente-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EdsonAkaves%2Fcliente-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EdsonAkaves%2Fcliente-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EdsonAkaves%2Fcliente-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EdsonAkaves%2Fcliente-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EdsonAkaves","download_url":"https://codeload.github.com/EdsonAkaves/cliente-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EdsonAkaves%2Fcliente-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000720,"owners_count":26082879,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-client","authentication","curl","dotenv","http-client","jwt","php","rest-client"],"created_at":"2025-10-09T00:27:07.062Z","updated_at":"2025-10-09T00:27:08.399Z","avatar_url":"https://github.com/EdsonAkaves.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cliente para Consumo de API CRUD PHP\n\nCliente PHP para consumo de API REST com autenticação JWT, desenvolvido para testar operações CRUD em uma API de gerenciamento de clientes.\n\n## 📋 Funcionalidades\n\n- ✅ Autenticação via JWT (login)\n- ✅ Atualização de registros de clientes (PUT)\n- ✅ Tratamento de erros de requisição\n- ✅ Uso de variáveis de ambiente para credenciais\n\n## 🔗 Projeto Relacionado\n\nEste cliente foi desenvolvido para consumir a [API REST CRUD PHP](https://github.com/EdsonAkaves/php-vanilla-crud-api)\n\n## 🚀 Tecnologias Utilizadas\n\n- PHP 8.2+\n- cURL para requisições HTTP\n- vlucas/phpdotenv para gerenciamento de variáveis de ambiente\n- Composer para gerenciamento de dependências\n\n## 📦 Instalação\n\n### 1. Clone o repositório\n\n```bash\ngit clone https://github.com/seu-usuario/api-crud-client.git\ncd api-crud-client\n```\n\n### 2. Instale as dependências\n\n```bash\ncomposer install\n```\n\n### 3. Configure as variáveis de ambiente\n\nCrie um arquivo `.env` na raiz do projeto:\n\n```env\n# URL base da sua API (ajuste conforme seu ambiente)\nAPI_BASE_URL=http://localhost/sua-api/api\n\n# Credenciais de teste\nAPI_BASE_URL=http://localhost:8000/api\nTEST_USER_EMAIL=usuario@exemplo.com\nTEST_USER_PASSWORD=sua_senha_segura\n```\n\n**Exemplos de API_BASE_URL**:\n- Desenvolvimento local: `http://localhost/php-vanilla-crud-api/api`\n- Servidor embutido PHP: `http://localhost:8000/api`\n- Produção: `https://api.seudominio.com`\n\n### 4. Configure o .gitignore\n\nCertifique-se de que seu arquivo `.gitignore` contém:\n\n```\n/vendor/\n.env\n.env.local\n```\n\n## 🔧 Uso\n\nExecute o script principal:\n\n```bash\nphp consumir_api.php\n```\n\n### Exemplo de Saída\n\n```\nIniciando processo...\n1. Realizando Login na API...\nLogin realizado com sucesso (Status: 200)\nToken obtido com sucesso.\n2. Realizando a atualização do cliente...\nResposta da API de atualização (Status: 200):\n{\"mensagem\":\"Cliente atualizado com sucesso\"}\nCliente atualizado com sucesso!\n\nProcesso finalizado.\n```\n\n## 📂 Estrutura do Projeto\n\n```\n.\n├── consumir_api.php      # Script principal do cliente\n├── composer.json         # Dependências do projeto\n├── composer.lock         # Versões exatas das dependências\n├── .env                  # Variáveis de ambiente (não versionado)\n├── .env.example          # Exemplo de configuração\n├── vendor/               # Dependências instaladas (não versionado)\n└── README.md             # Este arquivo\n```\n\n## 🔐 Segurança\n\n- **Nunca** commite o arquivo `.env` no repositório\n- Use variáveis de ambiente para dados sensíveis\n- Em produção, considere usar secrets managers\n- Implemente rate limiting nas requisições\n- Valide sempre os certificados SSL (em produção, remova `CURLOPT_SSL_VERIFYPEER =\u003e false`)\n\n## 🛠️ Personalização\n\n### Alterando o ID do cliente a ser atualizado\n\nNo arquivo `.env`, altere o valor de TEST_USER_ID:\n\nTEST_USER_ID=10  # Altere para o ID desejado\n\n### Modificando os dados de atualização\n\nLinhas 72-76:\n\n```php\n$dataUpdate = [\n    'nome' =\u003e 'Seu Nome',\n    'email' =\u003e 'seu.email@exemplo.com',\n];\n```\n\n## 📝 Dependências\n\nAdicione ao seu `composer.json`:\n\n```json\n{\n    \"require\": {\n        \"vlucas/phpdotenv\": \"^5.6\"\n    }\n}\n```\n\n## 🐛 Tratamento de Erros\n\nO cliente trata os seguintes erros:\n\n- Erros de conexão cURL\n- Falhas de autenticação\n- Token não encontrado na resposta\n- Erros HTTP (códigos diferentes de 200)\n\n## 📖 Endpoints da API\n\n| Método | Endpoint | Descrição |\n|--------|----------|-----------|\n| POST | `/login.php` | Autenticação do usuário |\n| PUT | `/atualizar_cliente.php?id={id}` | Atualização de cliente |\n\n## 🤝 Contribuindo\n\n1. Faça um fork do projeto\n2. Crie uma branch para sua feature (`git checkout -b feature/nova-funcionalidade`)\n3. Commit suas mudanças (`git commit -m 'Adiciona nova funcionalidade'`)\n4. Push para a branch (`git push origin feature/nova-funcionalidade`)\n5. Abra um Pull Request\n\n## 📄 Licença\n\nEste projeto está sob a licença MIT. Veja o arquivo `LICENSE` para mais detalhes.\n\n## 👨‍💻 Autor\n\nDesenvolvido como projeto de estudo de APIs REST em PHP.\n\n## 📞 Contato\n\n- LinkedIn: [Edson Alves](https://www.linkedin.com/in/edsonakaves)\n- GitHub: [@EdsonAkaves](https://github.com/seu-usuario)\n- Email: edson.akaves@gmail.com\n\nPara dúvidas ou sugestões sobre o projeto, abra uma issue no repositório.\n\n---\n\n**Nota**: Este é um projeto de estudo. Para uso em produção, considere implementar melhorias de segurança, logging, e tratamento de erros mais robusto.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedsonakaves%2Fcliente-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedsonakaves%2Fcliente-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedsonakaves%2Fcliente-api/lists"}