Skip to main content

Integração via webhook

Na integração via webhook, o sistema V2Saúde realiza o envio de notificações para um endereço especificado, utilizando uma estrutura de dados específica de acordo com o tipo de notificação.

Ativação de webhooks

Os webhooks podem ser ativados na página Cadastros > Empresa e preferências, na aba "Integrações".
É necessária a contratação do mõdulo de webhooks para utilizar esta função.

image-1737333886755.png

Ao clicar em "Gerenciar webhooks", a página de gerenciamento de webhooks será exibida. Nesta página é possível gerir as notificações configuradas para a empresa:

image-1737333968778.png

Clique em "Novo webhook" para cadastrar um novo webhook:


image-1737334004801.png

Escolha o tipo, a API Key e a URL do webhook.

Linhas gerais sobre o envio de webhooks

As seguintes informações se aplicam a todas as chamadas de webhook:

  1. O V2Saúde realiza chamadas POST para a URL especificada
  2. A API Key informada será enviada no cabeçalho (header) "Authorization" da requisição

Tipos de webhook

Os seguintes tipos de webhook são atualmente suportados.

Cadastro e alterações em cirurgias

Uma notificação é enviada sempre que uma cirurgia for inserida ou modificada no sistema.

Exemplo de payload da requisição:

[
    {
        "id": 583581,
        "cliente": {
            "id": 63387,
            "nome": "BRADESCO SAUDE - OPERADORA DE PLANOS S/A",
            "razaoSocial": "BRADESCO SAUDE - OPERADORA DE PLANOS S/A",
            "cnpj": "15.011.651/0001-54",
            "cpf": null
        },
      "responsavel": "MACHADO DE ASSIS",
      "paciente": "JOSE DE ALENCAR",
        "matriculaPaciente": "",
      "medico": "GRACILIANO RAMOS",
      "medicoCRM": "1234",
      "procedimento": "CIRURGIA DE QUADRIL",
      "data": "2025-01-01",
      "dataDeCadastro": "2025-01-01",
        "finalizada": false,
        "dataDeFinalizacao": null,
        "dataOrcamentoPos": null,
        "dataLiberacaoMaterial": null,
        "dataLimiteRetirada": null,
        "finalizadaPor": null,
        "observacao": "",
        "observacaoVale": "",
        "observacaoPos": null,
      "horaCirurgia": "14:30",
        "cancelada": false,
        "vendedor": {
            "id": null,
            "nome": null,
            "razaoSocial": null,
            "cnpj": null,
            "cpf": null
        },
        "hospital": {
            "id": 62707,
          "nome": "ALBERT EINSTEIN",
          "razaoSocial": "",
          "cnpj": "",
            "cpf": null
        },
        "convenio": {
            "id": 63387,
            "nome": "BRADESCO SAUDE - OPERADORA DE PLANOS S/A",
            "razaoSocial": "BRADESCO SAUDE - OPERADORA DE PLANOS S/A",
            "cnpj": "15.011.651/0001-54",
            "cpf": null
        },
        "codigoSus": "",
        "cirurgiaBaixada": false,
        "observacaoBaixa": null,
        "nota": null,
        "statusCotacao": "APROVADA",
        "procedimentoCirurgico": null,
        "numeroEmpenho": ""
    }
]

Os seguintes atributos fazem parte do payload da requisição

Atributo
Registro Pai
Tipo
Descrição
id

Número
Código da cirurgia
cliente

Pessoa (ver Registros Auxiliares)
Dados do cliente
responsavel
String Responsável pela cirurgia
paciente
String Nome do paciente
matriculaPaciente
String Matrícula do paciente
medico
String Nome do médico
medicoCRM
String
CRM do médico
procedimento
String
Descrição do procedimento
data
Date
Data da cirurgia
dataDeCadastro
DateTime
Data de cadastro
cadastradoPor
Pessoa (ver Registros Auxiliares) Usuário responsável pelo cadastro
finalizada
Boolean
Cirurgia finalizada?
dataDeFinalizacao
DateTime
Data da finalização
dataOrcamentoPos
DateTIme
Data do orçamento pś
dataLiberacaoMaterial
DateTime
Data da liberação do material
dataLimiteRetirada
DateTime
Data limite da retirada do material consignado
finalizadaPor
Pessoa (ver Registros Auxiliares) Usuário responsável pela finalização
observacao
String
Observações da cirurgia
observacaoVale
String
Observações do vale/consignação
observacaoPos
String
Observações do orçamento pós
horaCirurgia
Time
Hora da cirurgia
cancelada
Boolean
Cirurgia cancelada?
vendedor
Pessoa (ver Registros Auxiliares) Vendedor
hospital
Pessoa (ver Registros Auxiliares) Hospital
convenio
Pessoa (ver Registros Auxiliares) Convênio
codigoSus
String
Código SUS do procedimento
cirurgiaBaixada
Boolean
Cirurgia com pagamento cancelado/baixado?
observacaoBaixa
String
Observações da baixa
nota
Número
Número da nota fiscal de venda
statusCotacao
String
Status da cotação.
Os seguintes valores são suportados:

  • APROVADA
    Cotação aprovada

  • NAO_APROVADA
    Cotação não aprovada
  • EM_ANDAMENTO
    Aprovação em andamento
  • PERDIDA
    Cotação perdida
