Agendas

Criada por Alexandre Pateis, Modificado em Ter, 9 Dez na (o) 3:21 PM por Alexandre Pateis

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

Deixe-nos saber como podemos melhorar este artigo!

Selecione pelo menos um dos motivos
A verificação do CAPTCHA é obrigatória.

Feedback enviado

Agradecemos seu esforço e tentaremos corrigir o artigo