Format de fichier CSV SDS v2.1
Vous pouvez utiliser des fichiers CSV (valeurs séparées par des virgules) au format SDS V2.1 pour synchroniser votre système d’information scolaire (SIS) avec Office 365. L’utilisation du format de fichier CSV SDS V2.1 pour ingérer les catégories de données vous permet d’éclairer les principales fonctionnalités de SDS pour l’approvisionnement. Il vous permet également d’améliorer les expériences des produits et fonctionnalités Microsoft 365. Le format de fichier CSV SDS V2.1 continuera à développer les catégories de données qu’il prend en charge.
Si vous utilisez le format SDS V2.1, les fichiers doivent être correctement mis en forme. Chargez les fichiers, nommés exactement comme détaillé. Les en-têtes de colonne respectent la casse. Les fichiers CSV doivent être au format UTF-8 et conformes RFC. De plus, nous n’acceptons pas les sauts de ligne dans les données entrantes. Pour consulter et télécharger l’exemple d’ensemble de fichiers CSV SDS V2.1, consultez le référentiel GitHub SDS.
Importante
Après le chargement initial lors de la création de votre flux entrant, vous devez toujours fournir le même ensemble de fichiers pour les chargements suivants, indépendamment des modifications apportées aux données dans les fichiers facultatifs ou non. Si ce n’est pas le cas, le système détermine que les enregistrements ne sont plus actifs et les marque comme tels.
Obligatoire : les trois fichiers suivants doivent être fournis. Si vous gérez uniquement les utilisateurs et non les classes, vous devez uniquement fournir ces fichiers.
orgs.csv
users.csv
roles.csv
Facultatif/Obligatoire : les deux fichiers suivants ne sont pas obligatoires si vous gérez uniquement les utilisateurs. Si vous gérez également des classes et des inscriptions de classes, vous devez fournir les deux fichiers répertoriés ci-dessous, ainsi que les trois fichiers ci-dessus.
classes.csv
enrollments.csv
Facultatif : les fichiers suivants sont facultatifs et sont utilisés pour améliorer les expériences. Ces fichiers ne sont pas obligatoires, sauf si les fichiers ci-dessus ont des références de données basées sur les remarques ci-dessous.
academicSessions.csv (Si votre roles.csv, classes.csv ou courses.csv contient des données de session universitaires, les données correspondantes doivent être fournies pour éviter les messages d’erreur lors du traitement des données.)
courses.csv (Si vos données classes.csv contiennent des liens vers des cours, les données correspondantes doivent être fournies pour éviter les messages d’erreur lors du traitement des données.)
demographics.csv
userFlags.csv
relationships.csv
Chaque fichier CSV doit contenir des données pour les champs indiqués « Oui » sous « Obligatoire », les champs notés « Non » sont des données « Facultatifs ». Les en-têtes de champ marqués comme « Obligatoire » doivent exister dans les fichiers fournis, sinon ils ne seront pas acceptés. Les en-têtes de champ marqués comme « Facultatif » ne doivent pas nécessairement être présents dans les fichiers si les données facultatives correspondantes ne sont pas passées.
Les champs avec des valeurs énumérées définies comme marquées dans la colonne « Types de données » ont un ensemble spécifique de valeurs qu’ils prennent en charge. L’ensemble de valeurs par défaut pris en charge pour les champs Enum consultez Liste de valeurs par défaut.
orgs.csv
Field | Obligatoire ? | Exemple | Type de données |
---|---|---|---|
sourcedId | Oui | 10001 | Unique ID |
nom | Oui | Collège d’ingénierie | String |
type | Oui | Collège | Énum |
parentSourcedId | Non | 10000 | Unique ID |
users.csv
Field | Obligatoire ? | Exemple | Type de données |
---|---|---|---|
sourcedId | Oui | 14001 | Unique ID |
username | Oui | cbeane@domain.com | String |
familyName | Oui (uniquement si vous créez des utilisateurs) | Craig | String |
givenName | Oui (uniquement si vous créez des utilisateurs) | Beane | String |
activeDirectoryMatchId | Non | craig.beane@domain.com | String |
Non | cbeane@domain.com | ||
phone | Non | +1234567890 | Phone |
Sms | Non | +1234567890 | Phone |
userNumber | Non | 14001 | String |
- familyName et givenName sont requis pour les utilisateurs si vous utilisez l’option « Créer des utilisateurs sans correspondance ».
- familyName, givenName et email sont requis pour les utilisateurs si vous utilisez l’option « Associations de contacts étudiants » pour les utilisateurs qui ont un rôle de relation de contact dans relationships.csv. Les utilisateurs qui sont des membres du personnel, mais aussi des contacts, il est recommandé qu’ils aient deux enregistrements utilisateur répertoriés, avec l’enregistrement utilisateur des contacts associé à leur adresse de messagerie privée.
- Attendez-vous à ce que les champs téléphone et sms soient mis en forme en fonction de la norme E.164 où le caractère plus est utilisé et réussi par le numéro de téléphone, ou plutôt par le caractère plus suivi de l’indicatif de pays, de l’indicatif régional, du préfixe téléphonique et du numéro de ligne.
- password n’est plus utilisé pour fournir le mot de passe par défaut pour la création de nouveaux utilisateurs.
roles.csv
Field | Obligatoire ? | Exemple | Type de données |
---|---|---|---|
userSourcedId | Oui | 14001 | Unique ID |
orgSourcedId | Oui | 10001 | Unique ID |
role | Oui | student | Énum |
sessionSourcedId | Non | FS2021 | Unique ID |
grade | Non | PS1 | Énum |
isPrimary | Non | true | Boolean |
roleStartDate | Non | 2020-08-24 | Date |
roleEndDate | Non | 2020-12-11 | Date |
- Nécessite une référence à l’utilisateur associé à l’aide du champ « userSourcedId ». Cela produit une dépendance sur le fichier users.csv.
- Nécessite une référence à l’organisation associée à l’aide du champ « orgSourcedId ». Cela produit une dépendance sur le fichier orgs.csv.
- En cas de réussite : cela nécessite une référence aux termes associés (sessions universitaires) à l’aide du champ « sessionSourcedId ». Cela produit une dépendance sur le fichier academicSessions.csv.
- isPrimary indique si ce rôle est le rôle principal (true) ou secondaire (false) pour cette organisation. Si vous passez plusieurs rôles, pour le même utilisateur et la même organisation, il DOIT y avoir un seul rôle principal défini sur (true) pour chaque organisation.
- Valeurs de date à fournir au format ISO8601.
classes.csv
Field | Obligatoire ? | Exemple | Type de données |
---|---|---|---|
sourcedId | Oui | 12001 | Unique ID |
orgSourcedId | Oui | 10001 | Unique ID |
title | Oui | Informatique 101 | String |
sessionSourcedIds | Non | FS2021 | ID unique[] |
courseSourcedId | Non | C12001 | Unique ID |
code | Non | 12001 | String |
- Cela nécessite une référence à l’école (organisation) associée à l’aide du champ « orgSourcedId ». Cela produit une dépendance sur le fichier orgs.csv.
- En cas de réussite : cela nécessite une référence aux termes associés (sessions universitaires) à l’aide du champ « sessionSourcedIds ». Cela produit une dépendance sur le fichier academicSessions.csv.
- Si elle est réussie : si une classe est associée à plusieurs sessions au cours de la même année scolaire, par exemple semestre d’automne et semestre de printemps, vous pouvez fournir les deux sourcesdId pour les sessions de l’enregistrement. Les valeurs doivent être combinées en une seule chaîne avec les valeurs entourées de guillemets et séparées par des virgules.
- L’association à plusieurs sessionSourcedIds est stockée uniquement dans Data Lake.
- L’attribut d’extension de groupe Microsoft 365 pour les ID de session ne prend pas en charge plusieurs associations.
- Si elle est réussie : cela nécessite une référence au cours associé à l’aide du champ « courseSourcedId ». Cela produit une dépendance sur le fichier courses.csv.
enrollments.csv
Field | Obligatoire ? | Exemple | Type de données |
---|---|---|---|
classSourcedId | Oui | 12001 | Unique ID |
userSourcedId | Oui | 14001 | Unique ID |
role | Oui | student | Énum |
- Cela nécessite une référence à la classe associée à l’aide du champ « classSourcedId ». Cela produit une dépendance sur le fichier classes.csv.
- Cela nécessite une référence à l’utilisateur associé à l’aide du champ « userSourcedId ». Cela produit une dépendance sur le fichier users.csv.
academicSessions.csv
Classé | Obligatoire ? | Exemple | Type de données |
---|---|---|---|
sourcedId | Oui | FS2021 | Unique ID |
title | Oui | Semestre d’automne | String |
type | Oui | Semestre | Énum |
schoolYear | Oui | 2021 | Énum |
startDate | Oui | 2020-08-24 | Date |
endDate | Oui | 2020-12-11 | Date |
- Attendez-vous à ce que les valeurs de date soient fournies au format ISO8601.
courses.csv
Field | Obligatoire ? | Exemple | Type de données |
---|---|---|---|
sourcedId | Oui | C12001 | Unique ID |
orgSourcedId | Oui | 10001 | Unique ID |
title | Oui | Informatique 101 | String |
code | Non | CS101 | String |
schoolYearSourcedId | Non | Y2021 | Unique ID |
subject | Non | 10 | Énum |
grade | Non | Premier cycle | Énum |
- Cela nécessite une référence au organization (org) associé à l’aide du champ orgSourcedId. Cela produit une dépendance sur le fichier orgs.csv.
- En cas de réussite : cela nécessite une référence à l’enregistrement de l’année de session académique associé à l’aide du champ « schoolYearSourcedId » où le type = schoolYear. Cela produit une dépendance sur le fichier academicSessions.csv.
relationships.csv
Field | Obligatoire ? | Exemple | Type de données |
---|---|---|---|
userSourcedId | Oui | 14001 | Unique ID |
relationshipUserSourcedId | Oui | P14001 | Unique ID |
relationshipRole | Oui | Gardien | Énum |
- Si vous synchronisez également les relations de contact (tuteurs), vous devez inclure un enregistrement pour celles-ci dans le users.csv.
- Cela nécessite une référence à l’utilisateur associé à l’aide du champ « userSourcedId ». Cela produit une dépendance sur le fichier users.csv.
- Cela nécessite une référence à l’utilisateur associé à l’aide du champ « relationshipUserSourcedId ». Cela produit une dépendance sur le fichier users.csv.
- En outre, familyName, givenName et email sont requis pour les utilisateurs qui ont des rôles relation de contact.
demographics.csv
Field | Obligatoire ? | Exemple | Type de données |
---|---|---|---|
userSourcedId | Oui | 14001 | Unique ID |
Sexe | Non | Mâle | Énum |
birthDate | Non | 2001-07-20 | Date |
birthCity | Non | Woodenville | String |
birthState | Non | WA | Énum |
birthCountry | Non | USA | String |
ethnicityCodes | Non | hispanicOrLatinoEthnicity | Enum[] |
raceCodes | Non | demographicRaceTwoOrMoreRaces | Enum[] |
- Cela nécessite une référence à l’utilisateur associé à l’aide du champ « userSourcedId ». Cela produit une dépendance sur le fichier users.csv.
- Le mappage de valeurs multiples à « raceCodes » doit être combiné en une seule chaîne avec les valeurs entourées de guillemets et séparées par des virgules.
userFlags.csv
Field | Obligatoire ? | Exemple | Type de données |
---|---|---|---|
userSourcedId | Oui | 14001 | Unique ID |
flag | Oui | lep | Énum |
- Cela nécessite une référence à l’utilisateur associé à l’aide du champ « userSourcedId ». Cela produit une dépendance sur le fichier users.csv.