Pular para o conteúdo
Skillpedia
APIs e servidores (backend)48 mil · #3637

moodle-external-api-development

Orienta na criação de APIs web externas para o Moodle. Segue os padrões da plataforma para garantir a integração correta.

O que ela faz

Esta ferramenta ajuda você a criar novas conexões (APIs) para o Moodle, que é um sistema de aprendizado online. Ela segue as regras e padrões do Moodle para garantir que tudo funcione corretamente.

Quando usar

  • ✓Quando você precisa adicionar funcionalidades personalizadas ao Moodle.
  • ✓Ao criar um aplicativo que se conecta ao Moodle para gerenciar cursos.
  • ✓Para fazer o Moodle enviar informações para outros sistemas.

Exemplo do que pedir para a IA

“Como posso criar uma API para buscar o número de tentativas de um aluno em um quiz específico de um curso?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/moodle-external-api-development/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/moodle-external-api-development/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta usa um guia detalhado que explica passo a passo como construir essas conexões. Ela garante que você siga as melhores práticas e padrões de segurança do Moodle.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill moodle-external-api-development

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/moodle-external-api-development/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Desenvolvimento de APIs Externas para Moodle

Esta habilidade guia você na criação de APIs de serviços web externas personalizadas para o Moodle LMS, seguindo o framework de API externa e os padrões de codificação do Moodle.

Guia Detalhado

Leia o guia detalhado antes de executar esta habilidade. Ele contém o procedimento completo e o material de referência. Trate seus requisitos de segurança, pré-requisitos e validação como obrigatórios. Para um trabalho focado, carregue as seções relevantes; para um trabalho de ponta a ponta, leia o guia completamente.

Quando Usar Esta Habilidade

  • Criação de serviços web personalizados para plugins do Moodle
  • Implementação de endpoints REST/AJAX para gerenciamento de cursos
  • Construção de APIs para operações de questionário, rastreamento de usuários ou relatórios
  • Exposição de funcionalidades do Moodle para aplicações externas
  • Desenvolvimento de backends de aplicativos móveis usando o Moodle

Exemplos de Implementação Real

API Simples de Leitura (Obter Tentativas de Questionário)

<?php
namespace local_userlog\external;

defined('MOODLE_INTERNAL') || die();
require_once("$CFG->libdir/externallib.php");

use external_api;
use external_function_parameters;
use external_single_structure;
use external_value;

class get_quiz_attempts extends external_api {
    public static function execute_parameters() {
        return new external_function_parameters([
            'userid' => new external_value(PARAM_INT, 'User ID'),
            'courseid' => new external_value(PARAM_INT, 'Course ID')
        ]);
    }

    public static function execute($userid, $courseid) {
        global $DB;

        self::validate_parameters(self::execute_parameters(), [
            'userid' => $userid,
            'courseid' => $courseid
        ]);

        $sql = "SELECT COUNT(*) AS quiz_attempts
                FROM {quiz_attempts} qa
                JOIN {quiz} q ON qa.quiz = q.id
                WHERE qa.userid = :userid AND q.course = :courseid";

        $attempts = $DB->get_field_sql($sql, [
            'userid' => $userid,
            'courseid' => $courseid
        ]);

        return ['quiz_attempts' => (int)$attempts];
    }

    public static function execute_returns() {
        return new external_single_structure([
            'quiz_attempts' => new external_value(PARAM_INT, 'Total number of quiz attempts')
        ]);
    }
}

API Complexa de Escrita (Criar Questionário a partir de Categorias)

Veja o anexo create_quiz_from_categories.php para um exemplo abrangente incluindo:

  • Múltiplas inserções no banco de dados
  • Criação de módulo de curso
  • Configuração de instância de questionário
  • Seleção aleatória de perguntas com tags
  • Restrições de acesso baseadas em grupos
  • Extensa geração de logs de erros
  • Gerenciamento de transações

Limitações

  • Use esta habilidade apenas quando a tarefa corresponder claramente ao escopo descrito acima.
  • Não trate a saída como um substituto para validação específica do ambiente, testes ou revisão de especialistas.
  • Pare e peça esclarecimentos se os inputs necessários, permissões, limites de segurança ou critérios de sucesso estiverem ausentes.
Perguntas frequentes

O que é uma API externa?

É uma forma de diferentes programas de computador conversarem entre si. No caso do Moodle, permite que outros sistemas peçam ou enviem informações para ele.

Preciso saber programar muito para usar isso?

É recomendado ter algum conhecimento básico de programação, pois a ferramenta envolve a criação de código. O guia detalhado ajuda a entender os passos.

O que são 'padrões de codificação' do Moodle?

São regras que os desenvolvedores do Moodle seguem para escrever o código de forma organizada, segura e fácil de entender por outros desenvolvedores.

Detalhes

Descrição original do autor

This skill guides you through creating custom external web service APIs for Moodle LMS, following Moodle's external API framework and coding standards.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3637
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas