Формат CSV-файла SDS версии 2.1

Для синхронизации учебной информационной системы (SIS) с Office 365 можно использовать CSV-файлы в формате SDS версии 2.1. Использование формата CSV-файла SDS версии 2.1 для приема категорий данных позволяет осветить основные возможности SDS для подготовки. Это также помогает улучшить возможности продуктов и функций Microsoft 365. Формат CSV-файла SDS версии 2.1 продолжит расширять поддерживаемые категории данных.

Если вы используете формат SDS версии 2.1, файлы должны быть отформатированы соответствующим образом. Отправьте файлы с именем точно так же, как подробно. В заголовках столбцов учитывается регистр. CSV-файлы должны быть в формате UTF-8 и соответствовать RFC. Кроме того, мы не принимаем разрывы строк во входящих данных. Чтобы просмотреть и скачать пример набора CSV-файлов SDS версии 2.1, ознакомьтесь с репозиторием SDS GitHub.

Важно!

После первоначальной отправки во время создания входящего потока необходимо всегда предоставлять один и тот же набор файлов для последующей отправки, независимо от того, какие изменения данных вносятся в необязательные файлы или нет. Если этого не сделать, система определит, что записи больше не активны, и пометит их как таковые.

Обязательный: необходимо предоставить следующие три файла. Если вы управляете только пользователями, а не классами, необходимо только предоставить эти файлы. 

  • orgs.csv

  • users.csv

  • roles.csv

Необязательный или обязательный. Следующие два файла не требуются, если вы управляете только пользователями. Если вы также управляете классами и регистрациями классов, необходимо предоставить два перечисленных ниже файла вместе с тремя файлами выше.

  • classes.csv

  • enrollments.csv

Необязательный. Следующие файлы являются необязательными и используются для улучшения возможностей. Эти файлы не требуются, если только указанные выше файлы не содержат ссылки на данные на основе приведенных ниже примечаний. 

  • academicSessions.csv (если roles.csv, classes.csv или courses.csv содержат данные академических сеансов, необходимо предоставить соответствующие данные, чтобы избежать сообщений об ошибках при обработке данных.)

  • courses.csv (Если данные classes.csv содержат ссылки на курсы, необходимо предоставить соответствующие данные, чтобы избежать сообщений об ошибках при обработке данных.)

  • demographics.csv

  • userFlags.csv

  • relationships.csv

Каждый CSV-файл должен содержать данные для полей, отмеченных как "Да" в разделе "Обязательный", а поля , отмеченные как "Нет", являются необязательными. Заголовки полей, помеченные как "Обязательные", должны существовать в предоставленных файлах, иначе они не будут приняты. Заголовки полей, помеченные как "Необязательный", не обязательно должны присутствовать в файлах, если не передаются соответствующие необязательные данные.

Поля с определенными перечисляемыми значениями, отмеченными в столбце "Типы данных", имеют определенный набор значений, которые они поддерживают. Поддерживаемый набор значений по умолчанию для полей перечисления см. в разделе Список значений по умолчанию.

orgs.csv

Поле Обязательный? Пример Тип данных
sourcedId Да 10001 Уникальный идентификатор
name Да Инженерный колледж String
type Да Колледж Перечисление
parentSourcedId Нет 10000 Уникальный идентификатор

users.csv

Поле Обязательный? Пример Тип данных
sourcedId Да 14001 Уникальный идентификатор
username Да cbeane@domain.com String
familyName Да (только при создании пользователей) Крейг String
givenName; Да (только при создании пользователей) Бин String
activeDirectoryMatchId Нет craig.beane@domain.com String
email Нет cbeane@domain.com Email
phone Нет +1234567890 Phone
Sms Нет +1234567890 Phone
userNumber Нет 14001 String
  • familyName и givenName являются обязательными для пользователей, если используется параметр "Создание пользователей, несоответвленных".
  • familyName, givenName и электронная почта являются обязательными для пользователей при использовании параметра "Связи контактов учащихся" для пользователей с ролью связи контактов в relationships.csv. Пользователям, которые являются сотрудниками, но и контактами, рекомендуется иметь в списке две записи пользователей, с записью пользователя контактов, связанной с их личным адресом электронной почты.
  • Ожидается, что поля телефона и sms должны быть отформатированы на основе стандарта E.164, где символ "плюс" используется и заменен номером телефона, или, скорее, символ "плюс", за которым следует код страны, код региона, префикс телефона и номер строки.
  • пароль больше не используется для указания пароля по умолчанию для создания новых пользователей.

roles.csv

Поле Обязательный? Пример Тип данных
userSourcedId Да 14001 Уникальный идентификатор
orgSourcedId Да 10001 Уникальный идентификатор
role Да student Перечисление
sessionSourcedId Нет FS2021 Уникальный идентификатор
оценка Нет PS1 Перечисление
isPrimary Нет true Boolean
roleStartDate Нет 2020-08-24 Date
roleEndDate Нет 2020-12-11 Date
  • Требуется ссылка на связанного пользователя, использующий поле userSourcedId. Это создает зависимость от файла users.csv.
  • Требуется ссылка на связанную организацию с помощью поля orgSourcedId. Это создает зависимость от файла orgs.csv.
  • Если передано. Для этого требуется ссылка на связанные термины (академические сеансы) с помощью поля sessionSourcedId. Это создает зависимость от файла academicSessions.csv.
  • isPrimary указывает, является ли эта роль первичной (true) или вторичной (false) ролью для этой организации. При передаче нескольких ролей для одного пользователя и одной организации для каждой организации должна быть одна и только одна основная роль ( true) для каждой организации.
  • Значения даты, предоставляемые в формате ISO8601.

