Usando o GraphQL, é possível criar um agendamento no OptiSigns, adicionar itens a ele e atribuir valores a esses itens. Vamos abordar cada uma dessas etapas em sequência.
1. Criando um Novo Agendamento
Para criar um novo agendamento, precisaremos de uma 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
}
}
Variáveis:
{"payload": {
"groupId":
"Name":
"Path":
"Tags":
"teamId":
}
}
Esta Mutation cria um agendamento totalmente novo, como você pode ver nos dados à direita:
2. Atualizando Agendamentos
Esta mesma Mutation pode ser usada para atualizar o próprio agendamento. Para atualizar o agendamento, você precisará inserir o valor "_id" no payload:
Fazendo isso, você atualizará o agendamento existente.
3. Adicionando Ativos ou Playlists ao Agendamento
Agora, vamos adicionar um item ao agendamento. Para isso, precisaremos de outra 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
}
}
Variáveis:
{"force": false,
"payload": {"scheduleId": "",
"assetId": "",
"playlistId":"",
"type": "",
"repeatObject": {
"rrule": ""
},
"range": {
"startDate": "",
"endDate": ""
}
},
"teamId": ""
}
Quando os valores estão configurados corretamente, seus dados devem ser exibidos assim:
4. Editando Itens do Agendamento
Depois de criar um agendamento e definir um item nele, é possível editar esses itens. Isso requer outra 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
}
}
Com esta mutation, vamos inserir estas variáveis:
{"force": false,
"payload": {"_id": "",
"assetId": "",
"playlistId":"",
"repeatObject": {
"rrule": ""
},
"range": {
"startDate": "",
"endDate": ""
}
},
"scope": ""
}
Aqui, alteramos a frequência de repetição de diária para semanal, e a data de início de 18 de dezembro de 2024 para 20 de dezembro de 2024. Isso está refletido nos dados recuperados:
Artigo Anterior - Tutorial: Criando ou Atualizando Ativos de Website Usando GraphQL
Próximo Artigo - Paginação