Utilizzando GraphQL, è possibile creare una pianificazione su OptiSigns, quindi aggiungervi elementi e assegnare loro dei valori. Esamineremo ciascuno di questi passaggi in sequenza.
1. Creazione di una nuova pianificazione
Per creare una nuova pianificazione, avremo bisogno di una Mutation specifica:
mutation CreateSchedule($payload: ScheduleInput!, $teamId: String)
{saveSchedule (payload:$payload,teamId:$teamId){
_id,
accountId,
createdAt,
createdBy,
groupId,
lastTeamId,
lastUpdatedBy,
lastUpdatedDate,
name,
path,
tags,
teamId
}
}
Variabili:
{"payload": {
"groupId":
"Name":
"Path":
"Tags":
"teamId":
}
}
Questa Mutation crea una pianificazione completamente nuova, come si può vedere dai dati sulla destra:
2. Aggiornamento delle pianificazioni
Questa stessa Mutation può essere utilizzata per aggiornare la pianificazione stessa. Per aggiornare la pianificazione, sarà necessario inserire il valore "_id" nel payload:
Facendo questo si aggiornerà la pianificazione esistente.
3. Aggiunta di asset o playlist alla pianificazione
Ora, vorremo aggiungere un elemento alla pianificazione. Per questo, avremo bisogno di un'altra 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
}
}
Variabili:
{"force": false,
"payload": {"scheduleId": "",
"assetId": "",
"playlistId":"",
"type": "",
"repeatObject": {
"rrule": ""
},
"range": {
"startDate": "",
"endDate": ""
}
},
"teamId": ""
}
Quando i valori sono configurati correttamente, i tuoi dati dovrebbero essere visualizzati in questo modo:
4. Modifica degli elementi di pianificazione
Una volta creata una pianificazione e impostato un elemento su di essa, è possibile modificare quegli elementi. Questo richiede ancora un'altra 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
}
}
Con questa mutation, inseriremo queste variabili:
{"force": false,
"payload": {"_id": "",
"assetId": "",
"playlistId":"",
"repeatObject": {
"rrule": ""
},
"range": {
"startDate": "",
"endDate": ""
}
},
"scope": ""
}
Qui, abbiamo cambiato la frequenza di ripetizione da giornaliera a settimanale, e la data di inizio dal 18 dicembre 2024 al 20 dicembre 2024. Questo si riflette nei dati recuperati:
Articolo precedente - Tutorial: Creazione o aggiornamento di asset del sito web utilizzando GraphQL
Articolo successivo - Impaginazione