Habilidades moodle-external-api-development
📦

moodle-external-api-development

Riesgo bajo ⚡ Contiene scripts⚙️ Comandos externos🌐 Acceso a red

Criar Web Services Externos do Moodle

Crie APIs de web service personalizados e seguros para o Moodle LMS com validação adequada de parâmetros, verificações de capacidade e padrões de registro de serviço.

Soporta: Claude Codex Code(CC)
⚠️ 68 Deficiente
1

Descargar el ZIP de la skill

2

Subir en Claude

Ve a Configuración → Capacidades → Skills → Subir skill

3

Activa y empieza a usar

Pruébalo

Usando "moodle-external-api-development". Criar uma API externa para obter progresso do curso do usuário

Resultado esperado:

  • Classe PHP estendendo external_api com os métodos execute_parameters(), execute() e execute_returns()
  • Definições de parâmetros usando external_value(PARAM_INT) e external_single_structure
  • Validação de contexto usando validate_context() e verificações de capacidade
  • Consulta ao banco de dados usando consultas parametrizadas para prevenção de injeção SQL

Usando "moodle-external-api-development". Registrar o web service para acesso móvel

Resultado esperado:

  • Arquivo services.php com definição de função incluindo classname, methodname e capabilities
  • Definição de serviço com flags restrictedusers e enabled
  • Use MOODLE_OFFICIAL_MOBILE_SERVICE para integração com aplicativo móvel

Auditoría de seguridad

Riesgo bajo
v1 • 2/25/2026

This is a documentation/educational skill for Moodle external API development. Static analyzer flagged 127 potential issues, but evaluation confirms all are false positives. The detected patterns are: (1) Markdown backticks for code formatting flagged as shell commands, (2) Documentation URLs to moodledev.io, (3) Benign keywords in YAML frontmatter triggering false positives. No actual security risks present.

1
Archivos escaneados
600
Líneas analizadas
5
hallazgos
1
Auditorías totales
Problemas de riesgo bajo (2)
Markdown Backticks Flagged as Shell Commands
Static analyzer detected backticks as 'Ruby/shell backtick execution'. These are markdown code formatting (e.g., `execute_parameters()`), not actual shell commands. No command execution risk.
Documentation URLs Detected
Hardcoded URLs found are legitimate links to Moodle developer documentation (moodledev.io) and example API endpoint placeholders. No data exfiltration risk.
Auditado por: claude

Puntuación de calidad

38
Arquitectura
100
Mantenibilidad
85
Contenido
22
Comunidad
86
Seguridad
96
Cumplimiento de la especificación

Lo que puedes crear

Desenvolvedor de Plugin Moodle

Crie APIs externas personalizadas para seu plugin Moodle para expor funcionalidade para aplicativos móveis ou sistemas externos

Especialista em Integração LMS

Crie endpoints de web service para integrar o Moodle com sistemas de informação estudantil ou plataformas CRM

Desenvolvedor de Backend para Aplicativos Móveis

Desenvolva APIs REST com suporte do Moodle para aplicativos móveis personalizados acessando dados de cursos

Prueba estos prompts

Estrutura Básica de API
Mostre-me como criar uma classe de API externa básica no Moodle com o padrão de três métodos
Definição de Parâmetros
Como defino parâmetros de entrada com validação para uma API externa do Moodle? Inclua exemplos para parâmetros integer, text e boolean
Implementação de Lógica de Negócio
Escreva um exemplo de lógica de negócio para uma API externa do Moodle que recupera progresso do curso, incluindo validação de contexto e verificações de capacidade
Registro de Serviço
Como registro um web service externo do Moodle? Mostre a estrutura do arquivo services.php com capabilities e acesso AJAX

Mejores prácticas

  • Sempre valide parâmetros usando validate_parameters() antes de processar
  • Use validação de contexto e verificações de capacidade para impor permissões
  • Use consultas parametrizadas ($DB->get_records_sql) para prevenir injeção SQL
  • Documente todos os tipos de parâmetros e estruturas de retorno claramente

Evitar

  • Pular validação de parâmetros - sempre use validate_parameters()
  • Usar SQL bruto sem consultas parametrizadas - use métodos $DB com parâmetros vinculados
  • Omitir verificações de capacidade - sempre verifique permissões do usuário
  • Retornar estruturas de dados inconsistentes - corresponda exatamente à definição execute_returns()

Preguntas frecuentes

Qual é o padrão de três métodos para APIs externas do Moodle?
APIs externas do Moodle requerem três métodos: execute_parameters() define a estrutura de entrada, execute() contém a lógica de negócio e execute_returns() define a estrutura de saída.
Como protejo minha API externa do Moodle?
Use validação de contexto (validate_context), verificações de capacidade (require_capability) e validação adequada de parâmetros (validate_parameters) para proteger sua API.
Posso usar minha API externa com o aplicativo móvel do Moodle?
Sim, inclua MOODLE_OFFICIAL_MOBILE_SERVICE em seu registro de serviço para habilitar acesso móvel.
Quais tipos de parâmetros o Moodle suporta?
O Moodle suporta PARAM_INT, PARAM_TEXT, PARAM_RAW, PARAM_BOOL, PARAM_FLOAT, PARAM_ALPHANUMEXT e mais para parâmetros de API externa.
Como previno injeção SQL em APIs externas?
Use a API de banco de dados do Moodle ($DB) com consultas parametrizadas usando placeholders nomeados como :userid em vez de concatenação de strings.
Qual é a diferença entre tipos de serviço read e write?
O tipo read é para operações SELECT que apenas recuperam dados. O tipo write é para operações INSERT, UPDATE ou DELETE que modificam dados.

Detalles del desarrollador

Estructura de archivos

📄 SKILL.md