- Print
- DarkLight
Agendas
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
Campos automáticos:
- user_id: Definido automaticamente pelo access_token
- created_at: Data de criação
- updated_at: Data da última atualização
- clinic_name: Nome da clínica (calculado automaticamente)
Listar as 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 curl:
curl -X GET 'https://max.cfaz.net/api/v1/calendars' \
-F 'access_token=0cd675768fev8dab81fe1c1297d56b09' \
-F 'page=3' \
-F '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 específica
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' \
-F '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 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 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 deletar 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/1/available_slots' \
-F 'access_token=0cd675768fev8dab81fe1c1297d56b09' \
-F 'date=2025-01-15' \
-F 'time_zone=America/Sao_Paulo'
Exemplo com a Gem RestClient:
RestClient.get 'https://max.cfaz.net/api/v1/calendars/1/available_slots',
{
'access_token'=> '0cd675768fev8dab81fe1c1297d56b09',
'date' => '2025-01-15',
'time_zone' => 'America/Sao_Paulo'
}