Neste mostraremos como fazer uso da API para acessas e inserir informações no sistema, para acessar o sistema através da api é necessário um token de acesso. Esse token só pode ser gerado pelo usuário principal da conta (usuários do tipo "Dependente" não têm permissão para gerar e/ou visualizar o token).
curl -F "user[name]=Matheus" \
-F "user[email]=test@cfaz.net" \
-F "user[locale]=pt-BR" \
-F "user[default_clinic]=19" \
-F "user[cpf]=123.456.789-11" \
-F "user[phone]=+55 48 48848-4848" \
-F "user[role_id]=8" \
-F "user[clinics_user_ids][]=[19]" \
-F "user[description]=teste api" \
https://max.cfaz.net/api/v1/subs_dependents?access_token=0cd675768fev8dab81fe1c1297d56b09Utilize as informações no cabeçalho de access-token, token-type, client, expiry e uid
para fazer as próximas requisições, como por exemplo:
Cadastrar colaboradores
Colaboradores podem ser cadastrados, editados, desativados e ativados via API no Cfaz.net, desde que se tenha a permissão necessária.
Com exemplo CURL:
curl -i \
-H "token-type: Bearer" \
-H "access-token: xxxxx" \
-H "client: xxxxx" \
-H "uid: xxxxx" \
-X GET \
https://max.cfaz.net/api/v1/requests?per_page=10Exemplo com Gem RestClient:
RestClient.post "https://max.cfaz.net/api/v1/subs_dependents",
{ user: {
name: "João Da Silva",
email: "api@teste.com.br",
locale: "pt-BR",
default_clinic: 19,
cpf: 12345678911,
phone: 12345678,
role_id: 8,
clinics_user_ids: [19],
description: "teste"
}
},
"authorization" => "Token token=0cd675768fev8dab81fe1c1297d56b09"Editar um colaborador existente
Para editar o colaborador é necessário saber o id do colaborador.
Exemplo com CURL:
curl -X PUT \
-F "user[id]=id" \
https://max.cfaz.net/api/v1/subs_dependents/{colaborador_id}?access_token=0cd675768fev8dab81fe1c1297d56b09Exemplo com Gem RestClient:
RestClient.put "https://max.cfaz.net/api/v1/subs_dependents/{colaborador_id}",
{
user: {
id: id
}
},
"authorization" => "Token token=0cd675768fev8dab81fe1c1297d56b09"Desativar um colaborador existente
No cfaz.net não é permitido excluir um colaborador totalmente do banco de dados, mas é permitido desativar esse colaborador. Para desativar o colaborador é necessário informar o id dele.
Exemplo com CURL:
curl -X DELETE \
https://max.cfaz.net/api/v1/subs_dependents/{colaborador_id}?access_token=0cd675768fev8dab81fe1c1297d56b09Exemplo com Gem RestClient:
RestClient.delete "https://max.cfaz.net/api/v1/subs_dependents/{colaborador_id}",
"authorization" => "Token token=0cd675768fev8dab81fe1c1297d56b09"
Reativar um colaborador existente
Caso seja necessário reativar um colaborador desativado é possível.
Exemplo com o CURL:
curl -X PUT \
https://max.cfaz.net/api/v1/subs_dependents/{colaborador_id}/activate?access_token=0cd675768fev8dab81fe1c1297d56b09Exemplo com Gem RestClient:
RestClient.put "https://max.cfaz.net/api/v1/subs_dependents/{colaborador_id}/activate",
"authorization" => "Token token=0cd675768fev8dab81fe1c1297d56b09"Pacientes
Os pacientes podem ser criados pela interface de pacientes ou através da interface de pedidos. Ao criar um pedido com informação de um paciente que não existe na base, um novo paciente é criado automaticamente.
Campos do paciente
O paciente possui os campos:
- name: Nome do paciente.
- email: Email do paciente.
- gender: Sexo do paciente ("true" para masculino e "false" para feminino).
- birthdate: Data de nascimento do paciente.
- cpf: CPF do paciente.
- rg_id: RG do paciente.
- mobile_phone: Celular do paciente.
- commercial_phone: Telefone comercial do paciente.
- home_phone: Telefone pessoal do paciente.
- father_name: Nome do pai do paciente.
- mother_name: Nome da Mãe do paciente.
- address_attributes: Endereço do paciente.
- street: Logradouro.
- number: Número.
- neighborhood: Bairro.
- city: Cidade.
- complement: Complemento.
- cep: Código de endereçamento postal.
- state: Estado.
Listar pacientes o controller de pacientes permite listar os pacientes através da action "index". Isso pode ser usado para encontrar um paciente que vai ser atualizado.
Exemplo com CURL:
curl -X GET \
-G "https://max.cfaz.net/api/v1/patient_data" \
-d "access_token=0cd675768fev8dab81fe1c1297d56b09" \
-d "name_eq=João%20das%20Couves" \
-d "email_eq=paciente@ri5.com.br" \
-d "birthdate_eq=2010-01-01"Exemplo com a Gem RestClient:
curl --globoff -X GET -G "https://max.cfaz.net/api/v1/patient_data" \
-d "access_token=zg_HcX-gQHhO28xkDYKYZQ" \
-d "cpf_eq=084.841.686-46"Nessa listagem há uma paginação com 8 pacientes a 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:
curl -X GET \
-G "https://max.cfaz.net/api/v1/patient_data" \
-d "access_token=0cd675768fev8dab81fe1c1297d56b09" \
-d "page=2"Criar paciente
O controller de paciente permite criar pacientes acessando a action "create".
Exemplo com CURL:
curl -d "patient_datum[name]=João das Couves" \
-d "patient_datum[email]=paciente@ri5.com.br" \
-d "patient_datum[birthdate]=2010-01-01" \
-d "patient_datum[gender]=true" \
-d "patient_datum[address_attributes][street]=Rua Zeca Amancio" \
-d "patient_datum[address_attributes][number]=32" \
-d "patient_datum[address_attributes][city]=Itabira" \
-d "patient_datum[address_attributes][neighborhood]=Centro" \
-d "patient_datum[address_attributes][cep]=35900027" \
-d "patient_datum[address_attributes][state]=MG" \
https://max.cfaz.net/api/v1/patient_data?access_token=0cd675768fev8dab81fe1c1297d56b09Exemplo com Gem RestClient:
RestClient.post "https://max.cfaz.net/api/v1/requests",
{ patient_datum:
{ name: "João das Couves",
email: "paciente@ri5.com.br",
birthdate: "2010-01-01",
gender: "true",
address_attributes: { street: "Rua Zeca Amancio",
number: "32",
city: "Itabira",
neighborhood: "Centro",
cep: "35900027",
state: "MG",
}
}
},
"authorization" => "Token token=0cd675768fev8dab81fe1c1297d56b09"Atualizar paciente
O controller de pacientes permite atualizar um paciente acessando a action "update". Para atualizar um paciente é necessário saber o id do paciente que deseja atualizar.
Exemplo com CURL:
curl -X PUT \
-d "patient_datum[name]=Maria das Couves" \
https://max.cfaz.net/api/v1/patient_data/{patient_id}?access_token=0cd675768fev8dab81fe1c1297d56b09Excluir paciente
O controller de pacientes permite excluir um paciente acessando a action "destroy". Para excluir um paciente é necessário saber o id do paciente que deseja excluir.
Exemplo com CURL:
curl -X DELETE https://max.cfaz.net/api/v1/patient_data/{patient_id}?access_token=0cd675768fev8dab81fe1c1297d56b09Exemplo com Gem RestClient:
RestClient.delete "https://max.cfaz.net/api/v1/patient_data/{patient_id}",
"authorization" => "Token token=0cd675768fev8dab81fe1c1297d56b09"Dentistas
Os dentistas podem ser criados pela interface de dentistas ou através da interface de pedidos. Ao criar um pedido com informação de um dentista que não existe na base, um novo dentista é criado automaticamente.
Campos do dentista
O dentista possui os campos:
- name: Nome do dentista.
- email: Email do dentista.
- cro: CRO do dentista.
- birthdate: Data de nascimento do dentista.
- mobile_phone: Celular do dentista.
- commercial_phone: Telefone comercial do dentista.
- home_phone: Telefone pessoal do dentista.
- clinic_id: Clinica a qual o dentista pertence, usado na busca ao criar pedido.
- addresses_attributes: Endereços do dentista.
- street: Logradouro.
- number: Número.
- neighborhood: Bairro.
- city: Cidade.
- complement: Complemento.
- cep: Código de endereçamento postal.
- state: Estado.
Listar dentistas
O controller de dentista permite listar os dentsitas através da action "index". Isso pode ser usado para encontrar um dentista que vai ser atualizado.
Exemplo com CURL:
curl -X GET \
-G "https://max.cfaz.net/api/v1/dentist_data" \
-d "access_token=0cd675768fev8dab81fe1c1297d56b09" \
-d "name_eq=João%20das%20Couves" \
-d "email_cont_any=dentista@ri5.com.br" \
-d "cro_eq=MG-8252"Exemplo com a Gem RestClient:
RestClient.get "https://max.cfaz.net/api/v1/dentist_data",
{ "authorization" => "Token token=0cd675768fev8dab81fe1c1297d56b09",
"name_eq" => "João das Couves"
"email_cont_any" => "dentista@ri5.com.br",
"cro_eq" => "MG-8252"
}Nessa listagem há uma paginação com 30 dentistas a 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:
curl -X GET \
-G "https://max.cfaz.net/api/v1/dentist_data" \
-d "access_token=0cd675768fev8dab81fe1c1297d56b09" \
-d "page=2"Criar dentista
O controller de dentistas permite criar dentistas acessando a action "create".
Exemplo com CURL:
curl -d "dentist_datum[name]=João das Couves" \
-d "dentist_datum[email]=dentista@ri5.com.br" \
-d "dentist_datum[birthdate]=09/01/2015" \
-d "dentist_datum[cro]=MG-8252" \
-d "dentist_datum[addresses_attributes][1][street]=Rua Zeca Amancio" \
-d "dentist_datum[addresses_attributes][1][number]=32" \
-d "dentist_datum[addresses_attributes][1][city]=Itabira" \
-d "dentist_datum[addresses_attributes][1][neighborhood]=Centro" \
-d "dentist_datum[addresses_attributes][1][cep]=35900027" \
-d "dentist_datum[addresses_attributes][1][state]=MG" \
https://max.cfaz.net/api/v1/dentist_data?access_token=0cd675768fev8dab81fe1c1297d56b09Exemplo com Gem RestClient:
RestClient.post "https://max.cfaz.net/api/v1/requests",
{ dentist_datum:
{ name: "João das Couves",
email: "dentista@ri5.com.br",
cro: "MG-8252",
addresses_attributes: [
'' => { street: "Rua Zeca Amancio",
number: "32",
city: "Itabira",
neighborhood: "Centro",
cep: "35900027",
state: "MG",
}]
}
},
"authorization" => "Token token=0cd675768fev8dab81fe1c1297d56b09"Atualizar dentista
O controller de dentistas permite atualizar um dentista acessando a action "update". Para atualizar um dentista é necessário saber o id do dentista que deseja atualizar.
Exemplo com CURL:
curl -X PUT \
-d "dentist_datum[name]=Maria das Couves" \
https://max.cfaz.net/api/v1/dentist_data/{dentist_id}?access_token=0cd675768fev8dab81fe1c1297d56b09Exemplo com Gem RestClient:
RestClient.put "https://max.cfaz.net/api/v1/dentist_data/{dentist_id}",
{ dentist_datum: { name: "Maria das Couves" } },
"authorization" => "Token token=0cd675768fev8dab81fe1c1297d56b09"Excluir dentista
O controller de dentistas permite excluir um dentista acessando a action "destroy". Para excluir um dentista é necessário saber o id do dentista que deseja excluir.
Exemplo com CURL:
curl -X DELETE https://max.cfaz.net/api/v1/dentist_data/{dentist_id}?access_token=0cd675768fev8dab81fe1c1297d56b09Exemplo com Gem RestClient:
RestClient.delete "https://max.cfaz.net/api/v1/dentist_data/{dentist_id}",
"authorization" => "Token token=0cd675768fev8dab81fe1c1297d56b09"Imagens
As imagens podem ser enviadas em qualquer formato e sempre estão vinculadas a um pedido. É possivel criar um pedido já com as imagens, ou então adicionar imagens a um pedido existente.
Criar pedido com imagens
O controller de pedidos permite criar pedidos com imagens acessando a action "create".
Exemplo com CURL:
curl -F "request[clinic_id]=19" \
-F "request[request_status_id]=53" \
-F "request[date]=2021-01-10T16:30" \
-F "request[dentist_datum][name]=João das Couves" \
-F "request[patient_datum][name]=Maria das Couves" \
-F "request[patient_datum][gender]=true" \
-F "request[patient_datum][birthdate]=1995-01-01" \
-F "request[photos_attributes][1][image]=@/path/image1.jpg" \
-F "request[photos_attributes][2][image]=@/path/image2.jpg" \
https://max.cfaz.net/api/v1/requests?access_token=0cd675768fev8dab81fe1c1297d56b09Exemplo com Gem RestClient:
RestClient.post "https://max.cfaz.net/api/v1/requests",
{ request:
{ clinic_id: 19,
request_status_id: 53,
date: "2021-01-10T16:30",
dentist_datum: { name: "João das Couves" },
patient_datum: { name: "Maria das Couves", gender: true, birthdate: "1995-01-01"},
photos_attributes: [
{ "1": { image: File.open("/path/image.jpg"),
image_file_name: "image1.jpg",
image_content_type: "image/jpg"}},
{ "2": { image: File.open("/path/image.jpg"),
image_file_name: "image2.jpg",
image_content_type: "image/jpg"}}
],
}
},
"authorization" => "Token token=0cd675768fev8dab81fe1c1297d56b09"Adicionar imagens a um pedido existente
O controller de pedidos permite adicionar imagens a um pedido acessando a action "update".
Exemplo com CURL:
curl -X PUT \
-F "request[photos_attributes][1][image]=@/path/image1.jpg" \
-F "request[photos_attributes][2][image]=@/path/image2.jpg" \
https://max.cfaz.net/api/v1/requests/{request_id}?access_token=0cd675768fev8dab81fe1c1297d56b09Exemplo com Gem RestClient:
RestClient.put "https://max.cfaz.net/api/v1/requests/{request_id}",
{ request: {
photos_attributes: [
{ "1": { image: File.open("/path/image.jpg"),
image_file_name: "image1.jpg",
image_content_type: "image/jpg"}
},
{ "2": { image: File.open("/path/image.jpg"),
image_file_name: "image2.jpg",
image_content_type: "image/jpg"}}
],
}},
"authorization" => "Token token=0cd675768fev8dab81fe1c1297d56b09"Excluir imagens de um pedido existente
O controller de pedidos permite excluir imagens de um pedido acessando a action "update".
Exemplo com CURL:
curl -X PUT \
-F "request[photos_attributes][1][id]={photo_id}" \
-F "request[photos_attributes][1][_destroy]=1" \
http://localhost:3000/api/v1/requests/{request_id}?access_token=0cd675768fev8dab81fe1c1297d56b09Exemplo com Gem RestClient:
RestClient.put "https://max.cfaz.net/api/v1/requests/{request_id}",
{ request: {
id: {request.id},
photos_attributes: [
{ id: {photo.id},
_destroy: true
},
],
}
},
"authorization" => "Token token=0cd675768fev8dab81fe1c1297d56b09"Clínicas
O controller de clínicas permite acessar as clinicas do usuário através da action "index". O id da clínica é necessário para criar um pedido.
Exemplo com CURL:
curl https://max.cfaz.net/api/v1/clinics?access_token=0cd675768fev8dab81fe1c1297d56b09
Exemplo com Gem RestClient:
RestClient.get "https://max.cfaz.net/api/v1/clinics",
"authorization" => "Token token=0cd675768fev8dab81fe1c1297d56b09"Status de pedido
O controller de status de pedido permite acessar os status de pedido do usuário através da action "index". O id do status de pedido é necessário para criar um pedido.
Listar status de pedido
Exemplo com CURL:
curl https://max.cfaz.net/api/v1/request_statuses?access_token=0cd675768fev8dab81fe1c1297d56b09Exemplo com Gem RestClient:
RestClient.get "https://max.cfaz.net/api/v1/request_statuses",
"authorization" => "Token token=0cd675768fev8dab81fe1c1297d56b09"Pedido
Campos do pedido
O pedido possui os campos:
- date: Data em que o pedido foi criado.
- clinic_id: Id da clínica na qual o pedido foi criado.
- request_status_id: Id do status em que o pedido se encontra.
- dentist_datum: Dentista que indicou o paciente.
- name: Nome do dentista que requisitou o pedido.
- email: Email do dentista que requisitou o pedido.
- commercial_phone: Telefone comercial do dentista que requisitou o pedido.
- mobile_phone: Celular do dentista que requisitou o pedido.
- patient_datum: Paciente indicado.
- name: Nome do paciente.
- birthdate: Data de nascimento.
- gender: Sexo do paciente ("true" para masculino e "false" para feminino).
- email: Email do paciente.
Listar status de pedido
Exemplo com CURL:
curl https://max.cfaz.net/api/v1/requests?access_token=0cd675768fev8dab81fe1c1297d56b09Exemplo com a Gem RestClient:
RestClient.get "https://max.cfaz.net/api/v1/requests",
"authorization" => "Token token=0cd675768fev8dab81fe1c1297d56b09"
Exemplo com CURL usando filtro pela data de criação do registro:
curl --globoff -X GET -G "https://max.cfaz.net/api/v1/requests" \
-d "access_token=token" \
--data-urlencode "q[created_at_gteq]=2024-08-14T01:01:01.000-03:00"Exemplo com CURL usando filtro pelo id do pedido:
curl -X GET \
-G "https://max.cfaz.net/api/v1/requests" \
-d "access_token=0cd675768fev8dab81fe1c1297d56b09" \
-d "q[id_eq]=15988959"Nota-se que os parâmetros usados para filtrar a consulta devem ser passados dentro da notação "q[]" conforme os dois exemplos acima.
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