NAV
shell

Introdução

Bem-vindos à documentação da API do OW.Net Cloud. O objetivo desta documentação é orientar os desenvolvedores sobre como integrar-se com a API, descrevendo funcionalidades, os métodos a serem utilizados, listando informações a serem enviadas e recebidas, e fornecendo exemplos.

O processo de integração com a API do OW.Net Cloud é simples, exigindo apenas conhecimentos intermediários em linguagem de programação para a web, requisições HTTPS e manipulação de arquivos JSON, a fim de ser implantado com sucesso.

Neste manual, você encontrará a referência de todas as operações disponíveis na API REST do OW.Net Cloud. Essas operações devem ser executadas utilizando sua chave específica (Nome de usuário e senha) nos respectivos endpoints dos ambientes.

Requisitos para Integração

Antes de iniciar a integração com nossa API, você precisará ter credenciais válidas para realizar suas requisições. Para obtê-las, basta preencher o formulário e aguardar nosso retorno.

Credenciais

Requisição:

curl -X POST 
      -H  'Content-Type: application/x-www-form-urlencoded'
                [URL]/token  
      -d "grant_type=password"  
      -d "username=$_username"
      -d "password=$_password"

Resposta:

  {
                "access_token":"RU28Dl3t4BfffEmGTLx28_bBVqybQ2LHecgUgq21cWzrN0jtcbZHlK7Yw6PNxdfIXgLpRZcGdf",
                "token_type":"bearer",
                "expires_in":7199 
  }

Com suas credenciais de username e password, você poderá obter o access_token, que será usado em todas as requisições.

Autenticação

A API requer dois tokens para realizar as requisições:

URL

Ambiente URL
SANDBOX http://local.odontoway.com
PRODUÇÃO https://api.owcloud.com.br

Agenda

Pesquisar Unidades

Esta operação permite pesquisar pelas unidades disponíveis para agendamento.

Requisição:

{URL}/api/v1/calendar/offices?token={token} \
-H "Authorization: Bearer access_token"

Resposta:

{
  "Description":  "Unidade Praia do Canto",
  "Address": 
  {
    "Street": "Arthur Czartoryski",
    "Number": "70",
    "Complement": "Sala 333",
    "ZipCode": "29060370",
    "City": "Vitória",
    "State": "ES"
  }
} 

HTTPS Request

GET [URL]/api/v1/calendar/offices

Parâmetros

Parâmetro Tipo Obrigatório Descrição
token Guid Sim Chave fornecida pela clínica/consultório

Pesquisar Profissionais

Esta operação permite pesquisar pelos profissionais disponíveis para agendamento.

Requisição:

{URL}/api/v1/calendar/doctors?token={token}&office={office} \
-H "Authorization: Bearer access_token"

Resposta:

{
  "DoctorId": "00000011-0000-0000-1042-000000000001",
  "Name": "Perseu Conde",
  "Office": "Unidade Praia do Canto"
} 

HTTPS Request

GET [URL]/api/v1/calendar/doctors

Parâmetros

Parâmetro Tipo Obrigatório Descrição
token Guid Sim Chave fornecida pela clínica/consultório
office string Não Nome da Unidade

Pesquisar Atividades

Esta operação permite pesquisar pelas atividades disponíveis para agendamento.

Requisição:

{URL}/api/v1/calendar/activities?token={token}&office={office}&doctorId={doctorId} \
-H "Authorization: Bearer access_token"

Resposta:

{
  "ActivityId": "194fe4c8-bf70-4a53-81f9-83a24777640b",
  "Description": "Atendimento (diversos)",
  "Office": "Unidade Praia do Canto"
}  

HTTPS Request

GET [URL]/api/v1/calendar/activities

Parâmetros

Parâmetro Tipo Obrigatório Descrição
token Guid Sim Chave fornecida pela clínica/consultório
office string Não Nome da Unidade
doctorId Guid Não Identificador do profissional

Pesquisar Datas Disponíveis

Esta operação permite pesquisar pelas datas disponíveis para agendamento.

Requisição:

{URL}/api/v1/calendar/availabledates?token={token}&office={office}&doctorId={doctorId}&activityId={activityId}&startDate={startDate}&quantity={quantity} \
-H "Authorization: Bearer access_token"

Resposta:

