Agendas

Creada por Wenderson Cotta Sansão, Modificado el Jue., 11 Jun. a las 5:03 P. M. por Wenderson Cotta Sansão

Campos de la agenda:

La agenda posee los siguientes campos:


Campos obligatorios:

  • name: Nombre de la agenda
  • default_slot_minutes: Duración predeterminada de los slots en minutos
  • default_event_duration: Duración predeterminada de los eventos en minutos


Campos opcionales:

  • description: Descripción de la agenda
  • enabled: Si la agenda está activa (true/false) - predeterminado: true
  • clinic_id: Id de la clínica
  • comment: Comentario de la agenda
  • background_color: Color de fondo de la agenda (formato hex: #ffffff)
  • text_color: Color del texto de la agenda (formato hex: #000000)
  • message_event_confirm: Mensaje de confirmación del evento (debe contener \link)
  • confirmation_screen_message: Mensaje de la pantalla de confirmación
  • instruction_message: Mensaje de instrucciones
  • reminder_time: Tiempo para recordatorio
  • operating_hours: Horarios de funcionamiento por día de la semana (formato: {"monday": [["8", "12"], ["14", "18"]], "tuesday": [["9", "17"]]})
  • link_date_time_to_request: Define si la fecha/hora del agendamiento se utilizará en la creación del pedido (true/false) - predeterminado: false


Listar agendas:

El controller de agendas permite listar las agendas a través de la action "index". El listado cuenta con paginación, siendo posible especificar la página y la cantidad de ítems por página.


Ejemplo con CURL:
curl -X GET 'https://max.cfaz.net/api/v1/calendars' \
  -d 'access_token=0cd675768fev8dab81fe1c1297d56b09' \
  -d 'page=3' \
  -d 'per_page=5'


Ejemplo con la Gem RestClient:
RestClient.get 'https://max.cfaz.net/api/v1/calendars',
    {
        'access_token'=> '0cd675768fev8dab81fe1c1297d56b09',
        'page' => '3',
        'per_page' => '5'
    }


Mostrar una agenda específica:

El controller de agendas permite visualizar una agenda específica a través de la action "show". Es necesario informar el ID de la agenda.


Ejemplo con CURL:
curl -X GET 'https://max.cfaz.net/api/v1/calendars/1' \
  -d  'access_token=0cd675768fev8dab81fe1c1297d56b09'


Ejemplo con la Gem RestClient:
RestClient.get 'https://max.cfaz.net/api/v1/calendars/1',
    {
        'access_token'=> '0cd675768fev8dab81fe1c1297d56b09'
    }


Crear una agenda:

El controller de agendas permite crear agendas accediendo a la action "create". 


Ejemplo con 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"]]
      }
    }
  }'


Ejemplo con la 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"
    }


Actualizar una agenda:

El controller de agendas permite actualizar una agenda accediendo a la action "update". Para actualizar una agenda es necesario conocer el ID de la agenda que se desea actualizar.

Ejemplo con 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"]]
        }
      }
    }'
Ejemplo con la 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"
      }


Eliminar una agenda:

El controller de agendas permite eliminar una agenda accediendo a la action "destroy". Para eliminar una agenda es necesario conocer el ID de la agenda que se desea eliminar.

Ejemplo con CURL:
curl -X DELETE 'https://max.cfaz.net/api/v1/calendars/1' \
  -F 'access_token=0cd675768fev8dab81fe1c1297d56b09'


Ejemplo con la Gem RestClient:
RestClient.delete "https://max.cfaz.net/api/v1/calendars/1",
    {
        access_token: "0cd675768fev8dab81fe1c1297d56b09"
    }


Consultar horarios disponibles:

El controller de agendas permite consultar los horarios disponibles de una agenda específica a través de la action "available_slots". Es necesario informar el ID de la agenda, la fecha y opcionalmente la zona horaria.


Ejemplo con 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'
Ejemplo con la 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 gestionar los agendamientos de cada agenda, consulte la API de Agendamientos.

¿Le fue útil este artículo?

¡Qué bueno!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Díganos cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
La verificación de CAPTCHA es obligatoria.

Comentarios enviados

Agradecemos su iniciativa, e intentaremos corregir el artículo