Documentation développeur

API des résultats scolaires

Intégrez les données scolaires dans vos applications grâce à l'API des résultats scolaires de NERSAPP.

URL de base https://nersapp.africa/org/{sid}/

Présentation

Découvrez comment récupérer les sessions scolaires, les trimestres, les classes et les résultats des élèves depuis un portail scolaire.

Réponses JSON

Tous les points de terminaison renvoient des réponses JSON contenant un indicateur valid qui précise si la requête a réussi.

Données des élèves

Les résultats des élèves contiennent des informations scolaires sensibles. Stockez et traitez ces données de manière sécurisée et utilisez-les uniquement à des fins autorisées.

Démarrage rapide

Envoyez une requête HTTP GET à un point de terminaison en utilisant l'identifiant de votre établissement.

Exemple de requête

HTTP · cURL
curl --get \
  'https://nersapp.africa/org/{sid}/api/year' \
  --header 'Accept: application/json'

Années scolaires

Récupérez les sessions scolaires configurées pour l'établissement.

GET

/api/year[?id=ID]

https://nersapp.africa/org/{sid}/api/year?id=ID
Paramètre Obligatoire Description
id Non Facultatif. Rechercher une session par son identifiant ou son nom.
Exemple de réponse
{
  "valid": true,
  "data": [
    { "id": 1, "name": "2024\/2025" },
    { "id": 2, "name": "Mon ann\u00e9e personnalis\u00e9e" }
  ]
}

Trimestres

Récupérez les trimestres de l'établissement, leurs dates de début et de fin, ainsi que la session scolaire associée.

GET

/api/term[?id=ID]

https://nersapp.africa/org/{sid}/api/term?id=ID
Paramètre Obligatoire Description
id Non Facultatif. Rechercher un trimestre par son identifiant ou son nom.
Exemple de réponse
{
  "valid": true,
  "data": [
    {
      "id": 1,
      "name": "Rouge",
      "start": "2024-01-08",
      "end": "2024-04-08",
      "year": { "id": 2, "name": "Mon ann\u00e9e personnalis\u00e9e" }
    }
  ]
}

Classes

Récupérez les classes configurées pour l'établissement.

GET

/api/class[?id=ID]

https://nersapp.africa/org/{sid}/api/class?id=ID
Paramètre Obligatoire Description
id Non Facultatif. Rechercher une classe par son identifiant ou son nom affiché.
Exemple de réponse
{
  "valid": true,
  "data": [
    { "id": 1, "name": "Petite section 1 A" },
    { "id": 2, "name": "Petite section 1 B" }
  ]
}

Résultats des élèves

Récupérez les résultats des élèves pour une classe, un trimestre et une année scolaire. Les trois paramètres obligatoires doivent être fournis.

GET

/api/results?class=CLASS&term=TERM&year=YEAR

https://nersapp.africa/org/{sid}/api/results?class=CLASS&term=TERM&year=YEAR
Paramètre Obligatoire Description
class Oui L'identifiant ou le nom de la classe.
term Oui L'identifiant ou le nom du trimestre. Le trimestre doit appartenir à l'année scolaire sélectionnée.
year Oui L'identifiant ou le nom de la session scolaire.
Exemple de réponse
{
  "valid": true,
  "data": {
    "students": [
      {
        "id": 3,
        "name": "Naomi Chika",
        "sex": "F",
        "class": "Petite section 1 A",
        "term": "First",
        "year": "2024\/2025",
        "scores": [
          {
            "subject": "Langue anglaise",
            "total": [75, 100],
            "assess": [
              { "contr\u00f4le 1": [30, 30] },
              { "examens": [45, 70] },
              { "total": [75, 100] }
            ]
          },
          {
            "subject": "Math\u00e9matiques",
            "total": [86, 100],
            "assess": [
              { "contr\u00f4le 1": [28, 30] },
              { "examens": [58, 70] },
              { "total": [86, 100] }
            ]
          },
          {
            "subject": "Ibibio",
            "total": [80, 100],
            "assess": [
              { "contr\u00f4le 1": [30, 30] },
              { "examens": [50, 70] },
              { "total": [80, 100] }
            ]
          },
          {
            "subject": "Yoruba",
            "total": [70, 100],
            "assess": [
              { "contr\u00f4le 1": [20, 30] },
              { "examens": [50, 70] },
              { "total": [70, 100] }
            ]
          },
          {
            "subject": "Sciences int\u00e9gr\u00e9es",
            "total": [63, 100],
            "assess": [
              { "contr\u00f4le 1": [24, 30] },
              { "examens": [39, 70] },
              { "total": [63, 100] }
            ]
          },
          {
            "subject": "Arts plastiques",
            "total": [73, 100],
            "assess": [
              { "contr\u00f4le 1": [18, 30] },
              { "examens": [55, 70] },
              { "total": [73, 100] }
            ]
          }
        ],
        "total": [447, 600],
        "subject_count": 6,
        "average": 74.5
      }
    ],
    "subjects": [
      "Langue anglaise",
      "Math\u00e9matiques",
      "Sciences int\u00e9gr\u00e9es",
      "Arts plastiques",
      "Ibibio",
      "Yoruba"
    ]
  }
}

Format des réponses

Toutes les réponses utilisent une structure JSON cohérente pour indiquer la réussite ou l'échec d'une requête.

Réponse réussie

{
  "valid": true,
  "data": { }
}

Réponse d'erreur

{
  "valid": false,
  "msg": "Message d'erreur ici"
}

Remarque sur l'implémentation

Traitez les informations des élèves comme des données confidentielles. Validez les paramètres des requêtes, gérez les réponses en échec et évitez d'exposer des données sensibles dans les journaux ou les messages d'erreur côté client.