{
  "Office": "Unidade Praia do Canto",
  "DoctorId": "00000011-0000-0000-1042-000000000001",
  "ActivityId": "194fe4c8-bf70-4a53-81f9-83a24777640b",
  "Date": "2021-12-08"
}

HTTPS Request

GET [URL]/api/v1/calendar/availabledates

Parâmetros

Parâmetro Tipo Obrigatório Descrição
token Guid Sim Chave fornecida pela clínica/consultório
office string Não Nome da Unidade
doctorId Guid Não Identificador do profissional
activityId Guid Não Identificador da atividade
startDate Date Não Data inicial da pesquisa
quantity Guid Não Total de datas que serão retornadas - Default = 10

Pesquisar Horários Disponíveis

Esta operação permite pesquisar pelos horários disponíveis para agendamento.

Requisição:

{URL}/api/v1/calendar/availabletimes?token={token}&date={date}&office={office}&doctorId={doctorId}&activityId={activityId} \
-H "Authorization: Bearer access_token"

Resposta:

{
  "Time": "09:00:00",
  "AppointmentId": "699f4a68-49ec-4a1a-a9d2-9d69696a0d7d"
}   

HTTPS Request

GET [URL]/api/v1/calendar/availabletimes

Parâmetros

Parâmetro Tipo Obrigatório Descrição
token Guid Sim Chave fornecida pela clínica/consultório
date Date Sim Data que será realizada a consulta dos horários
office string Não Nome da Unidade
doctorId Guid Não Identificador do profissional
activityId Guid Não Identificador da atividade

Agendar um Cliente

Esta operação permite agendar um cliente em um horário disponível.

HTTPS Request

POST [URL]/api/v1/calendar/insert

Requisição:

{URL}/api/v1/calendar/insert?token={token} \
-H "Authorization: Bearer access_token"

Body parameter

{
  "Id": "699f4a68-49ec-4a1a-a9d2-9d69696a0d7d",
  "CampaignId": "",
  "Client": 
  {
    "Id": "",
    "Name": "Marcelo",
    "LastName": "Almeida",
    "Phone": "4799376637",
    "Email": "marcelo.almeida@gmail.com"
  }
}

Resposta:

"699f4a68-49ec-4a1a-a9d2-9d69696a0d7d"

Parâmetros

Parâmetro Tipo Obrigatório Descrição
token Guid Sim Chave fornecida pela clínica/consultório

Propriedades Appointment

Parâmetro Tipo Obrigatório Descrição
token Guid Sim Chave fornecida pela clínica/consultório
Id Guid Sim Identificador do agendamento - AppointmentId
CampaignId Guid Não Identificador da campanha pelo qual o cliente se interessou pela clínica
Client Guid Sim Objeto como os dados do cliente que irá ser agendado Client

Confirmar um Agendamento

Esta operação permite confirmar um horário agendado.

Requisição:

{URL}/api/v1/calendar/confirm?token={token}&appointmentId={appointmentId} \
-H "Authorization: Bearer access_token"

Resposta:

"Appointment confirmed"

HTTPS Request

GET [URL]/api/v1/calendar/confirm

Parâmetros

Parâmetro Tipo Obrigatório Descrição
token Guid Sim Chave fornecida pela clínica/consultório
appointmentId Guid Sim Identificador do agendamento

Clientes

Pesquisar um Cliente

Esta operação permite pesquisar um cliente/paciente pelo e-mail ou número de telefone.

Requisição:

{URL}/api/v1/patient/find?token={token}&phone={phone}&email={email} \
-H "Authorization: Bearer access_token"

Resposta:

{
    "Id": "49a5d19a-fa8e-44ee-8d5a-3bdaf4bfcd8a",
    "Ide": 99999,
    "Name": "Marcelo",
    "LastName": "Almeida",
    "Phone": "4799376637",
    "Email": "marcelo.almeida@gmail.com",
    "Birthday": "31/12/2000",
    "Address": {
    "Street": "Av. Vitória",
    "Number": "55",
    "Complement": "casa",
    "ZipCode": "29140744",
    "City": "Vitória",
    "State": "ES"
    }

}

HTTPS Request

GET [URL]/api/v1/patient/find

Parâmetros

