Rest API
To ease the integration with external sources (software or other), MedVet provides a REST API.
Using this API requires an authentication.
Only a token based authentication is supported. To get a valid token, log-in to your instance with a super administrator user, go to Preferences > Account Security > Developer API Keys and activate the New API Key. Press the Create button and wait until the page is reloaded, the token will be displayed.
Authentication
To make valid API calls, every requests you send must embed token within an Authorization HTTP header like this:
Authorization: 'YOUR_TOKEN'
and the content type of those requests must be application/json.
AUTHORIZATION |
|
---|---|
Key | Authorization |
Value | 'YOUR_TOKEN' |
GET getUpdatedProducts
https://medvet.dgav.pt/api/getUpdatedProducts
import requests url = "https://medvet.dgav.pt/api/getUpdatedProducts" payload = "{\"jsonrpc\":2.0,\"params\":{\"date\":\"2022-09-09\"}}" headers = {} response = requests.request("GET", url, headers=headers, data=payload) print(response.text)
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://medvet.dgav.pt/api/getUpdatedProducts', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_POSTFIELDS =>'{"jsonrpc":2.0,"params":{"date":"2022-09-09"}}', )); $response = curl_exec($curl); curl_close($curl); echo $response;
require "uri" require "net/http" url = URI("https://medvet.dgav.pt/api/getUpdatedProducts") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Get.new(url) request.body = "{\"jsonrpc\":2.0,\"params\":{\"date\":\"2022-09-09\"}}" response = https.request(request) puts response.read_body
GET getProductByName
https://medvet.dgav.pt/api/getProductByName
import requests url = "https://medvet.dgav.pt/api/getProductByName" payload = "{\"jsonrpc\":2.0,\"params\":{\"name\":\"Acalma\"}}" headers = {} response = requests.request("GET", url, headers=headers, data=payload) print(response.text)
Example Response - Body
{ "jsonrpc": "2.0", "id": null, "result": [ { "id": 3842, "Nome": "Acalma® comprimidos para cães e gatos", "Titular": "Laboratoires Moureau (ARRIGONI Patrice)", "NIF": "", "Categoria": { "ab": false, "pm": false, "pe": false }, "Regime de Dispensa": "MSRMV", "CUMV": "7448860", "AIM": "756/01/14NFVPT", "ATCvet": "QR06AB54", "Substancias Activas": [ { "Nome": "Cloridrato de Hidroxizina", "Op": "=", "Dosagem": 25, "Dosagem Min.": "", "Dosagem Max": "", "UOM": "mg", "Equivalencia": "" }, { "Nome": "Maleato De Clorfeniramina", "Op": "=", "Dosagem": 1, "Dosagem Min.": "", "Dosagem Max": "", "UOM": "mg", "Equivalencia": "" } ], "Substancias Activas Info": "", "RCMV": "Cada comprimido contém:", "UOM": "Comprimido", "Categoria UOM": "Unit", "Estado": "Autorizado", "Forma Farmacêutica": [ { "Tipo": "Comprimido", "Aspecto": "Comprimidos vermelhos revestidos por película.", "Apresentações": [ "Caixa de 16 Comprimidos" ] } ], "Variantes": [ { "name": "Acalma® comprimidos para cães e gatos", "display_name": "[7448860] Acalma® comprimidos para cães e gatos (Caixa de 16 Comprimidos)", "default_code": "756/01/14NFVPT", "barcode": "7448860", "commercial_state": "commercialized", "measure": 16, "Atributo": [ { "atribute_id": "Comprimido", "name": "Caixa de 16 Comprimidos" } ], "Categoria UOM": "Unit", "UOM": "Comprimido" } ], "Especies": [ { "Nome": "Gatos" }, { "Nome": "Cães" } ], "Indicações": [ { "Especie(s) Alvo": [ "Gatos", "Cães" ], "Indicação": "<p style=\"text-align: justify; \">O medicamento veterinário está indicado no tratamento de dermatites eczematiformes e no\ntratamento sintomático de processos pruriginosos na pele de cães e gatos.<br></p>", "Tipo": [ "Dermatites Eczematiformes" ] } ], "Contra-Indicações": [ { "Especie(s) Alvo": [ "Gatos", "Cães" ], "Contra-Indicações Clinicas": "<p style=\"text-align: justify; \">Não administrar a fêmeas gestantes e em lactação</p><p style=\"text-align: justify; \">Não administrar a animais com insuficiência cardíaca (devido a um risco de taquicardia)</p><p style=\"text-align: justify; \">Não administrar em caso de Glaucoma,</p><p style=\"text-align: justify; \">Não administrar a animais muito jovens (menos de 6 meses) ou muito idosos,</p><p style=\"text-align: justify; \">Não administrar a animais com insuficiência renal ou hepática grave,</p><p style=\"text-align: justify; \">Não administrar a animais com hipersensibilidade conhecida às substancias activas e aos excipientes.</p>", "Tipo": [ "Animais menos de 6 meses", "Animais de lactação", "Animais gestantes", "Insuficiência cardíaca", "Glaucoma", "Insuficiência hepática", "Insuficiência renal", "Não administrar em caso de hipersensibilidade à (s) substância (s) ativa (s) ou a qualquer excipiente." ] } ], "Advertências Especiais": [ { "Especie(s) Alvo": [ "Gatos", "Cães" ], "Advertências Especiais": "Não foram assinaladas outras advertências para além das já assinaladas nas 4.5-“Precauções especiais de utilização”." } ], "Precauções Especiais": "<p style=\"text-align: justify;\"><b>Precauções especiais para utilização em animais</b></p><p style=\"text-align: justify;\">Respeitar a posologia. Não utilizar em fêmeas gestantes.</p><p style=\"text-align: justify;\">O medicamento veterinário possui alguns efeitos teratogénicos, ligados ao metabolismo do\ncloridrato de hidroxizina, bem como de toxicidade fetal com doses elevadas.</p><p style=\"text-align: justify;\"><br></p><p style=\"text-align: justify;\"><b>Precauções especiais a adotar pela pessoa que administra o medicamento aos animais </b></p><p style=\"text-align: justify;\">As pessoas com hipersensibilidade conhecida à substância ativa devem evitar o contacto com\no medicamento veterinário.</p><p style=\"text-align: justify;\">Em caso de acidente contactar o centro Anti Venenos tel: 808250143 \n<b></b><br></p>", "Reacções Adversas Info": "<p style=\"text-align: justify; \">Possibilidade de ocorrência das seguintes situações: </p><ul><li><p style=\"text-align: justify; \">Distúrbios nervosos possíveis sedação ou sonolência ou, mais raramente: inquietação.</p></li><li><p style=\"text-align: justify; \">Efeitos anticolinérgicos: obstipação, visão turva, midríase, taquicardia, retenção urinária.</p></li><li><p style=\"text-align: justify; \">Incoordenação motora, tremores.</p></li><li><p style=\"text-align: justify; \">Reações alérgicas.<br></p></li></ul>", "Reacções Adversas": [], "Utilização": "<p style=\"text-align: justify;\">Devido à ausência de estudos de teratogenicidade e embriotoxicidade em carnívoros e tendo em conta os riscos de distúrbios nervosos em recém-nascidos, a administração do medicamento veterinário deve ser evitada em fêmeas gestantes.\n</p><p style=\"text-align: justify;\">As substâncias ativas são excretados no leite, deste modo a administração do medicamento veterinário deve ser evitada durante a lactação.</p>", "Interações": "<p style=\"text-align: justify;\">Atropina: adição de efeitos colaterais atropina-como retenção urinária, constipação, boca seca. </p><p style=\"text-align: justify;\">Sedativos: aumento do risco de depressão respiratória.</p>", "Posologia": "<p>O medicamento veterinário é administrado por via oral directamente ou misturado no alimento,\nnuma toma diária única, segundo o esquema posológico seguinte:\n</p><p>- Gatos e cães de raça anã (menos de 5 kg de peso): ½ comprimido diário.\n</p><p>- Gatos e cães de pequeno porte (5 a 10 kg de peso): 1 comprimido diário.\n</p><p>- Cães de médio porte (10 a 15 kg de peso): 1 a 2 comprimidos.\n</p><p>- Cães de grande porte (mais de 15 kg de peso): 2 a 3 comprimidos diários.\n</p><p>Estas doses podem, regra geral, ser administradas durante 8 dias, podendo, segundo critério do\nclínico, ser prolongado até aos 15 dias.<br></p>", "Dosagem": [ { "Especie(s) Alvo": [ "Gatos" ], "Min": 0.5, "Max": 1, "Unidade de Medida (de)": "Comprimido", "Unidade de Medida (por)": "Animal", "Via de Administração": "Via oral", "Uso": "" }, { "Especie(s) Alvo": [ "Cães" ], "Min": 0.5, "Max": 3, "Unidade de Medida (de)": "Comprimido", "Unidade de Medida (por)": "Animal", "Via de Administração": "Via oral", "Uso": "" } ], "PMVA": [], "Sobredosagem": "<p style=\"text-align: justify;\">Os sintomas observados em casos de sobredosagem incluem vômitos, taquicardia, sonolência, visão turva, tremores, confusão, alucinações, e, por vezes, perda de consciência ou coma, depressão respiratória, convulsões, hipotensão, arritmias cardíacas, ou parada cardiorrespiratória.</p>", "Intervalo de Segurança": [], "Notas": false, "Outras": "<p>Não aplicável.</p>", "Propriedades Farmacodinamicas": "<p style=\"text-align: justify;\">\n\nGrupo Farmacoterapeutico: anti-histamínico sistémico clorfeniramina em combinação.\nCodigo ATC-vet : QR06AB54. </p><p style=\"text-align: justify;\"><br></p><p style=\"text-align: justify;\">O medicamento veterinário possui dois tipos de acções farmacológicas correspondentes aos seus dois princípios activos que, além de uma acção individual, actuam como potencializadores um do outro, assim:\n</p><p style=\"text-align: justify;\"><br></p><p style=\"text-align: justify;\">O maleato de clorfeniramina, é um anti-histamínico H1, que se caracterizada por um efeito sedativo de origem histaminérgica e adrenolitica central, um efeito anticolinérgico e um efeito de bloqueio adrenolitico periférico.\n</p><p style=\"text-align: justify;\"><br></p><p style=\"text-align: justify;\">O cloridrato de hidroxizina é um derivado da piperazina quimicamente não relacionada. Seu efeito anti-histamínico é completado por uma acção sedativa central não-hipnóticas e periférica ao nível das terminações nervosas favorecendo apaziguamento prurido.\n</p>", "Propriedades Farmacocinéticas": "<p style=\"text-align: justify;\">A hidroxizina é rapidamente absorvido a partir do tracto gastrointestinal. As concentrações plasmáticas máximas são atingidas cerca de 2 horas após a administração. Tem uma ampla distribuição na pele e atravessa a barreira hematoencefálica. É extensivamente metabolizado no fígado através de oxidação a vários metabolitos incluindo cetirizina, o metabolito activo.\n</p><p style=\"text-align: justify;\">Os metabolitos de hidroxizina são essencialmente eliminados por via renal. A semi-vida de hidroxizina é de cerca de 13 a 20 horas em adultos. É mais curto nos jovens e aumenta nos idosos, explicando a necessidade de ajuste de dose. A semi-vida da hidroxizina aumenta em caso de insuficiência hepática. Na insuficiência renal, a semi-vida da hidroxizina é pouco alterada, mas a depuração renal de cetirizina é muito lenta.\n</p><p style=\"text-align: justify;\">A biodisponibilidade da clorfeniramina é entre 25 e 50%. Existe um importante metabolismo de primeira passagem.\n</p><p style=\"text-align: justify;\">O tempo para atingir a concentração plasmática máxima é de 2 a 6 horas, mas o efeito é máximo 6 horas após a toma. A duração do efeito varia de 4 a 8 horas. </p><p style=\"text-align: justify;\">A clorfeniramina atravessa a placenta e é excretada no leite materno. O seu metabolismo é efectuado a nível do fígado e conduz a um metabolito inactivo por desmetilação.\n</p><p style=\"text-align: justify;\">A sua eliminação é renal sob a forma inalterada ou metabolizada.</p>", "Impacto Ambiental": "<p><br></p>", "Excipientes": [ { "Tipo de Produto": "Produto", "Nome": "Lactose", "Função": "100000072082", "Designação": "", "Dosagem": "", "Unidade de Medida": "", "Tipo de Seção 2 RCMV": "" }, { "Tipo de Produto": "Produto", "Nome": "Talco", "Função": "100000072082", "Designação": "", "Dosagem": "", "Unidade de Medida": "", "Tipo de Seção 2 RCMV": "" }, { "Tipo de Produto": "Produto", "Nome": "Estearato de magnésio", "Função": "100000072082", "Designação": "", "Dosagem": "", "Unidade de Medida": "", "Tipo de Seção 2 RCMV": "" }, { "Tipo de Produto": "Produto", "Nome": "Bálsamo de Tolu para verniz", "Função": "100000072082", "Designação": "", "Dosagem": "", "Unidade de Medida": "", "Tipo de Seção 2 RCMV": "" }, { "Tipo de Produto": "Produto", "Nome": "Goma laca", "Função": "100000072082", "Designação": "", "Dosagem": "", "Unidade de Medida": "", "Tipo de Seção 2 RCMV": "" }, { "Tipo de Produto": "Produto", "Nome": "Goma arábica", "Função": "100000072082", "Designação": "", "Dosagem": "", "Unidade de Medida": "", "Tipo de Seção 2 RCMV": "" }, { "Tipo de Produto": "Produto", "Nome": "Glucose", "Função": "100000072082", "Designação": "", "Dosagem": "", "Unidade de Medida": "", "Tipo de Seção 2 RCMV": "" }, { "Tipo de Produto": "Produto", "Nome": "Eritrosina", "Função": "100000072082", "Designação": "", "Dosagem": "", "Unidade de Medida": "", "Tipo de Seção 2 RCMV": "" }, { "Tipo de Produto": "Produto", "Nome": "Cera", "Função": "100000072082", "Designação": "", "Dosagem": "", "Unidade de Medida": "", "Tipo de Seção 2 RCMV": "" } ], "Incompatibilidades": "<p>Na ausência de estudos de compatibilidade, este medicamento veterinário não deve ser misturado com outros medicamentos veterinários.</p>", "Validade": [ { "Intervalo": "PVM", "Valor": 4, "Unidade": "Anos" }, { "Intervalo": "PVA", "Valor": 0, "Unidade": "Horas" } ], "Conservação": "<p style=\"text-align: justify;\">Conservar a temperatura a 25Cº e proteger da humidade.\n</p><p style=\"text-align: justify;\">Não utilizar depois de expirar o prazo de validade indicado na embalagem. </p><p style=\"text-align: justify;\">MANTER FORA DO ALCANCE E DA VISTA DAS CRIANÇAS.</p>", "Acondicionamento": "<p>O medicamento veterinário apresenta-se acondicionado em frasco de plástico de polietileno de\nalta densidade de cor branca, com tampa inviolável de polietileno de baixa densidade, contendo\n16 comprimidos e embalado em cartonagem apropriada.<br></p>", "Eliminação": "<p style=\"text-align: justify;\">O medicamento veterinário não utilizado ou os seus desperdícios devem ser eliminados de acordo com os requisitos nacionais.\n</p>" } ] }
Example Response - Header
Date: Wed, 12 Oct 2022 15:27:14 GMT Server: Werkzeug/0.16.1 Python/3.9.2 Content-Type: application/json Content-Length: 13446 Set-Cookie: session_id=ab8bae92948c6433d0a6bf83743676430b451de5; Expires=Thu, 13-Oct-2022 15:27:14 GMT; Max-Age=86400; Path=/ Keep-Alive: timeout=5, max=100 Connection: Keep-Alive
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://medvet.dgav.pt/api/getProductByName', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_POSTFIELDS =>'{"jsonrpc":2.0,"params":{"name":"Acalma"}}', )); $response = curl_exec($curl); curl_close($curl); echo $response;
require "uri" require "net/http" url = URI("https://medvet.dgav.pt/api/getProductByName") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Get.new(url) request.body = "{\"jsonrpc\":2.0,\"params\":{\"name\":\"Acalma\"}}" response = https.request(request) puts response.read_body
GET getProductByAIM
https://medvet.dgav.pt/api/getProductByAIM
import requests url = "https://medvet.dgav.pt/api/getProductByAIM" payload = "{\"jsonrpc\":2.0,\"params\":{\"AIM\":\"756/01/14NFVPT\"}}" headers = {} response = requests.request("GET", url, headers=headers, data=payload) print(response.text)
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://medvet.dgav.pt/api/getProductByAIM', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_POSTFIELDS =>'{"jsonrpc":2.0,"params":{"AIM":"756/01/14NFVPT"}}', )); $response = curl_exec($curl); curl_close($curl); echo $response;
require "uri" require "net/http" url = URI("https://medvet.dgav.pt/api/getProductByAIM") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Get.new(url) request.body = "{\"jsonrpc\":2.0,\"params\":{\"AIM\":\"756/01/14NFVPT\"}}" response = https.request(request) puts response.read_body
GET getProductByEntity
https://medvet.dgav.pt/api/getProductByEntity
import requests url = "https://medvet.dgav.pt/api/getProductByEntity" payload = "{\"jsonrpc\":2.0,\"params\":{\"entity\":\"Laboratoires\"}}" headers = {} response = requests.request("GET", url, headers=headers, data=payload) print(response.text)
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://medvet.dgav.pt/api/getProductByEntity', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_POSTFIELDS =>'{"jsonrpc":2.0,"params":{"entity":"Laboratoires"}}', )); $response = curl_exec($curl); curl_close($curl); echo $response;
require "uri" require "net/http" url = URI("https://medvet.dgav.pt/api/getProductByEntity") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Get.new(url) request.body = "{\"jsonrpc\":2.0,\"params\":{\"entity\":\"Laboratoires\"}}" response = https.request(request) puts response.read_body
GET getProductBySpeciesApi
https://medvet.dgav.pt/api/getProductBySpeciesApi
import requests url = "https://medvet.dgav.pt/api/getProductBySpeciesApi" payload = "{\"jsonrpc\":2.0,\"params\":{\"specie\":\"Gatos\"}}" headers = {} response = requests.request("GET", url, headers=headers, data=payload) print(response.text)
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://medvet.dgav.pt/api/getProductBySpeciesApi', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_POSTFIELDS =>'{"jsonrpc":2.0,"params":{"specie":"Gatos"}}', )); $response = curl_exec($curl); curl_close($curl); echo $response;
require "uri" require "net/http" url = URI("https://medvet.dgav.pt/api/getProductBySpeciesApi") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Get.new(url) request.body = "{\"jsonrpc\":2.0,\"params\":{\"specie\":\"Gatos\"}}" response = https.request(request) puts response.read_body
GET getProductByActiveSubs
https://medvet.dgav.pt/api/getProductByActiveSubs
import requests url = "https://medvet.dgav.pt/api/getProductByActiveSubs" payload = "{\"jsonrpc\":2.0,\"params\":{\"substance\":\"Cloridrato de Hidroxizina\"}}" headers = {} response = requests.request("GET", url, headers=headers, data=payload) print(response.text)
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://medvet.dgav.pt/api/getProductByActiveSubs', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_POSTFIELDS =>'{"jsonrpc":2.0,"params":{"substance":"Cloridrato de Hidroxizina"}}', )); $response = curl_exec($curl); curl_close($curl); echo $response;
require "uri" require "net/http" url = URI("https://medvet.dgav.pt/api/getProductByActiveSubs") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Get.new(url) request.body = "{\"jsonrpc\":2.0,\"params\":{\"substance\":\"Cloridrato de Hidroxizina\"}}" response = https.request(request) puts response.read_body