procedimentoCirurgico
String
Descrição do procedimento
numeroEmpenho
String
Número do empenho da licitação
Cadastro e alterações em orçamentos pré

Uma notificação é enviada quando o orçamento pré de uma cirurgia é alterado.

Exemplo de payload da requisição:

[
    {
        "id": 48391,
        "cirurgia": {
            "id": 142913,
            "cliente": {
              "id": 1234,
              "nome": "AMIL",
                "razaoSocial": null,
              "cnpj": "11.111.111/0001-11",
                "cpf": null
            },
          "responsavel": "AUGUSTO DOS ANJOS",
          "paciente": "CARLOS DRUMMOND DE ANDRADE",
            "matriculaPaciente": null,
          "medico": "VINICIUS DE MORAIS",
            "medicoCRM": "9196",
            "instrumentadoresAvulsos": null,
            "procedimento": "RESSECÇAO ENDOSCOPICA DA PROSTATA",
          "data": "2025-01-01",
          "dataDeCadastro": "2025-01-01",
            "finalizada": false,
            "dataDeFinalizacao": null,
            "dataOrcamentoPos": null,
            "dataLiberacaoMaterial": null,
            "dataLimiteRetirada": null,
            "finalizadaPor": null,
          "observacao": "",
            "observacaoVale": null,
            "observacaoPos": null,
          "horaCirurgia": "16:00",
            "cancelada": false,
            "vendedor": {
                "id": 1829,
              "nome": "NOME DO VENDEDOR",
                "razaoSocial": null,
                "cnpj": null,
                "cpf": null
            },
            "hospital": {
                "id": null,
                "nome": null,
                "razaoSocial": null,
                "cnpj": null,
                "cpf": null
            },
            "convenio": {
                "id": null,
                "nome": null,
                "razaoSocial": null,
                "cnpj": null,
                "cpf": null
            },
            "codigoSus": null,
            "cirurgiaBaixada": false,
            "observacaoBaixa": null,
            "nota": null,
            "statusCotacao": "APROVADA",
            "procedimentoCirurgico": null,
            "numeroEmpenho": null,
            "action": null
        },
        "cadastradoPor": {
            "id": 1747,
          "nome": "OPERADOR DO SISTEMA",
            "razaoSocial": null,
            "cnpj": null,
            "cpf": null
        },
        "aprovado": false,
      "data": "2025-01-01",
        "dataAprovacao": null,
        "observacoes": "",
        "desconto": 0,
        "itens": [
            {
                "id": 170011,
                "produto": {
                    "id": 235167,
                    "descricao": "CARGA  ARTICULADA ROXA P3H 45 MM",
                    "referenciaFabricante": "CADD45ENTS",
                    "registroAnvisa": "80940400003",
                    "codigoDeBarras": "1000001048024",
                    "fabricante": {
                        "id": 101565,
                        "nome": "PANTHER HEALTHCARE",
                        "razaoSocial": null,
                        "cnpj": null,
                        "cpf": null
                    }
                },
                "valor": 500,
                "desconto": 0,
                "quantidade": 1,
                "quantidadeAutorizada": 0,
                "quantidadeDoacao": 0
            }
        ]
    }
]

Os seguintes atributos fazem parte do payload da requisição:

Atributo
Registro Pai
Tipo
Descrição
id

Número
Código do orçamento
cirurgia

Cirurgia (ver Cadastro e alterações em cirurgias)
Dados da cirurgia
cadastradoPor

Pessoa
Usuário responsável pelo cadastro do orçamento
aprovado

Boolean
Aprovado?
data

Date
Data do orçamento
dataAprovacao
Date
Data de aprovação do orçamento
observacoes
String
Observações do orçamento
desconto
Número
Valor do desconto
itens
Objeto
Itens do orçamento
id
itens
Número
Código do orçamento
produto
itens
Produto
Dados do produto
valor
itens
Número
Valor unitário
desconto
itens
Desconto
Valor do desconto
quantidade
itens
Número
Quantidade
quantidadeAutorizada
itens
Número
Quantidade autorizada
quantidadeDoacao itens
Número
Quantidade que não deve ser faturada (doada)

Registros auxiliares

Pessoa
Atributo
Registro Pai
Tipo
Descrição
id

Número
Código
nome

String
Nome
razaoSocial

String
Razão social
cnpj

String
CNPJ
cpf

String
CPF
Produto
Atributo
Registro Pai
Tipo
Descrição
id

Número
Código
descricao
String
Descrição
referenciaFabricante
String
Referência do fabricante
registroAnvisa
String
Número do registro na Anvisa
codigoDeBarras
String
Código de barras
fabricante

Pessoa
Dados do fabricante