Usando GraphQL, es posible crear un calendario en OptiSigns, luego agregar elementos y asignarles valores. Cubriremos cada uno de estos pasos a continuación.
1. Creando un Nuevo Calendario
Para crear un nuevo calendario, necesitaremos una Mutation específica:
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":
}
}
Esta Mutation crea un calendario completamente nuevo, como puede ver en los datos a la derecha:
2. Actualizando Calendarios
Esta misma Mutation se puede usar para actualizar el calendario. Para actualizar el calendario, deberá ingresar el valor "_id" en el payload:
Hacer esto actualizará el calendario existente.
3. Agregando Activos o Listas de Reproducción al Calendario
Ahora, querremos agregar un elemento al calendario. Para eso, necesitaremos otra 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": ""
}
Cuando los valores estén configurados correctamente, sus datos deberían mostrarse así:
4. Editando Elementos del Calendario
Una vez que haya creado un calendario y establecido un elemento en él, es posible editar esos elementos. Esto requiere otra Mutation más:
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 esta mutation, ingresaremos estas variables:
{"force": false,
"payload": {"_id": "",
"assetId": "",
"playlistId":"",
"repeatObject": {
"rrule": ""
},
"range": {
"startDate": "",
"endDate": ""
}
},
"scope": ""
}
Aquí, hemos cambiado la frecuencia de repetición de diaria a semanal, y la fecha de inicio del 18 de diciembre de 2024 al 20 de diciembre de 2024. Esto se refleja en los datos recuperados:
Artículo Anterior - Tutorial: Creando o Actualizando Activos de Sitio Web Usando GraphQL
Siguiente Artículo - Paginación