Authentification
Chaque appel d' API nécessite un jeton d'authentification en tant qu'en-tête. Ces jetons sont générés par les Responsables TI /Administrateurs et peuvent être révoqués. Les jetons d'authentification permettent un accès API à une institution spécifique. Le jeton fait 32 caractères et peut être récupéré à partir du P anneau d'administration -> API.
Assurez-vous également d'enregistrer le jeton d' API après avoir généré le jeton.
Utilisation du jeton: le jeton doit être transmis en tant qu'en-tête avec la clé « authToken » et la valeur en tant que jeton dans chaque appel d' API.
Transport et encodage
L' API actuelle ne prend en charge que le format de données JSON. Il est recommandé de spécifier l' application/json comme en-tête accepté, mais ce n'est pas obligatoire.
URL de base de l'API
L'URL de base de l'API YuJa actuelle est {organization_subdomain}.yuja.com/services/. Organization_subdo main est attribué lorsque le compte d'O rganisation est provisionné avec YuJa. Pour des raisons de sécurité, seul l'accès https est autorisé. Par exemple, si le domaine attribué à l'organisation est testé, la page de destination est api-testing.yuja.com et le point de terminaison de l' API est api-testing.yuja.com/services.
Paramètres de demande
Il existe plusieurs façons de transmettre des paramètres de requête aux appels d'API.
- En tant que composant dans le chemin d' URL. C'est ce qu'on appelle un paramètre de chemin.
- En tant que partie de la chaîne de requête. C'est ce qu'on appelle un paramètre de chaîne de requête.
- Dans le corps de la requête pour les requêtes non GET. C'est ce qu'on appelle un paramètre du corps. Le contenu doit être encodé en JSON.
- Dans l' en tête personnalisé HTTP. C'est ce qu'on appelle un paramètre d'en-tête.
Opérations CRUD
Les API suivent la convention REST afin de réaliser les fonctionnalités CREATE, READ, UPDATE
et DELETE. Le tableau suivant décrit la convention couramment utilisée.
Operation | HTTP Method | Notes |
---|---|---|
CREATE | POST | POST est le moyen standard de créer un objet. Le POST API retournera l'id d'objet associé à l'objet qui a été créé afin qu'il puisse être utilisé ultérieurement API appels. |
READ | GET | GET récupère des informations. Le résultat peut être une liste ou un objet unique basé sur API appels. |
UPDATE | PUT | PUT exige le ID de l'objet à mettre à jour. Tous les champs de mise à jour sont facultatifs, sauf indication contraire. Les champs définis seront mis à jour. |
DELETE | DELETE | DELETE exige le ID de l'objet à supprimer. Les ID et le type de l'objet doit correspondre. |
Codes de réponse de l'API de repos
200 | OK |
201 | Created |
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
1 - Présentation de l'API utilisateur
Les utilisateurs représentent tous les utilisateurs enregistrés dans l'institution. Cela inclut les Instructeurs, les É tudiants et les Responsables TI. Les utilisateurs peuvent être inscrits à des cours, créer des captures et demander/inviter/être invités à des réunions. Les utilisateurs peuvent également avoir une collection de vidéos.
1.1 - Modèle objet utilisateur
Variable | Type | Description |
---|---|---|
user_id | string | Un unique user_id générée par le système. |
email_address | string[255] | L'adresse courriel de l'utilisateur doit être unique pour tous les utilisateurs. |
first_name | string[30] | Prénom de l'utilisateur. |
last_name | string[30] | Nom de l'utilisateur. |
login_id | string[20] | ID de connexion de l'utilisateur. |
login_password | string[20] | Mot de passe de connexion pour l'utilisateur. |
custom_id | string[20] | ID personnalisé de l'utilisateur. |
timezone | string | Fuseau horaire de l'utilisateur. |
user_type | string enum | Type d'utilisateur. Il peut s'agir de l'un des éléments suivants : “Étudiant”, “Instructeur”, “Gestionnaire TI”. |
phone_number | string[20] | Numéro de téléphone de l'utilisateur. |
Pour obtenir l'identifiant_d'utilisateur des utilisateurs (user_id), commencez par appeler l' API GET /users (Section 1.2.1). À partir de la réponse, tous les user_id des utilisateurs peuvent être collectés, qui peuvent être utilisés ultérieurement pour d'autres appels d' API .
1.2 - Principaux Terminaux
Method | Path | Description |
---|---|---|
GET | /users | Récupère tous les utilisateurs appartenant à l'organisation. |
GET | /users/{user_id} | Récupère un utilisateur individuel basé sur user_id. |
POST | /users | Ajoute un utilisateur |
PUT | /users/{user_id} | Met à jour un seul utilisateur en fonction de user_id. |
DELETE | /users/{user_id} | Supprime un seul utilisateur en fonction de user_id. |
GET | /users/{user_id}/groups/members | Récupère tous les groupes auxquels l'utilisateur s'est inscrit. |
GET | /users/{user_id}/groups/content_owners | Récupère tous les groupes dont l'utilisateur est le propriétaire du contenu. |
1.2.1 - GET /users
Renvoie une liste d'objets JSON, où chaque objet est un utilisateur. Aucun paramètre n'est nécessaire pour cet appel.
Exemple d'URL: https://api-testing.yuja.com/services/users
Exemple de réponse:
[
{
"login_id": "loginID123",
"user_type": "IT Manager",
"user_id": "3432",
"timezone": "America/New_York",
"last_name": "doe,
"phone_number": "123 -456-7890",
"first_name": "john",
"email": "john.doe@yuja.com"
},
{
"login_id": "loginID456",
"user_type": "Student",
"user_id": "44",
"timezone": "Canada/Pâques",
"last_name": "biche",
"phone_number": "123-456-7890",
"first_name": "jane",
"e-mail": "jane.doe@yuja.com"
}
]
1.2.2 - GET /users/{user_id}
Renvoie un objet JSON contenant les informations sur l'étudiant.
Exemple d'URL: https://api-testing.yuja.com/services/users/3432
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
user_id | path parameter | string | La valeur doit correspondre au champ user_id de l'appel GET /users. |
Exemple de réponse:
{
"login_id": "loginID123",
"user_type": "IT Manager",
"user_id": "3432",
"timezone": "America/New_York",
"custom_id": "otherName",
"last_name": "doe ",
"phone_number": "123-456-7890",
"first_name": "john",
"email": "john.doe@yuja.com"
}
1.2.3 - POST /utilisateurs
Crée un nouvel utilisateur au sein de l'institution. Les données JSON peuvent être composées sans paramètres facultatifs. Voir Section 1.1 pour les détails des paramètres.
Exemple d'URL: https://api-testing.yuja.com/services/users
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
email_address | body parameter | string[255] | Requis |
first_name | body parameter | string[30] | Requis |
last_name | body parameter | string[30] | Requis |
login_id | body parameter | string[20] | Requis |
login_password | body parameter | string[20] | Requis |
custom_id | body parameter | string[20] | Requis |
user_type | body parameter | string enum | Requis |
phone_number | body parameter | string[20] | Requis |
Ce point de terminaison attend des données JSON de ce format dans le paramètre body:
{
"email_address": String email,
"first_name": String firstName,
"last_name": String lastName,
"login_id": String logidID,
"login_password": String password,
"custom_id": String custom_id,
"user_type": String userType,
"phone_number": Chaîne phoneNumber
}
Exemple de données JSON:
{
"login_id": "loginID123",
"user_type": "IT Manager",
"custom_id": "otherName",
"last_name": "doe",
"phone_number": "123-456-7890",
"first_name": "john",
"email": "john.doe@yuja.com"
}
1.2.4 - METTRE /users/{user_id}
Met à jour un seul utilisateur individuel en fonction de {user_id}. Voir Section 1.1 pour les détails des paramètres.
Exemple d'URL: https://api-testing.yuja.com/services/users/1000
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
user_id | path parameter | string | La valeur doit correspondre user_id field in the GET /users appel. |
email_address | body parameter | string[255] | Définir pour mettre à jour l'adresse de messagerie électronique. |
first_name | body parameter | string[30] | Définir pour mettre à jour le prénom de l'utilisateur. |
last_name | body parameter | string[30] | Défini pour mettre à jour le nom de famille de l'utilisateur. |
login_password | body parameter | string[20] | Définir pour mettre à jour le mot de passe de connexion de l’utilisateur. |
custom_id | body parameter | string[20] | Défini pour mettre à jour l'ID personnalisé de l'utilisateur. |
timezone | body parameter | string | Défini pour mettre à jour le fuseau horaire de l'utilisateur. |
user_type | body parameter | string enum | Défini pour mettre à jour le type de l'utilisateur. |
phone_number | body parameter | string[20] | Mettre à jour le numéro de téléphone de l’utilisateur. |
Ce point de terminaison attend des données JSON de ce format comme paramètre body:
{
"email_address": String email,
"first_name": String firstName,
"last_name": String lastName,
"login_password": String password,
"custom_id": String custom_id,
"timezone": String timeZone,
"user_type": String userType,
"phone_number": Chaîne phoneNumber
}
Tous les champs sont facultatifs. Seuls les champs fournis sont mis à jour.
1.2.5 - SUPPRIMER /users/{user_id}
Supprime l'utilisateur de l'identifiant {user_id} de l'institution.
Exemple d'URL: https://api-testing.yuja.com/services/users/1000
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
user_id | path parameter | string | La valeur doit correspondre au champ user_id de l'appel GET /users. |
1.2.6 - GET /users/{user_id}/groups/members
Récupère tous les groupes auxquels un utilisateur s'est inscrit.
Exemple d'URL: https://api-testing.yuja.com/services/users/3432/groups/members
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
user_id | path parameter | string | La valeur doit correspondre au champ user_id de l'appel GET /users. |
Exemple de réponse:
[
{
"publish_type": "ALL",
"is_active": "1",
"group_code": "GROUP_CODE",
"group_id": 1365,
"group_name": "Nom du groupe",
"owner_id": "2469",
"group_security": "FREE_JOIN",
"group_term": "Fall 2020"
},
{
"publish_type": "ADMIN",
"is_active": "1",
"group_code": "354",
"group_id": 121,
" group_name": "Nom du groupe",
"owner_id": "898",
"group_security": "INVITE_ONLY",
"group_term": "Printemps 2020"
}
]
1.2.7 - GET /users/{user_id}/groups/content_owners
Récupère tous les groupes dont un utilisateur est le propriétaire de contenu.
Exemple d'URL: https://api-testing.yuja.com/services/users/2469/groups/content_owners
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
user_id | path parameter | string | La valeur doit correspondre au champ user_id de l'appel GET /users. |
Exemple de réponse:
[
{
"publish_type": "ALL",
"is_active": "1",
"group_code": "GROUP_CODE",
"group_id": 1365,
"group_name": "Nom du groupe",
"owner_id": "2469",
"group_security": "FREE_JOIN",
"group_term": "Fall 2020"
},
{
"publish_type": "ADMIN",
"is_active": "0",
"group_code": "354",
"group_id": 121,
" group_name": "Invite Only",
"owner_id": "2469",
"group_security": "INVITE_ONLY",
"group_term": "Printemps 2020"
}
]
2 - Présentation de l'API de groupe
Les groupes représentent tous les groupes disponibles dans l'organisation. Chaque groupe a une sécurité de groupe spécifique qui filtre l'accès des utilisateurs à ce groupe. Le groupe peut également publier des politiques qui autorisent uniquement certains types d'utilisateurs à publier dans ces groupes.
2.1 - Modèle Objet Groupe
Variable | Type | Description |
---|---|---|
group_id | string | ID de groupe unique généré par le système. |
owner_id | string | ID du propriétaire qui a créé le groupe. |
group_name | string[200] | Nom du groupe. |
group_code | string[25] | Nom abrégé du groupe. |
group_security | string enum | Le paramètre de sécurité du groupe. Peut être l'une des valeurs suivantes, “INVITE_ONLY”, “REQUEST_JOIN”, “SECURITY_RULE”, “FREE_JOIN”. |
group_term | string[30] | Nom du terme pour ce groupe. |
publish_type | string enum | Spécifie les utilisateurs autorisés à publier dans ce groupe. Peut être l'une des valeurs suivantes, “ALL”, “CURATE”, “ADMIN”. |
is_active | boolean | Spécifie si le groupe est actif ou non. |
Pour obtenir le group_id des groupes, commencez par appeler l' API GET /groups (Section 2.2.1). À partir de la réponse, tous les groupe_id des groupes peuvent être collectés, qui peuvent être utilisés ultérieurement pour d'autres appels d' API.
2.2 - Principaux Terminaux
Method | Path | Description |
---|---|---|
GET | /groups | Récupère tous les groupes appartenant à l'organisation. |
GET | /groups/{group_id} | Récupère un groupe individuel basé sur group_id. |
PUT | /groups/{group_id} | Met à jour un seul groupe individuel en fonction de group_id. |
POST | /groups | Créer un groupe |
DELETE | /groups/{group_id} | Supprimer un groupe créé |
POST | /groups/{group_id}/members/add/{user_id} | Ajouter un utilisateur au groupe en tant que membre inscrit. |
POST | /groups/{group_id}/content_owners/add/{user_id} | Ajouter un utilisateur au groupe en tant que propriétaire de contenu |
GET | /groups/{group_id}/content_owners | Récupère tous les utilisateurs qui ont accès au groupe par le propriétaire du contenu. |
GET | /groups/{group_id}/members | Récupère tous les utilisateurs inscrits au groupe. |
DELETE | /groups/{group_id}/members/{user_id} | Supprime un membre utilisateur du groupe. Ne fait rien si l'utilisateur n'est pas membre. |
DELETE | /groups/{group_id}/content_owners/{user_id} | Supprime le propriétaire du contenu du groupe. Ne fait rien si l'utilisateur n'est pas propriétaire du contenu. |
GET | /groups/groupCode/{group_code} | Retourne les détails du groupe pour le code de groupe donné (code de cours). |
2.2.1 - GET /groupes
Renvoie une liste d'objets JSON, où chaque objet est un groupe. Aucun paramètre n'est nécessaire pour cet appel.
Exemple d'URL: https://api-testing.yuja.com/services/groups
Exemple de réponse:
[
{
"publish_type":"CURATE",
"is_active":true,
"group_code":"FALL 2020",
"group_id":1536,
"group_name":"Nom du groupe",
"owner_id":2468,
"sis_id":"996633",
"group_security":"INVITE_ONLY",
"group_term":"Terme par défaut"v },
{,
"publish_type":"ADMIN",
"is_active":true,
"group_code":"",
"group_id":1098,
"group_name":"Nom du groupe",
"owner_id":1588,
"sis_id":"996633",
"group_security":"INVITE_ONLY",
"group_term":"Terme par défaut"
}
]
2.2.2 - GET /groups/{group_id}
Renvoie un objet JSON contenant les informations du groupe.
Exemple d'URL: https://api-testing.yuja.com/services/groups/1098
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
group_id | path parameter | string | La valeur doit correspondre group_id dans la GET /groups appel. |
Exemple de réponse:
{
"publish_type": "ADMIN",
"is_active": "0",
"group_code": "ECE150",
"group_id": 1098,
"group_name": "Math Class",
"owner_id": 1588,
"group_security": "INVITE_ONLY"
}
2.2.3 - METTRE /groups/{group_id}
Modifiez les informations d'un groupe d'identifiant {group_id}. Voir Section 2.1 pour les détails des paramètres.
Exemple d'URL: https://api-testing.yuja.com/services/groups/1098
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
group_id | path parameter | string | La valeur doit correspondre group_id dans la GET /groups appel. |
group_name | body parameter | string[200] | Définir pour mettre à jour le nom du groupe. |
group_code | body parameter | string[25] | Définir pour mettre à jour le nom abrégé du groupe. |
group_term | body parameter | string[30] | Définir pour mettre à jour le nom personnalisé du groupe. |
group_type | body parameter | string enum | Définir pour mettre à jour le type de publication du groupe. |
Ce point de terminaison attend des données JSON de ce format comme paramètre body:
{
"group_name": String group_name,
"group_code": String group_code,
"group_term": String group_security,
"custom_name": String custom_name,
"publish_type": String publish_type
}
Tous les champs sont facultatifs. Seuls les champs fournis sont mis à jour.
2.2.4 - POST /groupes
Crée un nouveau groupe. Voir Section 2.1 pour les détails des paramètres.
Exemple d'URL: https://api-testing.yuja.com/services/groups
Name | Parameter Type | Type | Description |
---|---|---|---|
owner_id | body parameter | string | Obligatoire. |
group_name | body parameter | string[200] | Obligatoire. |
group_code | body parameter | string[25] | Obligatoire. |
group_term | body parameter | string | Obligatoire. |
publish_type | body parameter | string enum | Obligatoire. |
Ce point de terminaison attend des données JSON de ce format dans le paramètre body:
{
"owner_id": Chaîne owner_id,
"group_name": Chaîne group_name,
"group_code": Chaîne group_code,
"group_term": Chaîne group_term,
"custom_name": Chaîne custom_name,
"publish_type": Chaîne publish_type
}
2.2.5 - SUPPRIMER /groups/{group_id}
Supprime un groupe/une classe d'identifiant {group_id} de l'institution.
Exemple d'URL: https://api-testing.yuja.com/services/groups/1098
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
group_id | path parameter | string | La valeur doit correspondre au champ group_id field dans le GET /groups appel. |
2.2.6 - POST /groups/{group_id}/members/add/{user_id}
Ajoute un utilisateur à un groupe en tant que membre.
Exemple d'URL: https://api-testing.yuja.com/services/groups/1098/members/add/1000
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
group_id | path parameter | string | La valeur doit correspondre au champ group_id dans le GET /groups appel. |
user_id | path parameter | string | La valeur doit correspondre au champ user_id dans le GET /users appel. |
2.2.7 - POST /groups/{group_id}/content_owners/add/{user_id}
Ajoute un utilisateur à un groupe en tant que propriétaire de contenu.
Exemple d'URL: https://api-testing.yuja.com/services/groups/1098/content_owners/add/1000
Nom | Type de paramètre | Type | La description |
---|---|---|---|
groupe_id | paramètre de chemin | chaîne | La valeur doit correspondre au champ group_id dans l'appel GET /groups. |
user_id | paramètre de chemin | chaîne | La valeur doit correspondre au champ user_id dans l'appel GET /users. |
2.2.8 - GET /groups/{group_id}/content_owners
Renvoie une liste d'objets JSON, où chaque objet est un utilisateur qui est un propriétaire de contenu du groupe avec l'id {groupe_id}.
Exemple d'URL: https://api-testing.yuja.com/services/groups/1098/content_owners
Name | Parameter Type | Type | Description |
---|---|---|---|
group_id | path parameter | string | La valeur doit correspondre au champ group_id dans l'appel GET /groups. |
Exemple de réponse:
[
{
"login_id": "loginID123",
"user_type": "IT Manager",
"user_id": "3432",
"timezone": "America/New_York",
"last_name": "doe",
"phone_number": " 123-456-7890",
"first_name": "john",
"email": "john.doe@yuja.com"
},
{
"login_id": "loginID456",
"user_type": "Student",
"user_id": "44",
"timezone": "Canada/Pâques",
"last_name": "biche",
"phone_number": "123-456-7890",
"first_name":"jane",
"email": "jane.doe@yuja.com"
}
]
2.2.9 - GET /groups/{group_id}/members
Renvoie une liste d'objets JSON, où chaque objet est un utilisateur membre du groupe avec l'ID {groupe_id}.
Exemple d'URL: https://api-testing.yuja.com/services/groups/1098/members
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
group_id | path parameter | string | La valeur doit correspondre au champ group_id dans l'appel GET /groups. |
Exemple de réponse:
[
{
"login_id": "loginID123",
"user_type": "IT Manager",
"user_id": "3432",
"timezone": "America/New_York",
"last_name": "doe",
"phone_number": " 123-456-7890",
"first_name": "john",
"email": "john.doe@yuja.com"
},
{
"login_id": "loginID456",
"user_type": "Student",
"user_id" : "44",
"timezone": "Canada/Pâques",
"last_name": "biche",
"phone_number": "123-456-7890",
"first_name":"jane",
"email": "jane.doe@yuja.com"
}
]
2.2.10 - SUPPRIMER /groups/{group_id}/members/{user_id}
Supprime un membre d'id {utilisateur_id} d'un groupe d'id {groupe_id}.
Exemple d'URL: https://api-testing.yuja.com/services/groups/1098/members/1000
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
group_id | path parameter | string | La valeur doit correspondre au champ group_id dans l'appel GET /groups. |
user_id | path parameter | string | La valeur doit correspondre au champ user_id dans l'appel GET /users. |
2.2.11 - SUPPRIMER /groups/{group_id}/content_owners/{user_id}
Supprime un propriétaire de contenu d'id {utilisateur_id} d'un groupe d'id {groupe_id}.
Exemple d'URL: https://api-testing.yuja.com/services/groups/1098/content_owners/1000
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
group_id | path parameter | string | La valeur doit correspondre au champ group_id dans l'appel GET /groups. |
user_id | path parameter | string | La valeur doit correspondre au champ user_id dans l'appel GET /users. |
2.2.12 - GET - /groups/groupCode/{group_code}
Renvoie les détails du groupe pour le code de groupe donné (code du cours).
Exemple d'URL: https://api-testing.yuja.com/services/groups/groupCode/123
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
group_code | Path Parameter | String | Requis | Code du groupe pour lequel les détails du groupe seront retournés. |
Exemple de réponse:
[
{
"publish_type": "ADMIN",
"is_active": 1,
"group_code": "123 ",
"group_id": 138,
"group_name": "scriptTest",
"owner_id": 148,
"sis_id": 0,
"group_security": "INVITE_ONLY",
"group_term": "Spring 2017"
},
{
"publish_type": "ALL",
"is_active": 1,
"group_code": "123",
"group_id": 172,
"group_name" : "TestNumber222", "owner_id": 43,
"sis_id": 0,
"group_security": "INVITE_ONLY",
"group_term": "Printemps 2017"
}
]
3 - Présentation de l'API de l'appareil
Les appareils représentent tous les appareils de capture enregistrés dans l'organisation. Chaque périphérique peut éventuellement se voir attribuer une adresse IP dans l'interface utilisateur de gestion. Cet identifiant sera récupéré avec les autres identifiants d'appareil.
3.1 - Modèle d'objet de périphérique
Variable | Type | Description |
---|---|---|
device_id | string | ID unique généré par le système. |
device_type | string enum | Type de périphérique du périphérique enregistré. Peut être l'une des valeurs suivantes, “software_capture”, “hardware_capture”. |
name | string[100] | Nom donné au périphérique. |
access_level | string enum | Qui peut accéder à ce périphérique, peut être l'une des valeurs suivantes “it_admin”, “me”, “content_owner”, “member”. |
register_user_id | string | ID utilisateur qui a enregistré le périphérique. |
profile_id | string |
ID unique généré par le système affecté à un profil. Remarque : Pour les Hardware Appliances, définissez profile_id sur « -1 » |
session_id | string | Un identifiant unique généré par le système et affecté à une session. |
_live_broadcast | boolean | Facultatif, pour les Hardware Appliances uniquement. Spécifie si la session est définie sur live stream. |
3.2 - Principaux Terminaux
Method | Path | Description |
---|---|---|
GET | /devices | Récupère tous les appareils appartenant à l'organisation. |
GET | /devices/{device_id} | Récupère un seul périphérique individuel en fonction de device_id. |
PUT | /devices/{device_id} | Met à jour le nom d'un seul appareil en fonction de device_id. |
POST | /devices/register | Enregistrez un appareil. |
GET | /devices/registrations/{access_id} | Une autre façon d'obtenir des informations sur l'appareil en utilisant access_id au lieu du device_id interne YuJa. Uniquement disponible pour les types d'appareils qui utilisent un access_id. |
GET | /devices/{device_id}/schedule | Récupère tous les horaires associés à cet appareil. |
POST | /devices/{device_id}/profiles/create | Crée un profil de capture pour un appareil. |
POST | /devices/session | Crée une session planifiée avec l'appareil et le profil sélectionnés. |
POST | /devices/startsession | Crée une session instantanément avec l'appareil et le profil spécifiés. |
GET | /session/{sessionId}/livestream/urls | Récupère les URL de diffusion en direct et l'URL de lecture par rapport à l'ID de session donné. |
POST | ||
POST | /devices/stopstation | Arrête toutes les sessions actuellement enregistrées par l'appareil. |
POST | /devices/{device_id}/status | Un point de terminaison pour l'envoi périodique d'informations d'état et de journalisation à la Video Platform. |
GET | /devices/session/{session_id}/commands | La station interrogera la plate-forme vidéo pour récupérer les commandes de pause ou d'arrêt qui seront utilisées pour le contrôle en cours d'une session active. |
DELETE | /devices/{session_id} | Supprime une session de la planification des appareils. |
GET | /devices/profiles/{device_id}/{login_id} | Récupère tous les profils d'un utilisateur sur un appareil spécifié. |
GET | /devices/profiles/{device_id} | Récupère tous les profils sur un appareil spécifié. |
GET | /devices/userID/{sso} | Récupère l'ID utilisateur correspondant. |
POST | /devices/editsession | Modifie une session existante. |
DELETE | /devices/{device_id}/schedules | Supprime tous les horaires associés à cet appareil. |
POST | /devices/{device_id}/status | Enregistre les états et les informations de journalisation pour un périphérique particulier. |
POST | /devices/yujahardware/{device_id}/profiles/create | Crée un nouveau profil. |
PUT | devices/yujahardware/{device_id}/profiles/update | Mettre à jour le profil du hub. |
DELETE | /devices/yujahardware/{device_id}/profiles/{profile_id}/delete | Supprimer un profil de hub. |
GET | /devices/{deviceId}/profiles/{externalProfileId} | Renvoie l'ID de profil de YuJa par rapport à l'ID de profil externe transmis. |
DELETE | /devices/unregister/{deviceId} | Supprime tout appareil enregistré. |
PUT | /devices/{sessionId}/extend | Prolonge la durée de session des appareils tiers (par défaut de 30 minutes). |
GET | /devices/{deviceId}/{profileId}/previewlinks | Renvoie les URL S3 pré-signées qui peuvent être utilisées pour mettre à jour les aperçus audio/image. |
PUT | /devices/{sessionId}/stop | Arrête immédiatement la session des appareils tiers. |
POST | /devices/session/{sessionPId}/pause | Suspendez la lecture de la diffusion en direct pour une session particulière. |
POST | /devices/session/{sessionPId}/resume | Reprend la lecture du flux en direct pour une session particulière. |
3.2.1 - GET /devices
Renvoie une liste d'objets JSON, où chaque objet est un périphérique.
Exemple d'URL: https://api-testing.yuja.com/services/devices
Paramètres:
Aucun paramètre n'est nécessaire pour cet appel.
Exemple de réponse:
{
{
"name": "station1",
"device_type": "software_capture",
"access_level": "it_admin",
"device_id " : "12345",
"register_user_id" : "user1"
},
{
"name": "station2 ",
"device_type": "hardware_capture",
"access_level": "moi",
"device_id ” : “12346”,
“register_user_id” : “user2”
}
}
3.2.2 - GET /devices/{device_id}
Renvoie un objet JSON, où l'objet est un appareil.
Exemple d'URL: https://api-testing.yuja.com/services/devices/12456
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
device_id | path parameter | string | La valeur doit correspondre au champ device_id dans l'appel GET /devices. |
Exemple de réponse:
{
"name": "station2",
"device_type": "hardware_capture",
"access_level": "moi",
"device_id ”: “12346”,
“register_user_id” : “user2”
}
3.2.3 - PUT /devices/{device_id}
Mettez à jour l'appareil.
Exemple d'URL: https://api-testing.yuja.com/services/devices/12345
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
device_id | path parameter | string | La valeur doit correspondre au champ device_id dans l'appel GET /devices. |
3.2.4 - POST /devices/register
Enregistre un appareil. Vous pouvez utiliser le point de terminaison existant PUT /devices/{device_id} pour modifier l'appareil après l'enregistrement.
Exemple d'URL: https://api-testing.yuja.com/services/devices/register
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
access_id | Body parameter | string[100] | Required | A unique identifier for the capture station. |
display_name | Body parameter | string[100] | Required | Le nom d'affichage affiché pour l'utilisateur final. |
station_type | Body parameter | string enum | Required | Spécifie quel périphérique tiers est enregistré (Exemple : « extron », « epiphan »). |
device_model | Body parameter | string | Optional | Le modèle de l'appareil. |
firmware_version | Body parameter | string | Optional | La version du micrologiciel de l'appareil. |
user_identifier | Body parameter | string | Required | Un identifiant pour l'utilisateur de la plateforme vidéo qui deviendra propriétaire de l'appareil. |
user_identifier_type | Body parameter | string enum | Required | Valeurs possibles : "ID", "LOGIN", "SSO". Détermine comment le paramètre user_identifier sera traité. ID représente l'ID YuJa interne, LOGIN représente le nom d'utilisateur de connexion de l'utilisateur et SSO représente l'identifiant d'utilisateur SSO de l'utilisateur. |
configuration | Body parameter | JSON object | Optional | Configurations diverses. |
contact_list | Body parameter | string | Optional | Une liste d'utilisateurs auxquels envoyer des notifications de périphérique. La chaîne sera au format de valeurs séparées par des virgules où chaque valeur est un ID utilisateur interne de Video Platform ou un courriel. |
save_folder (Upcoming) | Body parameter | string | Optional | Le dossier dans Médiathèque dans lequel enregistrer. Le chemin sera un chemin relatif à partir du dossier de l'utilisateur, pas un chemin absolu. S'il n'est pas défini, il s'agira par défaut de la collection par défaut de l'utilisateur. |
Exemple de requête:
{
"access_id": "r0RQUYSM89TvCo9sm3AM",
"display_name" : "Device 1",
"device_model": "",
"firmware_version": "1.0",
"user_identifier": "username",
"user_identifier_type": "LOGIN",
" configuration": "",
"contact_list" :"11111, 11112, user@gmail.com",
"save_folder": "/MyMediaCollections/84fbbff5-b2bf-42ad-8b05-a5a227b0462e/6cfc190f-f7a4-4010-899d-b70456668e7c"
}
Exemple de réponse:
{
"success": "true",
"error_message": "",
"id": "12345"
}
3.2.5 - GET /devices/registrations/{access_Id}
Une autre façon d'obtenir des informations sur l'appareil en utilisant access_id au lieu du device_id interne de la plate-forme vidéo. Uniquement disponible pour les types d'appareils qui utilisent un access_id.
Exemple d'URL : https://api-testing.yuja.com/services/devices/registrations/r0RQUYSM89TvCo9sm3AM
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
access_id | Path parameter | string[100] | Required | Un identifiant unique pour la station de capture. |
Exemple de réponse:
{
"name": "station1",
"device_type": "software_capture",
"access_level": "it_admin",
"device_id ”: “12345”,
“register_user_id”: “user1”
}
3.2.6 - GET /devices/{device_id}/schedule
Renvoie les détails des sessions de l'appareil entre une période de temps.
Exemple d'URL: https://api-tes ting.yuja.com/services/devices/12345/schedule?startTime=01-08-2021&endTime=07-08-2021
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
device_id | path parameter | string | La valeur doit correspondre au champ device_id dans l'appel GET /devices. |
startTime | Query parameter | string | Heure de début du programme(jj-mm-aaaa) |
endTime | Query parameter | string | Heure de fin du programme(jj-mm-aaaa) |
Exemple de réponse:
[
{
"session_name": "Biology Lecture",
"isLiveStream": false,
"start_timestamp": 1627590240000,
"session_creator": "IsabelleLopez_NA",
"device_profile": "video-only",
"session_id": 37256,
"duration" : "1:00",
"start_time": "Thu Jul 29 20:24:00 UTC 2021",
"session_description": "",
"repeat_summary": "Hebdomadaire le lundi pour 1 sessions",
"class_name": "N /A",
"class_code": "N/A",
"video_id": 197453
}
]
3.2.7 - POST /devices/{device_id}/profiles/create
Crée un profil de capture pour un appareil.
Exemple d'URL : https://api-testing.yuja.com/services/devices/{device_id}/profiles/create
Paramètres: le corps contiendra un JSON Array où chaque objet JSON aura les champs suivants.
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
profile_id | Body parameter | string[100] | Required | Un identifiant unique pour le profil. |
name | Body parameter | string | Required | Le nom du profil affiché pour l'utilisateur final. |
description | Body parameter | string | Optional | La description du profil affichée à l'utilisateur final. |
isLiveStream | Body parameter | boolean | Optional | La valeur booléenne décidera si la session créée via ce profil sera diffusée en direct ou non. La valeur par défaut est false |
Exemple de requête:
[
{
"profile_id": "456juhgj",
"name": "LiveStreamProfile",
"description": "Aucune description nécessaire",
"isLiveStream": true
},
{
"profile_id": "789juhgj",
"name": "NormalProfile ",
"description": "Profil normal",
"isLiveStream": false
}
]
Exemple de réponse:
{
"success": true,
"profile_ids": [
{
"external_profile_id": "456juhgj",
"yuja_profile_id": 3440
},
{
"external_profile_id": "789juhgj",
"yuja_profile_id": 3441
}
]
}
3.2.8 - POST /appareils/session
Créer une session.
Exemple d'URL: https://api-testing.yuja.com/services/devices/session
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
start_year | Body parameter | string | Année de début de la session. |
start_month | Body parameter | string | Début du mois de la session. |
start_day | Body parameter | string | Jour de début de la session. |
start_hour | Body parameter | string | Heure de début de la session. |
start_minute | Body parameter | string | Minute de début de la session. |
duration_hour | Body parameter | string | Le nombre d'heures de la session doit durer. |
duration_minute | Body parameter | string | Le nombre de minutes de la session doit durer. |
station_id | Body parameter | string | ID correspondant à l'appareil avec lequel vous souhaitez enregistrer (obtenez de 3.2.1). |
login_id | Body parameter | string | Utilisez sso OU login_id. |
sso | Body parameter | string | Utilisez sso OU login_id. |
session_title | Body parameter | string | Un titre pour la séance. |
session_description | Body parameter | string | Facultatif |
label_colour | Body parameter | string | Facultatif, doit être au format "#ABCDEF". |
profile_id | Body parameter | string |
Un identifiant correspondant au profil que vous souhaitez utiliser pour l'enregistrement (identifiants de profil trouvés à partir de 3.2.9). Remarque: Pour les périphériques matériels, définissez profile_id sur "-1" |
group_id | Body parameter | string | Facultatif : l'identifiant du groupe peut être trouvé en utilisant la requête get all groups (2.2.1). Ne peut avoir que group_id OU class_code pas les deux. |
class_code | Body parameter | string | Facultatif: le class_code est ajouté par l'utilisateur. Ne peut avoir que group_id OU class_code pas les deux. |
return_session | Body Parameter | boolean | Facultatif: envoyez true pour obtenir les détails de la session en réponse. |
storage_path | Body Parameter | string | Facultatif : transmettez le chemin relatif à votre Médiathèque pour stocker la vidéo dans ce dossier. Si un espace vide ("") ou juste une barre oblique ("/") est passé, la vidéo sera stockée dans les collections par défaut. De plus, si le dossier mentionné n'est pas présent, l'API en créera un pour vous. |
Exemple de demande:
{
"start_year":2021,
"start_month":10,
"start_day":7,
"start_hour":0,
"start_minute":0,
"duration_hour":1,
"duration_minute":30,
"station_id":2906,
" login_id":"marythompson",
"session_title":"Un changement dans le courant de la microbiologie",
"session_description":"Introduction à la microbiologie",
"label_colour":“#33AA99”,
"profile_id":“700847”,
"return_session ":vrai
}
Exemple de réponse:
{
"success": true,
"sessionDetails": {
"sessionPID": 37230,
"userName": "john_doe",
"sessionTitle": "Un changement dans le courant de la microbiologie",
"duration": 30,
"startTime": "2021-07-30 01:10:00",
"endTime": "2021-07-30 01:20:00"
}
}
3.2.9 - POST /devices/startsession
Démarrez une session immédiatement.
Exemple d'URL: https://api-testing.yuja.com/services/devices/startsession
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
is_live_broadcast | Body parameter | string | Utilisez « true » pour enregistrer une diffusion en direct et « false » dans le cas contraire. |
group_id | Body parameter | string | Facultatif: l'identifiant du groupe peut être trouvé en utilisant la requête get all groups (2.2.1). Besoin group_id ou class_code si la session est en direct. Ne peut avoir que group_id OU class_code pas les deux. |
class_code | Body parameter | string | Facultatif: le class_code est ajouté par l'utilisateur. Besoin group_id ou class_code si la session est en direct. Ne peut avoir que group_id OU class_code pas les deux. |
duration_minute | Body parameter | string | La durée en minutes de l'enregistrement. |
station_id | Body parameter | string | L'identifiant de l'appareil d'enregistrement peut être trouvé avec (3.2.1). |
login_id | Body parameter | string | Utilisez sso OU login_id. |
sso | Body parameter | string | Utilisez sso OU login_id. |
session_title | Body parameter | string | Titre de la séance. |
session_description | Body parameter | string | Description facultative de la session. |
profile_id | Body parameter | string |
L'ID de profil peut être trouvé avec 3.2.9. |
storage_path | Body Parameter | string | Facultatif : transmettez le chemin relatif à vos collections de médias pour stocker la vidéo dans ce dossier. Si un espace vide (“”) ou juste une barre oblique (“/”) est passé, la vidéo sera stockée dans les collections par défaut. De plus, si le dossier mentionné n'est pas présent, l'API en créera un pour vous. |
Exemple de demande:
{
"is_live_broadcast": true,
"duration_minute": 45
"station_id": 2906
"login_id": marythompson
"session_title": "Un changement dans le courant de la microbiologie",
"profile_id": 7008c47
"storage_path" : "/Sem4/CompScience "
}
3.2.10 - GET/POST /session/{sessionId}/livestream/urls
Un point de terminaison qui répondra avec des URL de diffusion en direct et une URL de lecture par rapport à l'ID de session donné.
Paramètres de demande:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
sessionId | Path parameter | Integer | Required | Le sessionId de la session planifiée (peut être récupéré à partir de /device_id/schedule) |
JSONArray | Body parameter | JSONArray |
JSONArray (Array de l'objet JSON suivant) (Maximum 3 flux autorisés par session)
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
streamName | JSONProperty | String | Required | Nom de flux unique utilisé pour créer la clé de flux |
streamQuality | JSONProperty | String | Optional |
Métadonnées facultatives Valeurs possibles: 240
720 |
audioOnly | JSONProperty | Boolean | Optional |
Métadonnées facultatives Valeurs possibles: Vrai
Faux |
videoOnly | JSONProperty | Boolean | Optional |
Métadonnées facultatives: Valeurs possibles: Vrai
Faux |
streamPriority | JSONProperty | String | Optional |
Métadonnées facultatives Une valeur inférieure signifie une priorité élevée Valeurs possibles: 1
1 |
Exemple d'URL : https://api-testing.yuja.com/services/devices /session/{sessionId}/livestream/urls
Exemple de corps de demande:
[
{
"streamName": "stream1",
"streamQuality" : 720,
"videoOnly" : false,
streamPriority" : 1
},
{
"streamName": "stream2",
streamQuality" : 720,
"audioOnly": false,
"videoOnly " : false,
"streamPriority" : 2
}
]
Exemple de réponse:
{
"success": true,
"playbackURL": "https://api-testing.yuja.com/LiveStream/E/37148/1071373286",
"liveStreamDetails": [
{
"streamName": "stream2",
"streamKey" : "stream2_34016ce3-1982-4597-802c-90cef0402682_1626897215559",
"liveStreamURL": "rtmp: //staging-lc1.yuja.com: 1935 / rtmp_live jeton = adf3086d-b2fd-4369-A992-c3052d42ffc9_1071373286"
},
{
" streamName": "stream1",
"streamKey": "stream1_30613ac6-2cd8-4388-937b-bb2c0c105e1b_1626897215412",
"liveStreamURL": "rtmp://staging-lc1.yuja.com:1935/rtmp_live?token=ee1731b7-9b11- 42f5-9e36-2dd5a1316664_1071373286"
}
]
}
3.2.11 - POST /devices/stopstation
Arrêtez une session immédiatement.
Exemple d'URL: https://api-testing.yuja.com/services/devices/stopstation
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
device_id | Body parameter | string | L'identifiant de l'appareil d'enregistrement peut être trouvé avec (3.2.1). |
login_id | Body parameter | string | Connexion. |
Exemple de demande:
{
"device_id": 55492,
"login_id": marythompson,
}
3.2.12 - POST /devices/{device_id}/status (à venir)
Un point de terminaison pour l'envoi périodique d'informations d'état et de journalisation à la plate-forme vidéo. Cela comprend nos journaux d'audit, les journaux d'erreurs et les alertes telles que les alertes de faible niveau de microphone (audio d'entrée).
Exemple d'URL: https://api-testing.yuja.com/services/devices/12345/status
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
device_id | Path parameter | integer | Required | L'identifiant de périphérique de la station de capture. |
timestamp | Body parameter | Timestamp | Required | Un horodatage correspondant au moment où l'événement s'est produit. |
type | Body parameter | string | Required | Valeurs : état, alerte, erreur. |
content | Body parameter | integer | Optional | L'état de l'appareil (téléchargement, connecté, streaming, déconnecté), le contenu de l'alerte ou les journaux d'erreurs, selon le paramètre de type. |
Exemple de demande:
{
"device_id": 52341,
"timestamp": 2021-05-20 12:00:00,
"type": status,
}
Exemple de réponse:
{
« succès » : vrai
}
3.2.13 - GET /devices/session/{session_id}/commands (à venir)
La station interrogera la Video Platform pour récupérer les commandes de pause ou d'arrêt qui seront utilisées pour le contrôle en session d'une session active. L'intervalle d'interrogation au milieu d'une session d'enregistrement sera à une fréquence plus élevée que lorsqu'il est en veille. La fréquence d'interrogation maximale ne doit pas dépasser une fois toutes les 10 secondes.
Exemple d'URL: https://api-testing.yuja.com/services/devices/session/614/commands
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
session_id | Path parameter | integer | Required | L'identifiant de session de la session. |
Réponse:
Name | Type | Description |
---|---|---|
command | string | ne rien faire, faire une pause, arrêter. |
3.2.14 - SUPPRIMER /devices/{session_id}
Supprimer une session planifiée.
Exemple d'URL: https://api-testing.yuja.com/services/devices/679
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
session_id | Path parameter | string | L'ID de l'appareil peut être trouvé par (3.2.4). |
3.2.15 - GET /devices/profiles/{device_id}/{login_id}
Obtenez les profils d'un utilisateur spécifique avec un appareil spécifique.
Exemple d'URL: https://api-testing.yuja.com/services/devices/profiles/12345/loginID123
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
device_id | Body parameter | string | L'identifiant de l'appareil d'enregistrement peut être trouvé avec (3.2.1). |
login_id | Body parameter | string | Login de l'utilisateur avec le profil. |
Exemple de réponse:
{
"profiles":[
{
"profile_name": "rylmao",
"profile_id": "1150"
},
{
"profile_name": "notlive",
"profile_id": "1155"
},
{
"profile_name": "liveoncesource" ,
"profile_id": "1160"
},
{ "profile_name": "allofthem3sources",
"profile_id": "1164"
},
{
"profile_name": "Audio uniquement",
"profile_id": "1173"
},
{
"profile_name" " : "Écran uniquement",
"profile_id": "1176"
}
]
}
3.2.16 - GET /devices/profiles/{device_id}
Obtenez les profils d'un utilisateur spécifique avec un appareil spécifique.
Exemple d'URL: https://api-testing.yuja.com/services/devices/profiles/12345
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
device_id | Body parameter | string | L'identifiant de l'appareil d'enregistrement peut être trouvé avec (3.2.1). |
Exemple de réponse:
{
"profiles": [
{
"profile_name": "prof1",
"profile_id": "3431",
"external_profile_id": "85693erf"
},
{
"profile_name": "prof2",
"profile_id": "3432",
" external_profile_id": "85693bgh"
}
]
}
3.2.17 - GET /devices/userID/{sso}
Récupérez l'ID utilisateur correspondant.
Exemple d'URL: https://api-testing.yuja.com/services/devices/userid/testuser
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
sso | Body parameter | string | Peut être récupéré à partir de 3.2.4. |
Exemple de réponse:
testeur
3.2.18 - POST /devices/editsession
Mettre à jour une session avec des paramètres donnés.
Exemple d'URL: https://api-testing.yuja.com/services/devices/editsession
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
session_id | Body parameter | string | Peut être récupéré à partir de 3.2.11. |
start_year | Body parameter | string | Facultatif: année de début de la session. |
start_month | Body parameter | string | Facultatif: mois de début de la session. |
start_day | Body parameter | string | Facultatif: jour de début de la session. |
start_hour | Body parameter | string | Facultatif: Heure de début de la session. |
start_minute | Body parameter | string | Facultatif: minute de début de la session. |
duration_hour | Body parameter | string | Facultatif: nombre d'heures que la session doit durer. |
duration_minute | Body parameter | string | Facultatif: nombre de minutes que durera la session. |
station_id | Body parameter | string | Facultatif: ID correspondant à l'appareil avec lequel vous souhaitez enregistrer (obtenez de 3.2.1). |
login_id | Body parameter | string | Facultatif: utilisez sso OU login_id. |
sso | Body parameter | string | Facultatif: utilisez sso OU login_id. |
session_title | Body parameter | string | Facultatif: un titre pour la session. |
session_description | Body parameter | string | Facultatif: une description. |
label_colour | Body parameter | string | Facultatif, doit être au format "#ABCDEF". |
profile_id | Body parameter | string | Facultatif: Un identifiant correspondant au profil que vous souhaitez utiliser pour l'enregistrement (identifiants de profil trouvés à partir de 3.2.9). |
group_id | Body parameter | string | Facultatif: l'identifiant du groupe peut être trouvé en utilisant la requête get all groups (2.2.1). Ne peut avoir que group_id OU class_code pas les deux. |
class_code | Body parameter | string |
Facultatif: le class_code est ajouté par l'utilisateur. Ne peut avoir que group_id OU class_code pas les deux. |
storage_path | Body Parameter | string | Facultatif: transmettez le chemin relatif à votre Médiathèque pour stocker la vidéo dans ce dossier. Si un espace vide ("") ou juste une barre oblique ("/") est passé, la vidéo sera stockée dans les collections par défaut. De plus, si le dossier mentionné n'est pas présent, l'API en créera un pour vous. |
Exemple de demande:
{
"session_id": ,
"start_year": 2021,
"start_month": 10,
"start_day": 7,
"start_hour": 0,
"start_minute": 0,
"duration_hour": 1,
"duration_minute": 30,
"station_id ": 2906,
"login_id": marythompson,
"session_title": "Un changement dans le courant de la microbiologie",
"session_description": "Introduction to Microbiology",
"label_colour": #33AA99,
"profile_id": <7008c47>
"storage_path " : "/Sem4/CompScience"
}
3.2.19 - SUPPRIMER /devices/{device_id}/schedules
Supprimez toutes les sessions planifiées associées à l'appareil.
Exemple d'URL: https://api-testing.yuja.com/services/devices/12345/schedules
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
device_id | Path parameter | string | L'ID de l'appareil peut être trouvé par (3.2.4). |
3.2.20 - GET /devices/{user_id}/sessions
Renvoie les détails de l'utilisateur entre une période de temps.
Exemple d'URL: https://api-testing.yuja.com/services/devices/marythompson
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
user_id | Path parameter | string | La valeur doit être un user_id valide |
startTime | Query parameter | string | Heure de début d'un programme (jj-mm-aaaa) |
endTime | Query parameter | string | Heure de fin du programme (jj-mm-aaaa) |
Exemple de réponse:
[
{
"durée": "0:10",
"session_name": "Leçon de chimie 101",
"start_time": "Dim 10 mai 18:00:00 EDT 2020",
"start_timestamp": 1589148000000,
"session_description": "Leçon récurrente CHEM 101",
"session_creator": "April Hurst",
"repeat_summary": "Hebdomadaire le dimanche pour 12 séances",
"device_profile": "",
"session_id": 1121,
"class_name": "Chimie 101",
"code de la classe": "",
"id_vidéo": -1
}
]
3.2.21 - POST /devices/{device_id}/status
Un point de terminaison pour l'envoi périodique d'informations d'état et de journalisation à YuJa EVP.
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
device_id | Path parameter | Integer | Required | L'identifiant de l'appareil de la station de capture |
statusType | Body parameter | string | Required | Valeurs possibles: DEVICE_STATUS |
deviceStatus | JSON Body Parameter | string | Required |
Accepte actuellement: téléchargement, streaming, prêt, enregistrement Pourrait être ajouté: en pause |
URL Exemple: https: // api-testing.yuja.com / services / appareils / 1480 / état
Exemple de corps de demande:
{
"statusType": "DEVICE_STATUS",
"deviceStatus": {
"recording": false,
"uploading": true,
"streaming": false,
"ready": true,
"extra_info": Objet JSON contenant toute autre information utile qui reste à définir.
}
}Exemple de réponse:
{
"success": true,
"command": "",
"command_data": ""
}
Remarque : la commande et command_data sont des espaces réservés pour les futures fonctionnalités de contrôle des appareils, comme la possibilité de dire aux appareils de mettre en pause/mettre fin à la session depuis notre portail.
3.2.22 - POST /devices/yujahardware/{device_id}/profiles/create
Un point de terminaison pour créer des profils de hub.
Exemple d'URL: https://api-testing.yuja.com/services/devices/yujahardware/{device_id}/profiles/create
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
device_id | Path parameter | Integer | Un ID de station de capture valide. |
Name | Body | String [255] | Le nom du profil de hub ne peut pas être vide. |
Description | Body | String [255] | Description du profil. |
MediaDevice0 | Body | Boolean | Activer le périphérique média 0 ou non. |
MediaDevice1 | Body | Boolean | Activer le périphérique média 1 ou non. |
MediaDevice2 | Body | Boolean | Activer le périphérique média 2 ou non. |
LineInAudio | Body | Boolean | Activer l'entrée audio ou non. |
Exemple de corps de demande:
[{
"Name": "1",
"Description": "",
"MediaDevice0": true,
"MediaDevice1": false,
"MediaDevice2": false,
"LineInAudio": true
}]
Exemple de réponse:
{"error_message":"","success":true,"profiles":[{"profile_name":"1","profile_id":"3313"}]}
3.2.23 - PUT /devices/yujahardware/{device_id}/profiles/update
Un point de terminaison pour mettre à jour un profil de hub.
Exemple d'URL: https://api-testing.yuja.com/services/devices/yujahardware/{device_id}/profiles/update
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
device_id | Path parameter | Integer | Un ID de station de capture valide. |
Name | Body | String [255] | Le nom du profil de hub ne peut pas être vide. |
Description | Body | String [255] | Description du profil. |
MediaDevice0 | Body | Boolean | Activer le périphérique média 0 ou non. |
MediaDevice1 | Body | Boolean | Activer le périphérique média 1 ou non. |
MediaDevice2 | Body | Boolean | Activer le périphérique média 2 ou non. |
LineInAudio | Body | Boolean | Activer l'entrée audio ou non. |
Exemple de corps de requête:
{
"ProfilePID": 3217,
"Name":"Test Update",
"Description": "Un profil de capture contenant 1 flux vidéo et 1 flux audio",
"MediaDevice0": false,
"MediaDevice1": true,
"MediaDevice2": false,
"LineInAudio": true
}
Exemple de réponse:
{
"errorMessage": "",
"success": true
}
3.2.24 - DELETE /devices/yujahardware/{device_id}/profiles/{profile_id}/delete
Un point de terminaison pour supprimer un profil de hub.
Exemple d'URL:
https://api-testing.yuja.com/services/ devices/yujahardware/{device_id}/profiles/{profile_id}/delete
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
device_id | Path parameter | Integer | Un ID de station de capture valide. |
profile_id | Path parameter | Integer | Un identifiant de profil valide. |
Exemple de réponse :
{ "errorMessage": "",
"success": true
}
3.2.25 - GET /devices/{deviceId}/profiles/{externalProfileId}
Renvoie l'ID de profil de YuJa par rapport à l'ID de profil externe transmis.
Exemple d'URL: https://api-testing.yuja.com/services/devices/1543/profiles/external/wstestprofile
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
deviceId | Path Parameter | Integer | Required | L'identifiant de l'appareil d'enregistrement |
externalProfileId | Path Parameter | String | Required | L'identifiant de profil du périphérique externe |
Exemple de réponse:
{
"profile_Id": "wstestprofile",
"yuja_profile_Id": 3412
}
3.2.26 - SUPPRIMER /devices/unregister/{deviceId}
Supprime tout appareil enregistré.
Exemple d'URL: https://api-testing.yuja.com/services/devices/unregister/1547
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
device_id | Path Parameter | Integer | Required | L'identifiant de l'appareil d'enregistrement peut être trouvé avec (3.2.1). |
Exemple de réponse:
{
"success": true
}
3.2.27 - PUT /devices/{sessionId}/extend
Prolonge la durée de session des appareils tiers (par défaut de 30 minutes).
Exemple d'URL: https://api-testing.yuja.com/services/devices/ 38957/extend?minutes=6
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
sessionId | Path Parameter | Integer | Required | L'identifiant de la session à étendre |
minutes | Query Parameter | Integer | Optional | Nombre de minutes qui seront ajoutées à la durée de la session |
Exemple de réponse:
{
"success": true,
"message": "La session a été prolongée avec succès pendant 6 minutes"
}
3.2.28 - GET - /devices/{deviceId}/{profileId}/previewlinks
Renvoie les URL S3 pré-signées qui peuvent être utilisées pour mettre à jour les aperçus audio/image.
Exemple d'URL: https://api-testing.yuja.com/services/devices/1480/3431/previewlinks?videoStream=1&audioStream=1
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
deviceId | Path Parameter | Integer | Required | L'identifiant du périphérique d'enregistrement. |
profileId | Path Parameter | String | Required | L'identifiant du profil YuJa de l'appareil externe. |
videoStream | Query Parameter | Integer | Required | Nombre de flux vidéo associés au profil. Nombre maximum de vidéos - 3 |
audioStream | Query Parameter | Integer | Required | Nombre de flux audio associés au profil. Nombre audio maximum - 2 |
Exemple de réponse:
{
"audios": [
{
"audioJsonURL":
"https://yuja-device-thumbnail.s3.amazonaws.com/sanchitbig2-epiphansanchitprof1-audio-0.json?X-Amz-Security-Token=IQoJb3JpZ2luX2VjEM%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLXdlc3QtMSJHMEUCIDhdEg115WlmnSKN8uqgmgL%2BDOcee6x6RSmE3OoMH22IAiEAwaFQQ4TbarjWBCvdVj1lS5JBs08IeNyIhMkhU%2FenksIq%2BgMISBAAGgw2MzE5OTkzNDU1OTMiDG9nrti1XJHkrtrKJyrXA2er1rESVKfXjPXRTrn7nLqbpFQ6uXyC2ajQMiNsQl8OMN5zcE04YXQeIrnnB6FweDvD00f7xIzHoB6w%2Fk1pkxmA%2FN%2BvJuPjeUVeIs1qy6Ksv1C5pR1Ua9HGg56lLuVxmit0jn5VWWaFkF9fzSBNX9g6ZeexKnQOUjMvYUxnTbyL0S3Tb0gEumIwf7L%2Fm5zQgqVoH4RQaSofmOVKc2sFrgi%2BwjyPC9BmB1XzairI7MasbfWZqNlCu%2BrG5HAv7TcA1aPeJ%2BbWxh8XkTKf3P%2B1xXjsTOxcHWjJCDnyLJ7dNfkNe1D2QV8c9wb2Bs98%2B2zEPuIFr%2FlQXYwuROjSVMk3QU714cF09q8W5jwwjSFQJedWfBwQrmEGNzg2CbM5gbJPh%2BLuuUkWZ78Y0xL1rMWQgK2Fd3OXWdqkWqgVbhTm%2FOalftwQ7GLD9WElErRLYz1OKPp2UpESpIrJd8B%2BVDFeBxlF3Zdums9yKhW4xBK8sDaXyna8DvlwtJqvo3pNQjjm4%2FJHwYgz32parf%2Fc6v7sgcXeEt2Rh7yQ8D8RanVqFzElhbg0IVoaU7RlQaLJXwtf1Ofkdbn%2FhwKZ8jRmAsM3FfkK97bkmOTZYGBniGMjvarXMoNP3EhAizCJqOyKBjqlAfeQJq5Prq3TBXA0fd4wA2sAHAstHfN6PKjnllZahJj04r4a5NQqG4NxLgX4XbpInydKijLCSFfRwtgi1ar6I5EMJG23hZwhIbg2%2FR1crTUcUZ7PxPfsGLtxnpaco%2FIImR1ljNA6z9fs4iq%2F4TxUKNRQpIBgqqIScGq0dqFF1CRnROW8ptmv1zTotHHtLIBabWPT9RjwgAuSGfOLyG7DYmAj%2Fa6Q8Q%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20211004T153617Z&X-Amz-SignedHeaders=host&X-Amz-Expires=518399&X-Amz-Credential=ASIAZGJQYWO42OPAIK5Z%2F20211004%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=29ff5b318d3e7032e9f460680e8325bb94d8f81118057f6c3c9c7bdd9bcb46fb", "audioMp4URL":
"https://yuja-device-thumbnail.s3.amazonaws.com/sanchitbig2-epiphansanchitprof1-audio-0.mp4?X-Amz-Security-Token=IQoJb3JpZ2luX2VjEM%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLXdlc3QtMSJHMEUCIDhdEg115WlmnSKN8uqgmgL%2BDOcee6x6RSmE3OoMH22IAiEAwaFQQ4TbarjWBCvdVj1lS5JBs08IeNyIhMkhU%2FenksIq%2BgMISBAAGgw2MzE5OTkzNDU1OTMiDG9nrti1XJHkrtrKJyrXA2er1rESVKfXjPXRTrn7nLqbpFQ6uXyC2ajQMiNsQl8OMN5zcE04YXQeIrnnB6FweDvD00f7xIzHoB6w%2Fk1pkxmA%2FN%2BvJuPjeUVeIs1qy6Ksv1C5pR1Ua9HGg56lLuVxmit0jn5VWWaFkF9fzSBNX9g6ZeexKnQOUjMvYUxnTbyL0S3Tb0gEumIwf7L%2Fm5zQgqVoH4RQaSofmOVKc2sFrgi%2BwjyPC9BmB1XzairI7MasbfWZqNlCu%2BrG5HAv7TcA1aPeJ%2BbWxh8XkTKf3P%2B1xXjsTOxcHWjJCDnyLJ7dNfkNe1D2QV8c9wb2Bs98%2B2zEPuIFr%2FlQXYwuROjSVMk3QU714cF09q8W5jwwjSFQJedWfBwQrmEGNzg2CbM5gbJPh%2BLuuUkWZ78Y0xL1rMWQgK2Fd3OXWdqkWqgVbhTm%2FOalftwQ7GLD9WElErRLYz1OKPp2UpESpIrJd8B%2BVDFeBxlF3Zdums9yKhW4xBK8sDaXyna8DvlwtJqvo3pNQjjm4%2FJHwYgz32parf%2Fc6v7sgcXeEt2Rh7yQ8D8RanVqFzElhbg0IVoaU7RlQaLJXwtf1Ofkdbn%2FhwKZ8jRmAsM3FfkK97bkmOTZYGBniGMjvarXMoNP3EhAizCJqOyKBjqlAfeQJq5Prq3TBXA0fd4wA2sAHAstHfN6PKjnllZahJj04r4a5NQqG4NxLgX4XbpInydKijLCSFfRwtgi1ar6I5EMJG23hZwhIbg2%2FR1crTUcUZ7PxPfsGLtxnpaco%2FIImR1ljNA6z9fs4iq%2F4TxUKNRQpIBgqqIScGq0dqFF1CRnROW8ptmv1zTotHHtLIBabWPT9RjwgAuSGfOLyG7DYmAj%2Fa6Q8Q%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20211004T153617Z&X-Amz-SignedHeaders=host&X-Amz-Expires=518399&X-Amz-Credential=ASIAZGJQYWO42OPAIK5Z%2F20211004%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=ff843f683a0b01aa09b4c96c443a6e80f7b30f476397a234b578dc1e2dbd4cc1" }
],
"deviceId": 1480,
"images": [
"https://yuja-device-thumbnail.s3.amazonaws.com/sanchitbig2-epiphansanchitprof1-img-0?X-Amz-Security-Token=IQoJb3JpZ2luX2VjEM%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLXdlc3QtMSJHMEUCIDhdEg115WlmnSKN8uqgmgL%2BDOcee6x6RSmE3OoMH22IAiEAwaFQQ4TbarjWBCvdVj1lS5JBs08IeNyIhMkhU%2FenksIq%2BgMISBAAGgw2MzE5OTkzNDU1OTMiDG9nrti1XJHkrtrKJyrXA2er1rESVKfXjPXRTrn7nLqbpFQ6uXyC2ajQMiNsQl8OMN5zcE04YXQeIrnnB6FweDvD00f7xIzHoB6w%2Fk1pkxmA%2FN%2BvJuPjeUVeIs1qy6Ksv1C5pR1Ua9HGg56lLuVxmit0jn5VWWaFkF9fzSBNX9g6ZeexKnQOUjMvYUxnTbyL0S3Tb0gEumIwf7L%2Fm5zQgqVoH4RQaSofmOVKc2sFrgi%2BwjyPC9BmB1XzairI7MasbfWZqNlCu%2BrG5HAv7TcA1aPeJ%2BbWxh8XkTKf3P%2B1xXjsTOxcHWjJCDnyLJ7dNfkNe1D2QV8c9wb2Bs98%2B2zEPuIFr%2FlQXYwuROjSVMk3QU714cF09q8W5jwwjSFQJedWfBwQrmEGNzg2CbM5gbJPh%2BLuuUkWZ78Y0xL1rMWQgK2Fd3OXWdqkWqgVbhTm%2FOalftwQ7GLD9WElErRLYz1OKPp2UpESpIrJd8B%2BVDFeBxlF3Zdums9yKhW4xBK8sDaXyna8DvlwtJqvo3pNQjjm4%2FJHwYgz32parf%2Fc6v7sgcXeEt2Rh7yQ8D8RanVqFzElhbg0IVoaU7RlQaLJXwtf1Ofkdbn%2FhwKZ8jRmAsM3FfkK97bkmOTZYGBniGMjvarXMoNP3EhAizCJqOyKBjqlAfeQJq5Prq3TBXA0fd4wA2sAHAstHfN6PKjnllZahJj04r4a5NQqG4NxLgX4XbpInydKijLCSFfRwtgi1ar6I5EMJG23hZwhIbg2%2FR1crTUcUZ7PxPfsGLtxnpaco%2FIImR1ljNA6z9fs4iq%2F4TxUKNRQpIBgqqIScGq0dqFF1CRnROW8ptmv1zTotHHtLIBabWPT9RjwgAuSGfOLyG7DYmAj%2Fa6Q8Q%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20211004T153617Z&X-Amz-SignedHeaders=host&X-Amz-Expires=518399&X-Amz-Credential=ASIAZGJQYWO42OPAIK5Z%2F20211004%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=18898f478edf1505c71ea25f287dd6fea5bb252fd240616cb3d2c0c760bbfccc" ],
"success": true,
"yujaProfileId": 3431
}
3.2.29 - PUT - /devices/{sessionId}/stop
Arrête immédiatement la session des appareils tiers.
Exemple d'URL: https://api-testing.yuja.com/services/devices/ 38957/stop
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
sessionId | Path Parameter | Integer | Required | L'identifiant de la session qui doit être arrêtée. |
Exemple de réponse:
{
"success": true,
"message": "Successfully stopped the session"
}
3.2.30 - POST - /devices/session/{sessionPId}/pause
Suspendez la lecture de la diffusion en direct pour une session particulière.
Exemple d'URL: https://api-testing.yuja.com/services/devices/session/38519/pause
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
sessionPId | Path Parameter | Integer | Required | L'identifiant de la session qui doit être suspendue. |
Exemple de réponse:
{
"success": true
}
3.2.31 - POST - /devices/session/{sessionPId}/resume
Reprend la lecture du Live Stream pour une session particulière.
Exemple d'URL: https://api-testing.yuja.com/services/devices/session/38519/resume
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
sessionPId | Path Parameter | Integer | Required | L'identifiant de la session qui doit être reprise. |
Exemple de réponse:
{
"success": true
}
3.2.32 - DELETE /devices/{deviceId}/profiles/thirdParty/{yujaProfileId}
Supprime les profils tiers.
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
DeviceId | Path Parameter | Integer | Un identifiant d'appareil valide. |
YuJaProfileId | Path Parameter | Integer | Un identifiant de profil YuJa valide (disponible sur GET /devices/profiles/{device_id}) |
Exemple de réponse:
{
"success": true,
"message": "Profil supprimé avec succès !"
}
3.2.33 - PUT /devices/{deviceId}/profiles/thirdParty/{yujaProfileId}
Met à jour les détails des profils tiers.
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
DeviceId | Path Parameter | Integer | Un identifiant d'appareil valide |
YuJaProfileId | Path Parameter | Integer | Un identifiant de profil yuja valide (disponible à partir de GET /devices/profiles/{device_id}) |
Exemple de corps de requête:
{
"profile_id": "456juhgj",
"Name": "LiveStreamProfile",
"description": "No desc needed",
"isLiveStream": true
}
Exemple de réponse:
{
"success": true,
"message": "Profile Updated Successfully !"
}
4 - Présentation de l'API média
Les médias représentent tous les actifs de l'institution. Cela inclut les fichiers audio, les fichiers vidéo et d'autres documents.
4.1 - Modèle d'objet média
Variable | Type | Description |
---|---|---|
login_id | string | Identifiant de connexion pour l'utilisateur. |
group_id | string | ID de groupe unique généré par le système. |
title | string | Titre de la vidéo téléchargée. |
file_key | string | Clé renvoyée par le système pour télécharger un fichier. |
description | string | Description de la vidéo téléchargée. |
video_id | string | Un identifiant vidéo unique qui est généré par le système. |
old_video_id | string | ID vidéo de la vidéo à remplacer. |
new_video_id | string | ID vidéo de la vidéo après remplacement. |
folder_id | string | ID de dossier unique généré par le système. |
4.2 - Principaux Terminaux
Variable | Type | Description |
---|---|---|
GET | /media/createuploadlink | Récupère un lien de téléchargement et file_key pour télécharger un fichier média. |
POST | /media/upload/video | Télécharge un détail vidéo. |
POST | /media/publish/video | Publier une vidéo dans un cours. |
POST | /media/replace/video | Remplacer une vidéo. |
GET | /media/video/group/{group_id} | Récupère les vidéos publiées dans un cours. |
GET | /media/video/directlink/{video_id} | Récupère le lien direct et le code d'intégration d'une vidéo. |
GET | /media/retrievebranding | Récupérer la marque du lecteur média de l'institut. |
PUT | /media/updatebranding | Mettre à jour l'image de marque du lecteur média de l'institut. |
GET | /media/retrieveuserassets/{login_id} | Récupérer les actifs de l'utilisateur (dossiers, fichier vidéo, autres documents). |
GET | /media/retrieveuserassets/{folder_id} | Récupérer les actifs contenus dans un dossier. |
POST | /media/upload/session/{session_id}/createlinks | Générez des liens de téléchargement pour télécharger des enregistrements de la session. |
POST | /media/upload/session/{session_id} | Signale que le téléchargement de l'enregistrement vers les URL S3 est terminé et que le traitement vidéo doit commencer. |
GET | /media/metadata/{video_id} | Récupère toutes les entrées de métadonnées relatives au video_id passé. |
POST | /media/metadata/{video_id} | Insère les entrées de métadonnées dans le video_id transmis. |
DELETE | /media/metadata/{video_id} | Supprime les entrées de métadonnées relatives au video_id transmis et les noms transmis dans les paramètres du corps. |
GET | /media/searchVideo | Récupère toutes les vidéos en fonction des critères de recherche passés dans les paramètres du corps. |
GET | /media/searchVideoWithQueryString | Récupère toutes les vidéos en fonction des critères de recherche transmis dans les paramètres de requête. |
Gestionnaires pour permettre à la fenêtre parent de contrôler le lecteur média. | ||
GET | /media/videos/{videoPId}/streams/hls | Renvoie les flux hls ainsi que d'autres informations importantes concernant la vidéo. |
GET | /media/videos/{videoPId}/streams/thumbnail | Renvoie les URL des miniatures ainsi que d'autres informations importantes concernant la vidéo. |
4.2.1 - GET /createuploadlink
Renvoie un objet JSON qui contient le lien de téléchargement et file_key. Pour télécharger la vidéo sur S3, faites une demande HTTP PUT en utilisant le lien de téléchargement renvoyé comme cible et joignez le fichier vidéo.
Exemple d'URL: https://api-testing.yuja.com/services/media/createuploadlink
Paramètres:
Aucun paramètre n'est nécessaire pour cet appel.
Exemple de réponse:
[
{
"url": "<upload_link>",
"key": "<key>"
}
]
4.2.2 - POST /upload/video/
Téléchargez une vidéo dans la médiathèque d'un utilisateur avec le login_id correspondant du paramètre body.
Exemple d'URL: https://api-testing.yuja.com/services/media/upload/video/
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
login_id | Body parameter | string | Obligatoire. |
title | Body parameter | string | Obligatoire. |
file_key | Body parameter | string | Obligatoire, la valeur doit correspondre au champ « clé » dans le champ de réponse de l'appel GET/createuploadlink. |
description | Body parameter | string | Optionnel. |
4.2.3 - POST /publier/vidéo/
Publiez une vidéo appartenant à l'utilisateur avec login_id dans un groupe avec group_id correspondant du paramètre body.
Exemple d'URL: https://api-testing.yuja.com/services/media/publish/video
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
login_id | Body parameter | string | Obligatoire. |
class_id | Body parameter | string | Obligatoire. |
video_id | Body parameter | string | Obligatoire. |
4.2.4 - GET /video/group/{group_id}
Renvoie un objet JSON contenant les détails vidéo de la classe.
Exemple d'URL: https://api-testing.yuja.com/services/media/video/group/121
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
group_id | Path parameter | string | La valeur doit correspondre au champ group_id dans l'appel GET /groups. |
Exemple de réponse:
{
"description": " uploaded by abcd",
"title": "avi_test1",
"video_id": "67890"
},
{
"description": " uploaded by pqrs",
"title": "flv_test1",
"video_id" : "67891"
}
4.2.5 - GET /video/directlink/{video_id}
Renvoie un objet JSON contenant le lien direct et le code d'intégration d'une vidéo.
Exemple d'URL: https://api-testing.yuja.com/services/media/video/directlink/67890
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
video_id | Path parameter | string | La valeur doit correspondre au champ video_id dans l'appel GET /video/group/{group_id}. |
Exemple de réponse:
{
"directlink": "<Lien direct vers la vidéo>",
"embedcode": "<Le code intégré de la vidéo>"
}
4.2.6 - POST /remplacer/vidéo/
Remplacez une vidéo appartenant à l'utilisateur avec login_id par une autre vidéo.
Exemple d'URL: https://api-testing.yuja.com/services/media/replace/video
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
login_id | Body parameter | string | Obligatoire. |
old_video_id | Body parameter | string | Obligatoire. |
new_video_id | Body parameter | string | Obligatoire. |
4.2.7 - GET /retrievebranding
Renvoie un objet JSON contenant les détails de la marque du lecteur multimédia de l'organisation.
Exemple d'URL: https://api-testing.yuja.com/services/media/retrievebranding
Paramètres:
Aucun paramètre n'est requis pour cet appel.
Exemple de répons :
{
"button_color": "#ffffff",
"setting_menu_color": "#011100",
"sidebar_color": "#ABCDEF",
"setting_text_color": "#ffffff"
}
4.2.8 - PUT /updatebranding/
Mettre à jour les détails de la marque du lecteur multimédia de l'organisation.
Exemple d'URL: https://api-testing.yuja.com/services/media/updatebranding
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
button_color | Body parameter | string | Optionnel |
setting_menu_color | Body parameter | string | Optionnel |
sidebar_color | Body parameter | string | Optionnel |
setting_text_color | Body parameter | string | Optionnel |
4.2.9 - GET /retrieveuserassets/{login_id}
Renvoie un objet JSON contenant les détails vidéo de la classe.
Exemple d'URL: https://api-testing.yuja.com/services/media/retrieveuserassets/marythompson
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
login_id | Body parameter | string | Obligatoire. |
Exemple de réponse:
{
{
"Asset_type": "Folder",
"folder_id": 45621,
"title": "New Folder"
},
{
"Asset_type": "Video File",
"title": "Hello World",
"video_id": 12345
}
}
4.2.10 - POST /media/upload/session/{session_id}/createlinks
Génère des liens de téléchargement pour télécharger des enregistrements de la session.
Exemple d'URL: https://api-testing.yuja.com/services/media/upload/session/619/createlinks
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
session_id | Path parameter | integer | Required | L'identifiant de la session à laquelle associer l'enregistrement. Cela contrôle le titre, la description, l'emplacement de sauvegarde de l'enregistrement au sein de la plate-forme vidéo et le propriétaire de l'enregistrement. |
video_sources | Body parameter | JSON Array | Required | Voir le tableau des champs video_sources. |
pause_timestamps | Body parameter | JSON Array | Required | Voir le tableau des champs pause_timestamps. |
champs video_sources:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
stream_id | Body parameter | string | Required | Un identifiant pour le flux. |
stream_type | Body parameter | string enum | Optional | Valeurs possibles : videoCapture, audioCapture, screenCapture. |
champs pause_timestamps:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
pause_timestamp | Body parameter | long | Required | Un horodatage correspondant au moment où la session a été interrompue, en millisecondes. |
resume_timestamp | Body parameter | long | Required | Un horodatage correspondant au moment où la session a repris, en millisecondes. |
Exemple de requête:
{
"video_sources": [{
"stream_type": "videoCapture",
"stream_id": "Gv9U5qvNpR"
},{
"stream_type": "screenCapture",
"stream_id": "vKYrIkpqp2",
}],
"pause_timestamps": [{
"pause_timestamp": 5000,
"resume_timestamp": 10000
}]
}
Exemple de réponse:
{
upload_urls: [
{
stream_id: string,
url: string
}, {...}]
}
4.2.11 - POST /media/upload/session/{session_id}
Signale que le téléchargement de l'enregistrement vers les URL S3 est terminé et que le traitement vidéo doit commencer.
Exemple d'URL: https://api-testing.yuja.com/services/media/upload/session/1234
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
session_id | Path parameter | integer | Required | L'ID de la session à laquelle associer l'enregistrement. |
Exemple de réponse:
{
“success”: true
}
4.2.12 - GET /media/metadata/{video_id}
Récupérez toutes les entrées de métadonnées relatives au video_id transmis.
Exemple d'URL : https://api-testing.yuja.com/services/media/metadata/187195
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
video_id | Path parameter | integer | Required | Description |
Exemple de réponse:{
"Name": "PhyExam",
"Type": "Date",
"Value": "Thu May 20 00:00:00
EDT 2021"
},
{
"Name": "ChemExam",
"Type": "String",
"Value": "Chemistry"
}
]
4.2.13 - POST/media/metadata/{video_id}
Insère toutes les entrées de métadonnées relatives au video_id transmis.
Exemple d'URL: https://api-testing.yuja.com/services/media/metadata/187195
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
video_id | Path parameter | integer | Required | L'ID de la vidéo pour laquelle les métadonnées sont requises |
newMetadata | Body Param | JOSN Array | Required | Voir le nouveau tableau des champs de métadonnées |
nouveaux champs de métadonnées:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
Name | Body parameter | String | Required | Nom de la balise de métadonnées |
Type | Body parameter | string | Required | Valeurs possibles: String, Date |
Value | Body parameter | string | Required | Valeur par rapport au nom des métadonnées. Format de la date: jj/mm/aaaa |
Example Body Parameters:
{
newMetadata: [
{
"Name": "PhyExam",
"Type": "String",
"Value": "Easy"
},
{
"Name": "ChemExam",
"Type": "Date",
"Value": "05/05/2021"
}
]
}
Example Response:
"Successfully Inserted 1 record/s in to the database !!!"
4.2.14 - DELETE /media/metadata/{video_id}
Supprime toutes les entrées de métadonnées relatives au video_id transmis et à la liste de noms de métadonnées transmise.
Exemple d'URL: https://api-testing.yuja.com/services/media/metadata/187195
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
video_id | Path parameter | integer | Required | L'ID de la vidéo pour laquelle les métadonnées sont requises. |
Body Param | List | Required | Liste de noms de balises méta. |
Exemples de paramètres de corps:
[
"PhyExam",
"ChemExam"
]
Exemple de réponse:
"Successfully Deleted 2 record/s form the database !!!"
4.2.15 - GET /media/searchVideo
Récupère toutes les vidéos en fonction des critères de recherche passés dans le paramètre body.
Exemple d'URL: https://api-testing.com/services/media/searchVideo
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
searchingString | Body Parameter | String | Required | Chaîne que vous souhaitez rechercher pour trouver la vidéo |
searchAs | Body Parameter | String | Optional | Identifiant de l'utilisateur sous lequel toutes les vidéos seront recherchées. La valeur par défaut sera le responsable informatique de cette institution |
searchInMediaContent | Body Parameter | String | Optional | Valeurs possibles : « true », « false ». Cela recherchera la chaîne passée dans les légendes, les balises, etc. |
ownerId | Body Parameter | String | Optional | Identifiant de l'utilisateur qui est le propriétaire de la vidéo. |
createdBefore | Body Parameter | String | Optional | Date (aaaa-mm-jj) avant laquelle la vidéo a été créée. |
createdAfter | Body Parameter | String | Optional | Date (aaaa-mm-jj) après laquelle la vidéo a été créée. |
tag | Body Parameter | String | Optional | Tag (le cas échéant) attaché à cette vidéo. |
metadata | Body Parameter | String | Optional | Nom des métadonnées associées à cette vidéo. |
Exemple de paramètres de corps:
{
"searchString": "Polish",
"searchAs": "John_ITManager",
"searchInMediaContent": "false",
"ownerId": "",
"createdBefore": "",
"createdAfter": "",
"tag":"",
"metadata": ""
}
Example de réponse:
[
{
"videoPID": 187126,
"videoTitle": "Polish capt",
"videoDesc": "",
"ownerName": "john_itmanager",
"directLink":
"https://localhost.yuja.com/V/Video?v=187126&node=9388965&a=1581885302&autoPlay=1",
embedCode": "<iframe width='560'height= '315' src=
'https://localhost.yuja.com/V/Video?v=187126&node=9388965&a=1581885302'frameborder= '0'
webkitallowfullscreen mozallowfullscreen allowfullscreen allow=’autoplay’></iframe>",
"duration": "584.006",
"createdDate": "2021-04-30 16:19:39",
"contentFoundInMedia": false
},
{
"videoPID": 188016,
"videoTitle": "Polish capt",
"videoDesc": "",
"ownerName": "john_itmanager",
"directLink":
"https://localhost.yuja.com/V/Video?v=187126&node=9388965&a=1581885302&autoPlay=1",
"embedCode": "<iframe width='560'height= '315' src=
'https://localhost.yuja.com/V/Video?v=187126&node=9388965&a=1581885302'frameborder= '0'
webkitallowfullscreen mozallowfullscreen allowfullscreen allow=’autoplay’></iframe>",
"duration": "584.006",
"createdDate": "2021-05-06 11:49:52",
"contentFoundInMedia": false
}
]
4.2.16 - GET /media/searchVideoWithQueryString
Récupère toutes les vidéos en fonction des critères de recherche passés dans les paramètres de requête.
Exemple d'URL: https://api-testing.com/services/media/searchVideoWithQueryString?searchString=Polish&searchAs=John_ITManager
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
searchString | Body Parameter | String | Required | Chaîne que vous souhaitez rechercher pour trouver la vidéo |
searchAs | Body Parameter | String | Optional | Identifiant de l'utilisateur sous lequel toutes les vidéos seront recherchées. La valeur par défaut sera le responsable informatique de l'institution |
Exemple de réponse:
[
{
"videoPID": 187126,
"videoTitle": "Polish capt",
"videoDesc": "",
"ownerName": "john_itmanager",
"directLink":
"https://localhost.yuja.com/V/Video ?v=187126&node=9388965&a=1581885302&autoPlay=1",
"embedCode": "<iframe width='560'height= '315' src=
'https://localhost.yuja.com/V/Video?v=187126&node= 9388965&a=1581885302'frameborder= '0'
webkitallowfullscreen mozallowfullscreen allowfullscreen allow='autoplay'></iframe>",
"duration": "584.006",
"createdDate": "2021-04-30 16:19:39",
"contentFoundInMedia": false
},
{
"videoPID": 188016,
"videoTitle": "Polish capt",
"videoDesc": "",
"ownerName": "john_itmanager",
"directLink":
"https://localhost.yuja.com/V/Video?v=187126&node=9388965&a=1581885302&autoPlay=1",
"embedCode": "<iframe width='560'height= '315' src=
' https://localhost.yuja.com/V/Video?v=187126&node=9388965&a=1581885302'frameborder= '0'
webkitallowfullscreen mozallowfullscreen allowfullscreen allow='autoplay'></iframe>",
"duration": "584.006",
"createdDate": "2021-05-06 11:49:52",
"contentFoundInMedia": false
}
]
4.2.17 - Exposed Handlers
Nous écouterons l'événement postMessage qui transmettra le paramètre JSON.
Paramètres d'événement:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
name | JSON Parameter | String | Optional |
Valeurs possibles:
|
value | JSON Parameter | Number | Required |
Obligatoire en cas de AdjustVolume et SeekTo
|
Exemple de paramètre JSON:
var pass_data = {
'nom':'AjusterVolume',
'valeur': '50'
};
document.getElementById('yujaIFrame').contentWindow.postMessage(JSON.stringify(pass_data),"*");
4.2.18 - GET /media/folders/user_id
Récupère tous les dossiers auxquels un utilisateur a accès à YuJa par rapport au user_id transmis.
Exemple d'URL: https://api-testing.com/services/media/folders/john_manager
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
user_id | Path Parameter | String | Required | ID utilisateur de l'utilisateur pour lequel les dossiers seront récupérés. |
Exemple de réponse:
[
{
"folderPID": 9385799,
"folderTitle": "Médiathèque",
"folderVideosCount": 15
},
{
"folderPID": 9385801,
"folderTitle": "Partagé avec moi",
"folderVideosCount": 0
}
]
4.2.19 - GET /media/videos/user/user_id
Récupère toutes les vidéos auxquelles un utilisateur a accès à YuJa par rapport au user_id transmis.
Exemple d'URL: https://api-testing.com/services/media/videos/user/john_manager
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
user_id | Path Parameter | String | Required | ID utilisateur de l'utilisateur pour lequel les dossiers seront récupérés. |
Exemple de réponse:
[
{
"videoPID": 186643,
"videoTitle": "Ted Talk",
"videoDesc": "",
"ownerName": "john_manager",
"directLink": "https://api-testing.yuja.com/V /Video?v=186643&node=&a=1121111648&autoPlay=1",
"embedCode": "<iframe width='560' height= '315' src=
'https://api-testing.yuja.com/V/Video? v=186643&node=&a=1121111648' frameborder= '0' webkitallowfullscreen
mozallowfullscreen allowfullscreen allow='autoplay'></iframe>",
"duration": "146.0",
"createdDate": "2021-04-28 10:05 : 27",
"contentFoundInMedia": false },
{
"videoPID": 187118,
"videoTitle": "Learn English",
"videoDesc": "",
"ownerName": "john_manager",
"directLink": "https://api-testing.yuja.com/V/Video?v=187118&node=&a=1616050998&autoPlay=1",
"embedCode": "<iframe width='560' height= '315' src =
'https://api-testing.yuja.com/V/Video?v=187118&node=&a=1616050998' frameborder= '0' webkitallowfullscreen
mozallowfullscreen allowfullscreen allow='autoplay'></iframe>",
"duration": "194.282",
"createdDate": "2021-04-30 15:32:37",
"contentFoundInMedia": false
}
]
4.2.20 - GET /media/videos/user_id/folder_id
Récupérez des vidéos dans un dossier particulier auquel un utilisateur a accès à YuJa.
Exemple d'URL: https://api-testing.com/services/media/videos/ john_manager/9385800
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
user_id | Path Parameter | String | Required | ID utilisateur de l'utilisateur pour lequel les vidéos seront récupérées. |
folder_id | Path Parameter | String | Required | ID du dossier sous lequel toutes les vidéos seront récupérées. |
Exemple de réponse:
{
"folderPID": 9385800,
"folderTitle": "Collection par défaut",
"folderVideosCount": 1,
"videos": [
{
"videoPID": 188166,
"videoTitle": "Ted Talk",
"videoDesc": "",
"ownerName": "john_manager",
"directLink": "https://api-testing.yuja.com/V/Video?v=188166&node=&a=814045209&autoPlay=1",
"embedCode": "<iframe width=' 560' height= '315' src=
'https://api-testing.yuja.com/V/Video?v=188166&node=&a=814045209' frameborder= '0' webkitallowfullscreen
mozallowfullscreen allowfullscreen allow='autoplay'></iframe>",
"duration": "584.006",
"createdDate": "2021-05-07 15:15:19",
"contentFoundInMedia": false
}
]
{
4.2.21 - GET /media/videos/video_id
Récupère toutes les vidéos en fonction des critères de recherche passés dans les paramètres de requête.
Exemple d'URL: https://api-testing.com/services/media/videos/ john_manager/9385800
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
video_id | Path Parameter | Integer | Required | ID vidéo qui récupérera cette vidéo particulière. |
Exemple de réponse:
[
{
"videoPID": 187195,
"videoTitle": "Learn English",
"videoDesc": "",
"ownerName": "john_manager",
"directLink":
"https://api-testing.yuja.com/V /Video?v=187126&node=9388965&a=1581885302&autoPlay=1",
"embedCode": "<iframe width='560' height= '315' src=
'https://api-testing.yuja.com/V/Video? v=187126&node=9388965&a=1581885302' frameborder= '0'
webkitallowfullscreen mozallowfullscreen allowfullscreen allow='autoplay'></iframe>",
"duration": "584.006",
"createdDate": "2021-04-30 16:19 : 39",
"contentFoundInMedia": false
}
]
4.2.22 - GET /media/videos/{videoPId}/streams/hls
Renvoie les flux hls ainsi que d'autres informations importantes concernant la vidéo.
Paramètres:
Name | Parameter Type | Type | Description |
videoPId | Path Parameter | Integer | Un identifiant vidéo valide |
Exemple de réponse:
{
"success": true,
"streams": [
{
"typeAndVideoSourceMap": {
"MP4": {
"streamName": "torontobig2QP0203PCI1",
"fileURL": "https://dtafh6l1ipq5n.cloudfront.net/lcd42SVbjcZ_toronto -Grande-2-QP0203PCI1_append.mp4? ClassPID = 0 & réponse de contenu = disposition attachement% 3B% 20filename% 3D et expires = 1628261919 & Signature = ihm-DJhekk4HmS36oHlg3MuRIpw ~ DRFSlkWC6C6UAAHIG3JQvQw7ERc1ckFDJ1VvkZmjbhtz9EKbzQ44hU4J0-zQwg9WBB1y ~ IZBzMCLBB-H0Vb6DC9YdRQ1c3E8Xm4DmBbdLv6qrjdlot6U3AtRsBU4pySrU7-XpRC1u3fL4Pah9Bx-GSXru3vz2UaF9PJSMr0Ip43nbkwigBUGP3innbAfONRZ3WN4oXoXXqjUmImjwE84JWFtYWTpl6hZwevYzVIgp9uoPnCPMJh20xbHH ~ jaeb8rcAnuJXOTaOEvN71yq4eeOsIOnhZ6yDtkteVs42IdWoaPrf44lB9DmNf1Kw __ &Key-Pair-Id=APKAIXVPTKJJZUC2WWIA", "décalage": 1061,
"timestamp": 1628109498455,
"streamType": "MP4",
"cloudFrontURL": ""
},
"HLS": {
"streamName": "torontobig2QP0203PCI1",
"fileURL": "/P/Data/VideoUrl/lcd42SVbjcZ_torontobig2QP0203PCI1_appendmp4 .m3u8?dist=staging-hub-video&key=lcd42SVbjcZ_toronto-big-2-QP0203PCI1_append.mp4_hls/index.m3u8&classPID=0&cookie=false", "offset": 1061,
"timestamp": 1628109498455,
"HLType" , "streamType"
"cloudFrontURL": "https://dtafh6l1ipq5n.cloudfront.net/P/Data/VideoUrl/lcd42SVbjcZ_torontobig2QP0203PCI1_appendmp4_-index.m3u8?dist=staging-hub-video&key=lcd42SVbjcZ-2-torontoP1mp4_hls/index.m3u8&classPID=0&cookie=true" }
},
"isAudioOnly": false,
"streamName": "torontobig2QP0203PCI1",
"isScreenCapture": false
}
],
"captionURL": {
"English": "/P/DataPage/CaptionFile/183732_English.srt",
"English_ConfScore": « https://staging-caption.s3.us-west-1.amazonaws.com/183732_English_ConfScore.txt?X-Amz-Security-Token=IQoJb3JpZ2luX2VjEC4aCXVzLWVhc3QtMSJGMEQCIB5UE2AThxBH%2B4sUpqiFgd7%2BuGEWuWhoY1c8uhhd3NG7AiBxZMKNCh3ZORLnC8gI4PnyXC%2Bthcw87zYV6X9Sn9yiQSrvAQhHEAAaDDYzMTk5OTM0NTU5MyIMM1J4miNUMy7mV%2F1NKswBa%2BC5eisKYAqjGKPjEbTUIEwZMyRcraPABvSlBuhuw1iXXz07YRG6e0yJi1qfO3C02wb%2B3lcorHqlThGgAziUMTEOz % 2FYFDJFqhr4p0Gn9PBhemIELA7jRPaBU0YsCmWqwH% 2BQTBMm91M2joil7EyK7H0x8MlxJB4HbU3D1% 2FUGIeoPiYEPiYH3axOUJlaCJd73k86FJrWRw1DnB% 2BifREob% 2FD4Zcy2THbHwuINNn5IPncO7aCtVKkNzcjtw7% 2FA6Up5hJez4M4Z55BxTeB2jEMOHXr4gGOpkBruyB% 2Bh% 2FgrMuPzpqPFNWyZRgDbWbdFR5lGHSKHhOIOCWE0VcXXvuO0pDBPtPy1WJxDl% 2FqOuQs64AFtDB7fLJpGg55h0Y72Fbc3PUNb4jWVkWtl4sHoZys21ecN8WVyc5aTC6TZ2fKmfK2D5HkpQKtxJdnsx9IELd9llk2lBgaTJdrdkJKqJhqoYgzgRKcklRwQlw2Nbwz9hU3 &X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20210805T145838Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86399&X-Amz-Credential=ASIAZGJQYWO4UQVXXAU1%X2Fwest-F2024 Signature=234ba10c282b8d96584ced3fb7c619604f758a4df94fa6a3d2e41a42903f5561" }
}
4.2.23 - GET /media/videos/{videoPId}/streams/thumbnail
Renvoie les URL des miniatures ainsi que d'autres informations importantes concernant la vidéo.
Paramètres:
Name | Parameter Type | Type | Description |
videoPId | Path Parameter | Integer | Un identifiant vidéo valide. |
Exemple de réponse:
{
"success": true,
"streams": [
{
"isAudioOnly": false,
"streamName": "Video-40d36c8a-1382-4cac-a755-3e34c4cd4918_processed.mp4",
"isScreenCapture": false,
"thumbnailList": [
{
"url": "https://staging-video-thumbnail.s3.amazonaws.com/Video-40d36c8a-1382-4cac-a755-3e34c4cd4918_processed_medium_0001.jpg",
"timestamp": 0
},
{
"url": " https://staging-video-thumbnail.s3.amazonaws.com/Video-40d36c8a-1382-4cac-a755-3e34c4cd4918_processed_medium_0071.jpg",
"timestamp": 349368
}
]
}
],
"captionURL":{
"Italien": "/P/DataPage/CaptionFile/184088_Italian.srt"
}
}
5 - Présentation de l'API analytique
Les médias représentent tous les actifs de l'institution. Cela inclut les fichiers audio, les fichiers vidéo et d'autres documents.
5.1 - Modèle d'objet analytique
Variable | Type | Description |
---|---|---|
group_id | string | ID de classe unique généré par le système. |
5.2 - Main Endpoints
Method | Path | Description |
---|---|---|
GET | /report/bandwidth/{group_id} | Récupère le rapport de bande passante du groupe. |
GET | /report/storage/{group_id} | Récupère le rapport de stockage du groupe. |
GET | /report/videoview/{group_id} | Récupère le rapport de vue vidéo du groupe. |
GET | /report/visitors | Récupère le rapport de vue des visiteurs de l'institution. |
5.2.1 - GET /report/bandwidth/{group_id}
Renvoie un fichier contenant les détails d'utilisation de la bande passante d'un groupe.
Exemple d'URL: https://api-testing.yuja.com/services/report/bandwidth/1365
Paramètres:
Name | Parameter Type | Type | La description |
---|---|---|---|
group_id | Path parameter | string | La valeur doit correspondre au champ group_id dans l'appel GET /groups. |
5.2.2 - GET /report/storage/{group_id}
Renvoie un fichier contenant les détails d'utilisation du stockage d'un groupe.
Exemple d'URL: https://api-testing.yuja.com/services/report/storage/1365
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
group_id | Path parameter | string | La valeur doit correspondre au champ group_id dans l'appel GET /groups. |
5.2.3 - GET /report/videoview/{group_id}
Renvoie un fichier contenant les détails de la vue vidéo d'un groupe.
Exemple d'URL: https://api-testing.yuja.com/services/report/videoview/1365
Paramètres:
Name | Parameter Type | Type | Description |
---|---|---|---|
group_id | Path parameter | string | La valeur doit correspondre au champ group_id dans l'appel GET /groups. |
5.2.4 - GET /report/visitors
Renvoie un fichier contenant les détails des visiteurs de l'institut.
Exemple d'URL: https://api-testing.yuja.com/services/report/visitors
Paramètres:
Aucun paramètre n'est requis pour cet appel.
6 - Présentation de l'API du journal d'audit
AuditLog représente tous les journaux disponibles en fonction de la plage de dates et du type.
6.1 - Modèle d'objet de journal d'audit
Variable | Type Type | Description |
---|---|---|
creationTimestamp | Timestamp | Horodatage lorsque l'événement s'est produit. Remarque : L'horodatage sera basé sur le fuseau horaire de l'Institut. |
eventName | string | Nom de l'événement |
details | string | Détails spécifiques à cet événement |
6.2 - Main Endpoints
Method | Path | Description |
---|---|---|
GET | /auditLog/entries | Récupère les journaux de toutes les entrées spécifiées dans le type d'événement dans la plage de dates. |
6.2.1 - GET / auditLog/entries
Renvoie une liste d'objets JSON, où chaque objet est un journal.
Paramètres:
Name | Parameter Type | Type | Optional | Description |
---|---|---|---|---|
startTime | Query parameter | Date | Optional | La valeur doit être au format jj/mm/aaaa |
endTime | Query Parameter | Date | Optional | La valeur doit être au format jj/mm/aaaa |
eventType | Query Parameter | String | Required | eventType Query Parameter String La valeur requise doit être un type d'événement valide |
offset | Query Parameter | int | Optional | La valeur doit être un nombre entier valide qui sera utilisé pour la pagination. La valeur par défaut sera 0 et le maximum sera 100 |
Exemple de réponse:
[
{
"creationTimestamp": "2021-05-20 16:48:48",
"eventName": "Change Owner",
"details": "John changed owner of media object titled mpg_test1 from user JohnInstructor to user David"
},
{ "creationTimestamp": "2021-05-18 16:11:31",
"eventName":"Change Owner",
"details": "Nick changed owner of media object titled My Event on Thursday, March 30, 2017 from user Ronald to user Terry"
}
]