Parâmetro Tipo Obrigatório Descrição
token Guid Sim Chave fornecida pela clínica/consultório
phone string Não Número do telefone principal do cliente
email string Não E-mail principal do cliente

Obter um Cliente pelo Id

Esta operação permite obter as informações de um cliente/paciente cadastrado com base no seu ID.

Requisição:

{URL}/api/v1/patient/get?token={token}&id={id} \
-H "Authorization: Bearer access_token"

Resposta:

{
    "Id": "49a5d19a-fa8e-44ee-8d5a-3bdaf4bfcd8a",
    "Name": "NameNameName",
    "LastName": "LastNameLastName",
    "Phone": "9999-9999",
    "Email": "email@email.com.br",
    "Address": {
    "Street": "Av. Vitória",
    "Number": "55",
    "Complement": "casa",
    "ZipCode": "29140744",
    "City": "Vitória",
    "State": "ES"
    },
    "Ide": 99999,
    "Birthday": "2001-01-01T00:00:00"
}

HTTPS Request

GET [URL]/api/v1/patient/get

Parâmetros

Parâmetro Tipo Obrigatório Descrição
token Guid Sim Chave fornecida pela clínica/consultório
id Guid Sim Identificador único do cliente na plataforma

Obter um Cliente pelo Identificador

Esta operação permite obter informações básicas de um cliente cadastrado com base no seu Identificador.

Requisição:

{URL}/api/v1/patient/getbyide?token={token}&ide={ide} \
-H "Authorization: Bearer access_token"

Resposta:

{
    "Id": null,
    "Name": "NameNameName",
    "LastName": "LastNameLastName",
    "Phone": "9999-9999",
    "Email": "email@email.com.br",
    "Address": null,
    "Ide": 99999,
    "Birthday": "2001-01-01T00:00:00"
}

HTTPS Request

GET [URL]/api/v1/patient/getbyide

Parâmetros

Parâmetro Tipo Obrigatório Descrição
token Guid Sim Chave fornecida pela clínica/consultório
ide int Sim Identificador único do cliente para a clínica

Leads

Inserir um Lead

Esta operação permite incluir um Lead no Funil de Vendas.

HTTPS Request

POST [URL]/api/v1/lead/insert

Requisição:

{URL}/api/v1/lead/insert?token={token} \
-H "Authorization: Bearer access_token"

Body parameter

{
    "CampaignId": "699f4a68-49ec-4a1a-a9d2-9d69696a0d7d",
    "Client": 
    {
        "Id": "",
        "Name": "Marcelo",
        "LastName": "Almeida",
        "Phone": "4799376637",
        "Email": "marcelo.almeida@gmail.com"        
    },
    "Note": "Tenho interesse em ..."
}

Resposta:

"77aa3f83-d1e5-441a-8a4f-7e766962b6f8"

Parâmetros

Parâmetro Tipo Obrigatório Descrição
token Guid Sim Chave fornecida pela clínica/consultório

Propriedades Lead

Parâmetro Tipo Obrigatório Descrição
token Guid Sim Chave fornecida pela clínica/consultório
CampaignId Guid Sim Identificador da campanha pelo qual o cliente se interessou pela clínica
Client Guid Sim Objeto como os dados do cliente que irá ser agendado Client
Note String Não Comentário feito pelo cliente na página. Máximo 255 caracteres

Campanhas de Marketing

Listar as campanhas ativas

Esta operação permite listar as campanhas de marketing que estão ativas.

Requisição:

{URL}/api/v1/campaign/list?token={token} \
-H "Authorization: Bearer access_token"

Resposta:

{
    "Id": "b8dd3cf9-db13-495a-bd52-f54f967321e4",
    "Description": "Facebook"   
}

HTTPS Request

GET [URL]/api/v1/campaign/list

Parâmetros

Parâmetro Tipo Obrigatório Descrição
token Guid Sim Chave fornecida pela clínica/consultório

Estruturas dos Objetos

Abaixo as estruturas dos objetos DTO

Appointment

Objeto contendo informações para inserir um agendamento

{
  "Id": "699f4a68-49ec-4a1a-a9d2-9d69696a0d7d",
  "CampaignId": "",
  "Client": {
    "Id": "",
    "Name": "Marcelo",
    "LastName": "Almeida",
    "Phone": "4799376637",
    "Email": "marcelo.almeida@gmail.com",
    "Address": {
    "Street": "Av. Vitória",
    "Number": "55",
    "Complement": "casa",
    "ZipCode": "29140744",
    "City": "Vitória",
    "State": "ES"
    }
  }
} 