classes.csv

Поле Обязательный? Пример Тип данных
sourcedId Да 12001 Уникальный идентификатор
orgSourcedId Да 10001 Уникальный идентификатор
title Да Информатика 101 String
sessionSourcedIds Нет FS2021 Уникальный идентификатор[]
courseSourcedId Нет C12001 Уникальный идентификатор
code Нет 12001 String
  • Для этого требуется ссылка на связанное учебное заведение (организация), использующий поле orgSourcedId. Это создает зависимость от файла orgs.csv.
  • Если передано: для этого требуется ссылка на связанные термины (академические сеансы), использующие поле sessionSourcedIds. Это создает зависимость от файла academicSessions.csv.
  • Если класс связан с несколькими сеансами в одном учебном году, например осеннего семестра и весеннего семестра, можно указать оба исходных идентификатора для сеансов в записи. Значения должны быть объединены в одну строку со значениями, окруженными кавычками и разделенными запятыми.
    • Связь с несколькими sessionSourcedId хранится только в Data Lake.
    • Атрибут расширения группы Microsoft 365 для идентификаторов сеансов не поддерживает несколько сопоставлений.
  • Если передано: для этого требуется ссылка на связанный курс с использованием поля courseSourcedId. Это создает зависимость от файла courses.csv.

enrollments.csv

Поле Обязательный? Пример Тип данных
classSourcedId Да 12001 Уникальный идентификатор
userSourcedId Да 14001 Уникальный идентификатор
role Да student Перечисление
  • Для этого требуется ссылка на связанный класс, использующий поле classSourcedId. Это создает зависимость от файла classes.csv.
  • Для этого требуется ссылка на связанного пользователя, использующий поле userSourcedId. Это создает зависимость от файла users.csv.

academicSessions.csv

Подал Обязательный? Пример Тип данных
sourcedId Да FS2021 Уникальный идентификатор
title Да Осенний семестр String
type Да Семестр Перечисление
schoolYear Да 2021 Перечисление
startDate Да 2020-08-24 Date
endDate Да 2020-12-11 Date
  • Ожидается, что значения даты будут предоставлены в ISO8601 формате.

courses.csv

Поле Обязательный? Пример Тип данных
sourcedId Да C12001 Уникальный идентификатор
orgSourcedId Да 10001 Уникальный идентификатор
title Да Информатика 101 String
code Нет CS101 String
schoolYearSourcedId Нет Y2021 Уникальный идентификатор
subject Нет 10 Перечисление
оценка Нет Студентов Перечисление
  • Для этого требуется ссылка на связанную организацию (организацию), используя поле orgSourcedId. Это создает зависимость от файла orgs.csv.
  • Если передано: для этого требуется ссылка на связанную запись года учебного сеанса с использованием поля schoolYearSourcedId, где тип = schoolYear. Это создает зависимость от файла academicSessions.csv.

relationships.csv

Поле Обязательный? Пример Тип данных
userSourcedId Да 14001 Уникальный идентификатор
relationshipUserSourcedId Да P14001 Уникальный идентификатор
relationshipRole Да Опекуна Перечисление
  • Если вы также синхронизируете контактные отношения (опекуны), необходимо включить запись для них в users.csv.
  • Для этого требуется ссылка на связанного пользователя, использующий поле userSourcedId. Это создает зависимость от файла users.csv.
  • Для этого требуется ссылка на связанного пользователя, использующий поле relationshipUserSourcedId. Это создает зависимость от файла users.csv.
  • Кроме того, для пользователей с ролями связи контактов требуются familyName, givenName и электронная почта.

demographics.csv

Поле Обязательный? Пример Тип данных
userSourcedId Да 14001 Уникальный идентификатор
Секс Нет Мужской Перечисление
birthDate Нет 2001-07-20 Date
birthCity Нет Ваудсвилл String
birthState Нет WA Перечисление
birthCountry Нет США String
ethnicityCodes Нет hispanicOrLatinoEthnicity Перечисление[]
raceCodes Нет demographicRaceTwoOrMoreRaces Перечисление[]
  • Для этого требуется ссылка на связанного пользователя, использующий поле userSourcedId. Это создает зависимость от файла users.csv.
  • Несколько значений, сопоставленных с raceCodes, должны быть объединены в одну строку со значениями, окруженными кавычками и разделенными запятыми.

userFlags.csv

Поле Обязательный? Пример Тип данных
userSourcedId Да 14001 Уникальный идентификатор
flag Да Lep Перечисление
  • Для этого требуется ссылка на связанного пользователя, использующий поле userSourcedId. Это создает зависимость от файла users.csv.