En utilisant GraphQL, il est possible de créer un planning sur OptiSigns, puis d'y ajouter des éléments et de leur attribuer des valeurs. Nous allons couvrir chacune de ces étapes à tour de rôle.
1. Créer un nouveau planning
Pour créer un nouveau planning, nous aurons besoin d'une Mutation spécifique :
mutation CreateSchedule($payload: ScheduleInput!, $teamId: String)
{saveSchedule (payload:$payload,teamId:$teamId){
_id,
accountId,
createdAt,
createdBy,
groupId,
lastTeamId,
lastUpdatedBy,
lastUpdatedDate,
name,
path,
tags,
teamId
}
}
Variables :
{"payload": {
"groupId":
"Name":
"Path":
"Tags":
"teamId":
}
}
Cette Mutation crée un tout nouveau planning, comme vous pouvez le voir dans les données à droite :
2. Mettre à jour des plannings
Cette même Mutation peut être utilisée pour mettre à jour le planning lui-même. Pour mettre à jour le planning, vous devrez saisir la valeur "_id" dans le payload :
Cela mettra à jour le planning existant.
3. Ajouter des contenus ou des playlists au planning
Maintenant, nous allons vouloir ajouter un élément au planning. Pour cela, nous aurons besoin d'une autre Mutation :
mutation addScheduleItem($force:Boolean,$payload: AddScheduleItemInput!, $teamId: String!){
addScheduleItem(force:$force,payload:$payload,teamId:$teamId){
_id,
name,
assetId,
teamId,
playlistId,
repeatObject{
id,
repeat,
text,
type,
rrule
},
range{startDate,endDate},
documentDuration
}
}
Variables :
{"force": false,
"payload": {"scheduleId": "",
"assetId": "",
"playlistId":"",
"type": "",
"repeatObject": {
"rrule": ""
},
"range": {
"startDate": "",
"endDate": ""
}
},
"teamId": ""
}
Lorsque les valeurs sont configurées correctement, vos données devraient s'afficher comme ceci :
4. Modifier des éléments de planning
Une fois que vous avez créé un planning et défini un élément sur celui-ci, il est possible de modifier ces éléments. Cela nécessite encore une autre Mutation :
mutation updateScheduleItem($force:Boolean,$payload: UpdateScheduleItemInput!, $scope: APPLY_SCHEDULE_ITEM_SCOPES!){
updateScheduleItem(force:$force,payload:$payload,scope:$scope){
_id,
name,
assetId,
teamId,
playlistId,
repeatObject{
id,
repeat,
text,
type,
rrule
},
range{startDate,endDate},
documentDuration
}
}
Avec cette mutation, nous saisirons ces variables :
{"force": false,
"payload": {"_id": "",
"assetId": "",
"playlistId":"",
"repeatObject": {
"rrule": ""
},
"range": {
"startDate": "",
"endDate": ""
}
},
"scope": ""
}
Ici, nous avons modifié la fréquence de répétition de quotidienne à hebdomadaire, et la date de début du 18 décembre 2024 au 20 décembre 2024. Cela se reflète dans les données récupérées :
Article précédent - Tutoriel : Créer ou mettre à jour des contenus de site web avec GraphQL
Article suivant - Pagination