Propriedades

Nome Tipo Obrigatório Descrição
Id Guid Sim Identificador do horário disponível
CampaignId Guid Não Identificador da campanha/referência do qual este cliente conheceu a empresa
Client Client Sim Objeto contendo informações do cliente

Client

Objeto contendo informações do cliente

{
  "Id": "",
  "Name": "Marcelo",
  "LastName": "Almeida",
  "Phone": "4799376637",
  "Email": "marcelo.almeida@gmail.com",
  "Address": {
  "Street": "Av. Vitória",
  "Number": "55",
  "Complement": "casa",
  "ZipCode": "29140744",
  "City": "Vitória",
  "State": "ES"
  }
}

Propriedades

Nome Tipo Obrigatório Descrição
Id Guid Sim Identificador do horário disponível
Name string Sim Nome do cliente
LastName string Sim Sobrenome do cliente
Phone string Sim Telefone do cliente
Email string Sim E-mail do cliente
Address Address Não Objeto contendo o endereço do cliente Address

Address

Objeto contendo o endereço do cliente

{
  "Street": "Av. Vitória",
  "Number": "55",
  "Complement": "casa",
  "ZipCode": "29140744",
  "City": "Vitória",
  "State": "ES"
}

Propriedades

Nome Tipo Obrigatório Descrição
Street string Não Logradouro
Number string Não Número
Complement string Não Complemento
ZipCode string Não CEP
City string Não Cidade
State string Não Estado

Lead

Objeto contendo informações para inserir um lead

{
    "CampaignId": "9c7327ae-15d3-4a68-97ae-d1e2e52c59bc",
    "Client": 
    {
        "Id": "",
        "Name": "Marcelo",
        "LastName": "Almeida",
        "Phone": "4799376637",
        "Email": "marcelo.almeida@gmail.com"        
    },
    "Note": "Tenho interesse em ..."
}

Propriedades

Nome Tipo Obrigatório Descrição
CampaignId Guid Sim Identificador da campanha/referência do qual este cliente conheceu a empresa
Client Client Sim Objeto contendo informações do cliente
Note String Não Comentário feito pelo cliente na página. Máximo 255 caracteres

Erros

Códigos de erros utilizados

Error Code Meaning
null Nenhuma informação foi encontrada
The request is invalid Requisição incorreta por falta de um ou mais parâmetros
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is wrong.
403 Forbidden -- The kitten requested is hidden for administrators only.
404 Not Found -- The specified kitten could not be found.
405 Method Not Allowed -- You tried to access a kitten with an invalid method.
406 Not Acceptable -- You requested a format that isn't json.
410 Gone -- The kitten requested has been removed from our servers.
418 I'm a teapot.
429 Too Many Requests -- You're requesting too many kittens! Slow down!
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.

Termos de Uso da API

Ao utilizar a API do OW.Net Cloud, você concorda com os seguintes termos e condições:

  1. Credenciais de Acesso: As credenciais de acesso à API são exclusivas para o uso da sua empresa. Não compartilhe suas credenciais com terceiros.

  2. Uso Adequado: Utilize a API do OW.Net Cloud de acordo com a documentação fornecida. Não utilize a API para fins ilegais ou prejudiciais.

  3. Responsabilidade: Sua empresa é responsável por todas as atividades realizadas com suas credenciais de acesso.

  4. Segurança: Mantenha suas credenciais de acesso em segurança e protegidas contra acesso não autorizado.

  5. Limitação de Responsabilidade: A LS-Sistemas não se responsabiliza por quaisquer danos decorrentes do uso ou impossibilidade de uso da API.

  6. Revogação de Acesso: A LS-Sistemas se reserva o direito de revogar o acesso à API a qualquer momento, sem aviso prévio, em caso de violação destes termos.

Ao acessar e utilizar a API do OW.Net Cloud, você concorda em cumprir estes termos de uso. A LS-Sistemas se reserva o direito de atualizar ou modificar estes termos a qualquer momento. É responsabilidade da sua empresa revisar periodicamente estes termos para estar ciente de quaisquer alterações.