Campos da agenda:
A agenda possui os seguintes campos:
Campos obrigatórios:
- name: Nome da agenda
- default_slot_minutes: Duração padrão dos slots em minutos
- default_event_duration: Duração padrão dos eventos em minutos
Campos opcionais:
- description: Descrição da agenda
- enabled: Se a agenda está ativa (true/false) - padrão: true
- clinic_id: Id da clínica
- comment: Comentário da agenda
- background_color: Cor de fundo da agenda (formato hex: #ffffff)
- text_color: Cor do texto da agenda (formato hex: #000000)
- message_event_confirm: Mensagem de confirmação do evento (deve conter \link)
- confirmation_screen_message: Mensagem da tela de confirmação
- instruction_message: Mensagem de instruções
- reminder_time: Tempo para lembrete
- operating_hours: Horários de funcionamento por dia da semana (formato: {"monday": [["8", "12"], ["14", "18"]], "tuesday": [["9", "17"]]})
- link_date_time_to_request: Define se a data/hora do agendamento será utilizada na criação do pedido (true/false) - padrão: false
Listar agendas:
O controller de agendas permite listar as agendas através da action "index". A listagem possui paginação, sendo possível especificar a página e a quantidade de itens por página.
Exemplo com CURL:curl -X GET 'https://max.cfaz.net/api/v1/calendars' \ -d 'access_token=0cd675768fev8dab81fe1c1297d56b09' \ -d 'page=3' \ -d 'per_page=5'
Exemplo com a Gem RestClient:RestClient.get 'https://max.cfaz.net/api/v1/calendars',
{
'access_token'=> '0cd675768fev8dab81fe1c1297d56b09',
'page' => '3',
'per_page' => '5'
}Mostrar uma agenda especifica:
O controller de agendas permite visualizar uma agenda específica através da action "show". É necessário informar o id da agenda.
Exemplo com CURL:curl -X GET 'https://max.cfaz.net/api/v1/calendars/1' \ -d 'access_token=0cd675768fev8dab81fe1c1297d56b09'
Exemplo com a Gem RestClient:RestClient.get 'https://max.cfaz.net/api/v1/calendars/1',
{
'access_token'=> '0cd675768fev8dab81fe1c1297d56b09'
}Criar uma agenda:
O controller de agendas permite criar agendas acessando a action "create".
Exemplo com CURL (formato json):curl -X POST 'https://max.cfaz.net/api/v1/calendars' \
-H 'Content-Type: application/json' \
-d '{
"access_token": "0cd675768fev8dab81fe1c1297d56b09",
"calendar": {
"name": "Agenda Teste",
"default_slot_minutes": 30,
"default_event_duration": 60,
"description": "Agenda de teste via API",
"enabled": true,
"clinic_id": 1,
"comment": "Comentário teste",
"background_color": "#ffffff",
"text_color": "#000000",
"message_event_confirm": "Olá você tem um exame agendado \\link",
"confirmation_screen_message": "Clique para confirmar",
"instruction_message": "Chegue com 15 minutos de antecedência",
"link_date_time_to_request": false,
"operating_hours": {
"monday": [["8", "12"], ["14", "18"]],
"tuesday": [["9", "17"]]
}
}
}'Exemplo com a Gem RestClient:RestClient.post 'https://max.cfaz.net/api/v1/calendars',
{
calendar: {
name: "Agenda Teste",
description: "Agenda de teste via API",
enabled: true,
default_slot_minutes: 30,
default_event_duration: 60,
clinic_id: 1,
operating_hours: {
monday: [["8", "12"], ["14", "18"]],
tuesday: [["9", "17"]]
}
},
access_token: "0cd675768fev8dab81fe1c1297d56b09"
}Atualizar uma agenda:
O controller de agendas permite atualizar uma agenda acessando a action "update". Para atualizar uma agenda é necessário saber o id da agenda que deseja atualizar.
Exemplo com CURL (formato json):curl -X PUT 'https://max.cfaz.net/api/v1/calendars/1' \
-H 'Content-Type: application/json' \
-d '{
"access_token": "0cd675768fev8dab81fe1c1297d56b09",
"calendar": {
"name": "Agenda Atualizada",
"description": "Descrição atualizada",
"enabled": false,
"operating_hours": {
"monday": [["8", "12"], ["14", "18"]],
"tuesday": [["9", "17"]]
}
}
}'Exemplo com a Gem RestClient:RestClient.put "https://max.cfaz.net/api/v1/calendars/1",
{
calendar: {
name: "Agenda Atualizada",
description: "Descrição atualizada",
enabled: false,
operating_hours: {
monday: [["8", "12"], ["14", "18"]],
tuesday: [["9", "17"]]
}
},
access_token: "0cd675768fev8dab81fe1c1297d56b09"
}Excluir uma agenda:
O controller de agendas permite excluir uma agenda acessando a action "destroy". Para excluir uma agenda é necessário saber o id da agenda que deseja excluir.
Exemplo com CURL:curl -X DELETE 'https://max.cfaz.net/api/v1/calendars/1' \ -F 'access_token=0cd675768fev8dab81fe1c1297d56b09'
Exemplo com a Gem RestClient:RestClient.delete "https://max.cfaz.net/api/v1/calendars/1",
{
access_token: "0cd675768fev8dab81fe1c1297d56b09"
}Consultar horários disponíveis:
O controller de agendas permite consultar os horários disponíveis de uma agenda específica através da action "available_slots". É necessário informar o id da agenda, a data e opcionalmente o fuso horário.
Exemplo com CURL:curl -X GET 'https://max.cfaz.net/api/v1/calendars/{calendar_id}/available_slots' \
-d 'access_token=0cd675768fev8dab81fe1c1297d56b09' \
-d 'date=2025-01-15' \
-d 'time_zone=America/Sao_Paulo'Exemplo com a Gem RestClient:RestClient.get 'https://max.cfaz.net/api/v1/calendars/{calendar_id}/available_slots',
{
'access_token'=> '0cd675768fev8dab81fe1c1297d56b09',
'date' => '2025-01-15',
'time_zone' => 'America/Sao_Paulo'
}Para gerenciar os agendamentos de cada agenda, consulte a API de Agendamentos.Este artigo foi útil?
Que bom!
Obrigado pelo seu feedback
Desculpe! Não conseguimos ajudar você
Obrigado pelo seu feedback
Feedback enviado
Agradecemos seu esforço e tentaremos corrigir o artigo