Agendamentos

Criada por Alexandre Pateis, Modificado em Ter, 9 Set na (o) 4:05 PM por Alexandre Pateis

Campos do agendamento


O agendamento possui os seguintes campos:


  • calendar_id: Id do calendário
  • patient_id: Id do paciente
  • dentist_datum_id: id do dentista
  • title: Título do agendamento
  • description: Descrição do agendamento
  • start_date: Data e hora de início do agendamento
  • end_date: Data e hora final do agendamento
  • comment: Comentário sobre o agendamento
  • color: Cor do agendamento
  • status: Status do agendamento
  • phone: Telefone do agendamento


O agendamento possui os seguintes estados:


  • 0 : Aberto
  • 1 : Atendido
  • 2 : Em espera
  • 3 : Ausente
  • 4 : Anotação
  • 5 : Observação
  • 6 : Confirmado
  • 7 : Cancelado
  • 8 : Horário bloqueado, usado para bloqueio de horários na agenda



Listar os agendamentos


O controller de agendamentos permite listar os agendamentos através da action "index". Isso pode ser usado para encontrar um agendamento que vai ser atualizado.


Exemplo com CURL:
curl -X GET 'https://max.cfaz.net/api/v1/events' \
  -d 'access_token=0cd675768fev8dab81fe1c1297d56b09' \
  -d 'title_eq=João das Couves' \
  -d 'status=1'


Exemplo com a Gem RestClient:
RestClient.get 'https://max.cfaz.net/api/v1/events',
    {
        'access_token'=> '0cd675768fev8dab81fe1c1297d56b09',
        'title_eq' => 'João das Couves',
        'status' => '1'
    }


Nessa listagem há uma paginação com 8 agendamentos em cada página, ao não especificar a página, por padrão, é retornada a primeira, entretanto essa pode ser especificada adicionando o parâmetro "page" com um valor inteiro maior que 0, retornando então a página em questão. Exemplo com o parâmetro:


Exemplo com CURL:
curl -X GET 'https://max.cfaz.net/api/v1/events' \
  -d 'access_token=0cd675768fev8dab81fe1c1297d56b09' \
  -d 'title_eq=João das Couves"' \
  -d 'status=1' \
  -d 'page=2'


Exemplo com a Gem RestClient:
RestClient.get 'https://max.cfaz.net/api/v1/events',
    {
        'access_token'=> '0cd675768fev8dab81fe1c1297d56b09',
        'title_eq' => 'João das Couves',
        'status' => '1',
        'page' => 2
    }


Criar um agendamento


O controller de agendamentos permite criar agendamentos acessando a action "create".


Exemplo com CURL:
curl -X POST 'https://max.cfaz.net/api/v1/events' \
    -d 'access_token=0cd675768fev8dab81fe1c1297d56b09' \
    -d 'event[calendar_id]=158' \
    -d 'event[patient_id]=317358' \
    -d 'event[title]=Agendamento pela API' \
    -d 'event[description]=Descrição de teste' \
    -d 'event[start_date]=Thu, 16 Jun 2025 14:00:00.000000000 UTC +00:00' \
    -d 'event[end_date]=Thu, 16 Jun 2025 14:30:00.000000000 UTC +00:00' \
    -d 'event[status]=2' \
    -d 'event[phone]=31 9 1234 5678' \
    -d 'event[dentist_datum_id]=56022'


Exemplo com a Gem RestClient:
RestClient.post 'https://max.cfaz.net/api/v1/events',
    {
        event: {
            calendar_id: 158,
            patient_id: 317358,
            title: "Agendamento pela API",
            description: "Descrição de teste",
            start_date: "Thu, 16 Jun 2025 14:00:00.000000000 UTC +00:00",
            end_date: "Thu, 16 Jun 2025 14:30:00.000000000 UTC +00:00",
            status: 2,
            phone: "31 9 1234 5678",
            dentist_datum_id: 56022,
        },
        access_token: "0cd675768fev8dab81fe1c1297d56b09",
    }


Atualizar um agendamento

O controller de agendamentos permite atualizar um agendamento acessando a action "update". Para atualizar um agendamento é necessário saber o id do agendamento que deseja atualizar.


Exemplo com CURL:


curl -X PUT 'https://max.cfaz.net/api/v1/events/{event_id}' \
    -d 'access_token=0cd675768fev8dab81fe1c1297d56b09' \
    -d 'event[title]=Agendamento pela API/Update'


Exemplo com a Gem RestClient:
RestClient.put "https://max.cfaz.net/api/v1/events/{event_id}",
            { event:
                {
                    title: "Agendamento pela API/Update"
                },
                access_token: "0cd675768fev8dab81fe1c1297d56b09",
            }


Excluir um agendamento

O controller de agendamentos permite excluir um agendamento acessando a action "destroy". Para excluir um agendamento é necessário saber o id do agendamento que deseja excluir.


Exemplo com CURL:
curl -X DELETE 'https://max.cfaz.net/api/v1/events/{event_id}' \
  -d 'access_token=9b6309a4fe550142d34cba2af195ef07'


Exemplo com a Gem RestClient:
RestClient.delete "https://max.cfaz.net/api/v1/event/{patient_id}",
           "authorization" => "Token token=0cd675768fev8dab81fe1c1297d56b09"


Criar um bloqueio

O controller de eventos permite com que você crie um bloqueio de horário, o funcionamento do bloqueio de horários é igual ao de criação um evento com a diferença que o status tem que ser igual a 8. 



O bloqueio possui os seguintes campos:

  • calendar_id: Id do calendário
  • title: Motivo do bloqueio
  • start_date: Data e hora de início do bloqueio
  • end_date: Data e hora final do bloqueio
  • status: Status do bloqueio, tem que ser sempre igual a 8



Exemplo com CURL:
curl -X POST 'https://max.cfaz.net/api/v1/events' \
        -d 'access_token=0cd675768fev8dab81fe1c1297d56b09' \
        -d 'event[calendar_id]=158' \
        -d 'event[title]=Bloqueio pela API' \
        -d 'event[start_date]=Thu, 16 Jun 2025 14:00:00.000000000 UTC +00:00' \
        -d 'event[end_date]=Thu, 16 Jun 2025 14:30:00.000000000 UTC +00:00' \
        -d 'event[status]=8'


Exemplo com a Gem RestClient:
RestClient.post 'https://max.cfaz.net/api/v1/events',
    {
        event: {
            calendar_id: 158,
            title: "Bloqueio pela API",
            start_date: "Thu, 16 Jun 2025 14:00:00.000000000 UTC +00:00",
            end_date: "Thu, 16 Jun 2025 14:30:00.000000000 UTC +00:00",
            status: 8,
        },
        access_token: "0cd675768fev8dab81fe1c1297d56b09"
    }

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