Servidor MCP

WebDiet

io.github.mcp-dir/webdiet-mcp
Negocio y operaciones Salud Público y accesible MCP 2025-11-25

Qué hace este MCP

Manages dietitian workflows including patients, anamnesis, anthropometry, nutrition calculations, meal data, prescriptions, appointments and practice finances.

authenticate
MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "<jwt>" } after the user pastes, or with no args to get the link.
Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'token': {'type': 'string'}}}
connect
Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
marketplace
The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'number', 'default': 10}, 'query': {'type': 'string', 'default': ''}, 'action': {'enum': ['search', 'describe', 'install', 'uninstall', 'subscribe', 'cancel', 'resume', 'report_bug', 'request_mcp', 'list_tools', 'invoke', 'search_prompts', 'get_prompt', 'publish_prompt'], 'type': 'string', 'default': 'search'}, 'mcp_id': {'type': 'string', 'default': ''}, 'message': {'type': 'string', 'default': ''}, 'tool_id': {'type': 'string', 'default': ''}, 'arguments': {'type': 'string', 'default': '{}'}, 'immediate': {'type': 'boolean', 'default': False}, 'tier_slug': {'type': 'string', 'default': ''}, 'prompt_body': {'type': 'string', 'default': ''}, 'prompt_slug': {'type': 'string', 'default': ''}, 'prompt_tool': {'type': 'string', 'default': ''}, 'prompt_vars': {'type': 'string', 'default': '{}'}, 'conversation': {'type': 'string', 'default': '[]'}, 'prompt_title': {'type': 'string', 'default': ''}, 'request_name': {'type': 'string', 'default': ''}, 'cancel_reason': {'enum': ['too_expensive', 'missing_features', 'switched_service', 'unused', 'customer_service', 'too_complex', 'low_quality', 'other'], 'type': 'string'}, 'cancel_comment': {'type': 'string', 'default': ''}, 'prompt_targets': {'type': 'array', 'items': {'enum': ['claude', 'chatgpt', 'cursor', 'lovable'], 'type': 'string'}, 'default': []}, 'report_context': {'type': 'string', 'default': ''}, 'prompt_category': {'type': 'string', 'default': ''}, 'request_details': {'type': 'string', 'default': ''}, 'prompt_description': {'type': 'string', 'default': ''}}}
report_bug
Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['message'], 'properties': {'context': {'type': 'string', 'default': ''}, 'message': {'type': 'string'}, 'conversation': {'type': 'string', 'default': '[]'}}}
show_version
Show the current MCP platform and adapter versions.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
toolkit_info
Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
webdiet_anamnese
List all anamnesis records for a WebDiet patient WITH the full Q/A content. Each item carries: - id, titulo, data - texto → plain-text Q/A (readable, line-broken — best for AI consumption / RAG) - texto_html → original HTML (<b>...</b><br>...) preserved for rich rendering - interpretacao / interpretacao_html → nutritionist's notes when present WebDiet stores the answers as URL-encoded HTML (<b>question</b><br>answer<br><br>); this tool decodes both representations so the agent can read e.g. food frequency, complaints, goals, allergies for the patient. For pre-consultation questionnaire responses NOT yet linked to a patient, use webdiet_preconsulta action=list_responses. Bulk support: accepts patient_ids for batched execution.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id'], 'properties': {'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}}}
webdiet_anamnese_delete
Permanently delete an anamnesis record in WebDiet. Irreversible. Bulk support: accepts patient_ids, anamnese_ids for batched execution.
Destructivo
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id', 'anamnese_id'], 'properties': {'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'anamnese_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'anamnese_ids': {'type': 'array', 'items': {'type': 'string'}}}}
webdiet_anamnese_write_duplicate
Create / update anamnesis records in WebDiet. Actions: save (create or update — anamnese_id empty = new), save_interpretation (save AI/nutritionist interpretation), duplicate (copy existing record). For destructive removal use webdiet_anamnese_delete. [Flattened action: duplicate] Bulk support: accepts patient_ids, anamnese_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id'], 'properties': {'texto': {'type': 'string', 'default': ''}, 'titulo': {'type': 'string', 'default': ''}, 'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'anamnese_id': {'type': 'string', 'default': ''}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'anamnese_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}, 'interpretacao': {'type': 'string', 'default': ''}}}
webdiet_anamnese_write_save
Create / update anamnesis records in WebDiet. Actions: save (create or update — anamnese_id empty = new), save_interpretation (save AI/nutritionist interpretation), duplicate (copy existing record). For destructive removal use webdiet_anamnese_delete. [Flattened action: save] Bulk support: accepts patient_ids, anamnese_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id'], 'properties': {'texto': {'type': 'string', 'default': ''}, 'titulo': {'type': 'string', 'default': ''}, 'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'anamnese_id': {'type': 'string', 'default': ''}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'anamnese_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}, 'interpretacao': {'type': 'string', 'default': ''}}}
webdiet_anamnese_write_save_interpretation
Create / update anamnesis records in WebDiet. Actions: save (create or update — anamnese_id empty = new), save_interpretation (save AI/nutritionist interpretation), duplicate (copy existing record). For destructive removal use webdiet_anamnese_delete. [Flattened action: save_interpretation] Bulk support: accepts patient_ids, anamnese_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id'], 'properties': {'texto': {'type': 'string', 'default': ''}, 'titulo': {'type': 'string', 'default': ''}, 'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'anamnese_id': {'type': 'string', 'default': ''}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'anamnese_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}, 'interpretacao': {'type': 'string', 'default': ''}}}
webdiet_antropometria_get
Read anthropometry (body measurement) records for a WebDiet patient. Actions: list (all records with id, date, type, direct URL), get (full measurements from a specific record including weight, height, skinfolds, circumferences, bioimpedance, BMI, body fat %, classifications + direct URL). Each record includes a "url" field with the direct link to the record in WebDiet (e.g. https://pt.webdiet.com.br/painel/v4/antropometria.php?id=...). Use this to analyze patient body composition evolution over time. For creating/saving records, use webdiet_create_antropometria + webdiet_save_antropometria. [Flattened action: get] Bulk support: accepts patient_ids, antropometria_ids for batched execution.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'antropometria_id': {'type': 'string'}, 'antropometria_ids': {'type': 'array', 'items': {'type': 'string'}}}}
webdiet_antropometria_list
Read anthropometry (body measurement) records for a WebDiet patient. Actions: list (all records with id, date, type, direct URL), get (full measurements from a specific record including weight, height, skinfolds, circumferences, bioimpedance, BMI, body fat %, classifications + direct URL). Each record includes a "url" field with the direct link to the record in WebDiet (e.g. https://pt.webdiet.com.br/painel/v4/antropometria.php?id=...). Use this to analyze patient body composition evolution over time. For creating/saving records, use webdiet_create_antropometria + webdiet_save_antropometria. [Flattened action: list] Bulk support: accepts patient_ids, antropometria_ids for batched execution.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'antropometria_id': {'type': 'string'}, 'antropometria_ids': {'type': 'array', 'items': {'type': 'string'}}}}
webdiet_calculo_energetico_delete
Permanently delete an energy expenditure calculation. Irreversible. Bulk support: accepts calculo_ids for batched execution.
Destructivo
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['calculo_id'], 'properties': {'account': {'type': 'string'}, 'calculo_id': {'type': 'string'}, 'calculo_ids': {'type': 'array', 'items': {'type': 'string'}}}}
webdiet_calculo_energetico_get
Read energy expenditure calculations (Cálculo Energético) in WebDiet. Actions: list (all calculations for a patient), get (load saved data). Results: TMB (basal metabolic rate), GET (total energy expenditure) in Kcal/dia and Kcal/kg. [Flattened action: get] Bulk support: accepts patient_ids, calculo_ids for batched execution.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'account': {'type': 'string'}, 'calculo_id': {'type': 'string', 'default': ''}, 'patient_id': {'type': 'string'}, 'calculo_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}}}
webdiet_calculo_energetico_list
Read energy expenditure calculations (Cálculo Energético) in WebDiet. Actions: list (all calculations for a patient), get (load saved data). Results: TMB (basal metabolic rate), GET (total energy expenditure) in Kcal/dia and Kcal/kg. [Flattened action: list] Bulk support: accepts patient_ids, calculo_ids for batched execution.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'account': {'type': 'string'}, 'calculo_id': {'type': 'string', 'default': ''}, 'patient_id': {'type': 'string'}, 'calculo_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}}}
webdiet_calculo_energetico_write_create
Create / update energy expenditure calculations in WebDiet. Actions: create (new calculation), save (update existing calculation). Supports 24+ formulas: Harris-Benedict 1919/1984, FAO/WHO 2004, EER/IOM 2005, EER 2023, Katch-McArdle 1996, Cunningham 1980, Mifflin-St Jeor 1990, and more. Activity factors: 1.0 (none), 1.2 (sedentary), 1.375 (light), 1.55 (moderate), 1.725 (intense), 1.9 (very intense). Injury factors: 1.0 (none) up to 2.0 (burns 70-90%). [Flattened action: create] Bulk support: accepts patient_ids, calculo_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id'], 'properties': {'mlg': {'type': 'string', 'default': ''}, 'nome': {'type': 'string', 'default': 'Cálculo Energético'}, 'peso': {'type': 'string', 'default': ''}, 'altura': {'type': 'string', 'default': ''}, 'account': {'type': 'string'}, 'formula': {'type': 'string', 'default': ''}, 'calculo_id': {'type': 'string', 'default': ''}, 'patient_id': {'type': 'string'}, 'calculo_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'fator_injuria': {'type': 'string', 'default': '1.000'}, 'fator_atividade': {'type': 'string', 'default': '1.200'}}}
webdiet_calculo_energetico_write_save
Create / update energy expenditure calculations in WebDiet. Actions: create (new calculation), save (update existing calculation). Supports 24+ formulas: Harris-Benedict 1919/1984, FAO/WHO 2004, EER/IOM 2005, EER 2023, Katch-McArdle 1996, Cunningham 1980, Mifflin-St Jeor 1990, and more. Activity factors: 1.0 (none), 1.2 (sedentary), 1.375 (light), 1.55 (moderate), 1.725 (intense), 1.9 (very intense). Injury factors: 1.0 (none) up to 2.0 (burns 70-90%). [Flattened action: save] Bulk support: accepts patient_ids, calculo_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id'], 'properties': {'mlg': {'type': 'string', 'default': ''}, 'nome': {'type': 'string', 'default': 'Cálculo Energético'}, 'peso': {'type': 'string', 'default': ''}, 'altura': {'type': 'string', 'default': ''}, 'account': {'type': 'string'}, 'formula': {'type': 'string', 'default': ''}, 'calculo_id': {'type': 'string', 'default': ''}, 'patient_id': {'type': 'string'}, 'calculo_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'fator_injuria': {'type': 'string', 'default': '1.000'}, 'fator_atividade': {'type': 'string', 'default': '1.200'}}}
webdiet_create_antropometria
Create a new body measurement record for a patient. Returns the record ID needed for webdiet_save_antropometria. Types: adulto (adult), infantil (child), gestacional (pregnancy). Bulk support: accepts patient_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id'], 'properties': {'data': {'type': 'string', 'default': ''}, 'tipo': {'enum': ['adulto', 'infantil', 'gestacional'], 'type': 'string', 'default': 'adulto'}, 'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}}}
webdiet_financeiro_categories
Read financial records (payments, receipts) in WebDiet. Actions: list (all records in date range — defaults to last 30 days), categories (get available categories for income/expense). Each record includes: id, nome, tipo (entrada=income, saida=expense), categoria, valor, data, observacao, recibo status, and recibo_url when receipt was generated. Use inicio/fim in YYYYMMDDHHmm format to filter by date range (e.g. "202604010000" to "202604302359" for April 2026). [Flattened action: categories]
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'fim': {'type': 'string', 'default': ''}, 'tipo': {'enum': ['entrada', 'saida'], 'type': 'string', 'default': 'entrada'}, 'inicio': {'type': 'string', 'default': ''}, 'account': {'type': 'string'}}}
webdiet_financeiro_delete
Permanently delete a financial record. Irreversible. Bulk support: accepts financeiro_ids for batched execution.
Destructivo
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['financeiro_id'], 'properties': {'account': {'type': 'string'}, 'financeiro_id': {'type': 'string'}, 'financeiro_ids': {'type': 'array', 'items': {'type': 'string'}}}}
webdiet_financeiro_list
Read financial records (payments, receipts) in WebDiet. Actions: list (all records in date range — defaults to last 30 days), categories (get available categories for income/expense). Each record includes: id, nome, tipo (entrada=income, saida=expense), categoria, valor, data, observacao, recibo status, and recibo_url when receipt was generated. Use inicio/fim in YYYYMMDDHHmm format to filter by date range (e.g. "202604010000" to "202604302359" for April 2026). [Flattened action: list]
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'fim': {'type': 'string', 'default': ''}, 'tipo': {'enum': ['entrada', 'saida'], 'type': 'string', 'default': 'entrada'}, 'inicio': {'type': 'string', 'default': ''}, 'account': {'type': 'string'}}}
webdiet_financeiro_write
Create financial records in WebDiet. tipo: "entrada" for income (e.g. consultation payment received), "saida" for expense. Default income categories: Consulta, Retorno. Default expense categories: Internet, Aluguel. Use nova_cat to create a custom category. valor format: use comma for decimals (e.g. "300,00" or "150,50"). forma: payment method (e.g. Pix, Dinheiro, Cartão de crédito, Transferência). parcelas: number of installments (default 1). For installments, dataCobranca is the first billing date. For destructive delete use webdiet_financeiro_delete. Bulk support: accepts patient_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id', 'valor'], 'properties': {'cpf': {'type': 'string', 'default': ''}, 'data': {'type': 'string', 'default': ''}, 'nome': {'type': 'string'}, 'tipo': {'enum': ['entrada', 'saida'], 'type': 'string', 'default': 'entrada'}, 'forma': {'type': 'string', 'default': ''}, 'valor': {'type': 'string'}, 'account': {'type': 'string'}, 'horario': {'type': 'string', 'default': ''}, 'nova_cat': {'type': 'string', 'default': ''}, 'parcelas': {'type': 'string', 'default': '1'}, 'categoria': {'type': 'string', 'default': 'Consulta'}, 'observacao': {'type': 'string', 'default': ''}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'dataCobranca': {'type': 'string', 'default': ''}}}
webdiet_food_search
Search WebDiet food database for numeric food ids (needed for full macros in Convencional / metodoPlanning prescriptions). Uses the same data source as the panel (carregarAlimentosAvulsos.php): the full catalog is cached per MCP session and filtered client-side (min 3 characters in keyword, same as the planning UI). Returns id, nome, grupo, origem, macros (kcal, proteinas, lipidios, carboidratos, fibras), and medidas_caseiras with gram weights.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['keyword'], 'properties': {'limite': {'type': 'number', 'default': 25}, 'account': {'type': 'string'}, 'keyword': {'type': 'string'}}}
webdiet_get_consultations
Load food diary entries, meal reactions, attachments, or orientations for a patient. Use tipo to select: diario (food diary), reacoes (meal reactions), anexos (attachments), orientacoes (guidelines/orientations sent to patient). Bulk support: accepts patient_ids for batched execution.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id'], 'properties': {'tipo': {'enum': ['diario', 'reacoes', 'anexos', 'orientacoes'], 'type': 'string', 'default': 'diario'}, 'limite': {'type': 'number', 'default': 50}, 'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}}}
webdiet_get_planner
Load the nutritionist's calendar/agenda for a date: appointments, overdue tasks, birthdays, events. Defaults to today.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'default': ''}, 'account': {'type': 'string'}}}
webdiet_get_upload_command
Returns a ready-to-run curl command that uploads a file directly to the server without reading it into context. RECOMMENDED for large files (images, PDFs, lab results). The flow: 1. Call this tool with the file_path the user provided 2. Execute the returned curl command in your code execution sandbox (or tell the user to run it) 3. The command returns a JSON with a "code" (e.g. "file-a1b2c3d4") 4. Call webdiet_upload_anexo with upload_code=that_code to attach it to the patient This avoids loading large file contents into the conversation context.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['file_path'], 'properties': {'account': {'type': 'string'}, 'file_name': {'type': 'string', 'default': ''}, 'file_path': {'type': 'string'}}}
webdiet_list_accounts
List all WebDiet accounts linked to this install. Returns each account's id, email, label, and an "is_default" flag (true when only one is linked — no need to pass `account` in other tools). When the user wants to add another WebDiet account, return `add_account_url` (no payload) como link clicável — abre o form de login no dashboard.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'account': {'type': 'string'}}}
webdiet_list_anexos
Load educational slides or cloud file attachments. Use laminasAnexos for educational slides/laminas (~238 items with PDFs about nutrition topics), cloudAnexos for uploaded cloud files. For guidelines/orientations specifically, use webdiet_orientacoes action=list_banco. Bulk support: accepts patient_ids for batched execution.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'tipo': {'enum': ['laminasAnexos', 'cloudAnexos'], 'type': 'string', 'default': 'laminasAnexos'}, 'account': {'type': 'string'}, 'patient_id': {'type': 'string', 'default': ''}, 'patient_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}}}
webdiet_list_message_templates
Load patient welcome message templates. Returns the active layout and all available template layouts.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'tipo': {'type': 'string', 'default': 'adicionar'}, 'account': {'type': 'string'}}}
webdiet_manipulados_delete
Permanently delete a manipulado for a patient. Irreversible. Bulk support: accepts patient_ids, manipulado_ids for batched execution.
Destructivo
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id', 'manipulado_id'], 'properties': {'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'manipulado_id': {'type': 'string'}, 'manipulado_ids': {'type': 'array', 'items': {'type': 'string'}}}}
webdiet_manipulados_get
Read "Prescrição de manipulados" (compounded/magistral pharmacy formulas) in WebDiet. Actions: - list_banco → search the WebDiet formula bank (~249 pre-built templates: ~120 disponíveis + ~129 de extensões pagas). Filtros: keyword (busca livre na indicação clínica = nome da fórmula), categoria (suplementos | cosmeceuticos | dermatologicos | extensoes), incluir_bloqueados (default false — esconde fórmulas de extensões pagas). Cada item retornado contém: nome (= a indicação clínica), categoria, texto_html (fórmula completa com componentes, doses e modo de usar), bloqueado. - list → list manipulados already prescribed to a patient (id, nome, data, liberado, pdf_url + pdf_global_url). - get → fetch full HTML content (componentes + doses) of a specific manipulado already prescribed to a patient. For write operations (save / send / publish / duplicate) use webdiet_manipulados_write. For destructive delete use webdiet_manipulados_delete. [Flattened action: get] Bulk support: accepts patient_ids, manipulado_ids for batched execution.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limite': {'type': 'number', 'default': 50}, 'account': {'type': 'string'}, 'keyword': {'type': 'string', 'default': ''}, 'categoria': {'enum': ['', 'suplementos', 'cosmeceuticos', 'dermatologicos', 'extensoes', 'all'], 'type': 'string', 'default': ''}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'manipulado_id': {'type': 'string', 'default': ''}, 'manipulado_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}, 'incluir_bloqueados': {'type': 'boolean', 'default': False}}}
webdiet_manipulados_list
Read "Prescrição de manipulados" (compounded/magistral pharmacy formulas) in WebDiet. Actions: - list_banco → search the WebDiet formula bank (~249 pre-built templates: ~120 disponíveis + ~129 de extensões pagas). Filtros: keyword (busca livre na indicação clínica = nome da fórmula), categoria (suplementos | cosmeceuticos | dermatologicos | extensoes), incluir_bloqueados (default false — esconde fórmulas de extensões pagas). Cada item retornado contém: nome (= a indicação clínica), categoria, texto_html (fórmula completa com componentes, doses e modo de usar), bloqueado. - list → list manipulados already prescribed to a patient (id, nome, data, liberado, pdf_url + pdf_global_url). - get → fetch full HTML content (componentes + doses) of a specific manipulado already prescribed to a patient. For write operations (save / send / publish / duplicate) use webdiet_manipulados_write. For destructive delete use webdiet_manipulados_delete. [Flattened action: list] Bulk support: accepts patient_ids, manipulado_ids for batched execution.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limite': {'type': 'number', 'default': 50}, 'account': {'type': 'string'}, 'keyword': {'type': 'string', 'default': ''}, 'categoria': {'enum': ['', 'suplementos', 'cosmeceuticos', 'dermatologicos', 'extensoes', 'all'], 'type': 'string', 'default': ''}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'manipulado_id': {'type': 'string', 'default': ''}, 'manipulado_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}, 'incluir_bloqueados': {'type': 'boolean', 'default': False}}}
webdiet_manipulados_list_banco
Read "Prescrição de manipulados" (compounded/magistral pharmacy formulas) in WebDiet. Actions: - list_banco → search the WebDiet formula bank (~249 pre-built templates: ~120 disponíveis + ~129 de extensões pagas). Filtros: keyword (busca livre na indicação clínica = nome da fórmula), categoria (suplementos | cosmeceuticos | dermatologicos | extensoes), incluir_bloqueados (default false — esconde fórmulas de extensões pagas). Cada item retornado contém: nome (= a indicação clínica), categoria, texto_html (fórmula completa com componentes, doses e modo de usar), bloqueado. - list → list manipulados already prescribed to a patient (id, nome, data, liberado, pdf_url + pdf_global_url). - get → fetch full HTML content (componentes + doses) of a specific manipulado already prescribed to a patient. For write operations (save / send / publish / duplicate) use webdiet_manipulados_write. For destructive delete use webdiet_manipulados_delete. [Flattened action: list_banco] Bulk support: accepts patient_ids, manipulado_ids for batched execution.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limite': {'type': 'number', 'default': 50}, 'account': {'type': 'string'}, 'keyword': {'type': 'string', 'default': ''}, 'categoria': {'enum': ['', 'suplementos', 'cosmeceuticos', 'dermatologicos', 'extensoes', 'all'], 'type': 'string', 'default': ''}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'manipulado_id': {'type': 'string', 'default': ''}, 'manipulado_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}, 'incluir_bloqueados': {'type': 'boolean', 'default': False}}}
webdiet_manipulados_write_duplicate
Create / send / publish / duplicate manipulados in WebDiet. Actions: - save → create or update a manipulado for a patient. texto = raw HTML (tinyMCE content), nome = formula name. Omit manipulado_id to create; pass it to update an existing one. Returns id and pdf_url. - send → SHORTCUT prescribir + publicar: copia uma ou mais fórmulas do banco (por nome exato vindo de webdiet_manipulados list_banco) para o paciente como manipulados novos. Já fica liberado=true (visível no app/portal do paciente) imediatamente. Skips fórmulas bloqueadas com mensagem de erro. - publish → toggle liberar/disponibilizar status (makes the formula visible/invisible on the patient portal/app). Server toggles and returns the NEW state. - duplicate → duplicate an existing manipulado (creates a copy "(cópia)"). For destructive delete use webdiet_manipulados_delete. [Flattened action: duplicate] Bulk support: accepts patient_ids, manipulado_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id'], 'properties': {'nome': {'type': 'string', 'default': ''}, 'nomes': {'type': 'string', 'default': ''}, 'texto': {'type': 'string', 'default': ''}, 'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'manipulado_id': {'type': 'string', 'default': ''}, 'manipulado_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}}}
webdiet_manipulados_write_publish
Create / send / publish / duplicate manipulados in WebDiet. Actions: - save → create or update a manipulado for a patient. texto = raw HTML (tinyMCE content), nome = formula name. Omit manipulado_id to create; pass it to update an existing one. Returns id and pdf_url. - send → SHORTCUT prescribir + publicar: copia uma ou mais fórmulas do banco (por nome exato vindo de webdiet_manipulados list_banco) para o paciente como manipulados novos. Já fica liberado=true (visível no app/portal do paciente) imediatamente. Skips fórmulas bloqueadas com mensagem de erro. - publish → toggle liberar/disponibilizar status (makes the formula visible/invisible on the patient portal/app). Server toggles and returns the NEW state. - duplicate → duplicate an existing manipulado (creates a copy "(cópia)"). For destructive delete use webdiet_manipulados_delete. [Flattened action: publish] Bulk support: accepts patient_ids, manipulado_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id'], 'properties': {'nome': {'type': 'string', 'default': ''}, 'nomes': {'type': 'string', 'default': ''}, 'texto': {'type': 'string', 'default': ''}, 'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'manipulado_id': {'type': 'string', 'default': ''}, 'manipulado_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}}}
webdiet_manipulados_write_save
Create / send / publish / duplicate manipulados in WebDiet. Actions: - save → create or update a manipulado for a patient. texto = raw HTML (tinyMCE content), nome = formula name. Omit manipulado_id to create; pass it to update an existing one. Returns id and pdf_url. - send → SHORTCUT prescribir + publicar: copia uma ou mais fórmulas do banco (por nome exato vindo de webdiet_manipulados list_banco) para o paciente como manipulados novos. Já fica liberado=true (visível no app/portal do paciente) imediatamente. Skips fórmulas bloqueadas com mensagem de erro. - publish → toggle liberar/disponibilizar status (makes the formula visible/invisible on the patient portal/app). Server toggles and returns the NEW state. - duplicate → duplicate an existing manipulado (creates a copy "(cópia)"). For destructive delete use webdiet_manipulados_delete. [Flattened action: save] Bulk support: accepts patient_ids, manipulado_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id'], 'properties': {'nome': {'type': 'string', 'default': ''}, 'nomes': {'type': 'string', 'default': ''}, 'texto': {'type': 'string', 'default': ''}, 'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'manipulado_id': {'type': 'string', 'default': ''}, 'manipulado_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}}}
webdiet_manipulados_write_send
Create / send / publish / duplicate manipulados in WebDiet. Actions: - save → create or update a manipulado for a patient. texto = raw HTML (tinyMCE content), nome = formula name. Omit manipulado_id to create; pass it to update an existing one. Returns id and pdf_url. - send → SHORTCUT prescribir + publicar: copia uma ou mais fórmulas do banco (por nome exato vindo de webdiet_manipulados list_banco) para o paciente como manipulados novos. Já fica liberado=true (visível no app/portal do paciente) imediatamente. Skips fórmulas bloqueadas com mensagem de erro. - publish → toggle liberar/disponibilizar status (makes the formula visible/invisible on the patient portal/app). Server toggles and returns the NEW state. - duplicate → duplicate an existing manipulado (creates a copy "(cópia)"). For destructive delete use webdiet_manipulados_delete. [Flattened action: send] Bulk support: accepts patient_ids, manipulado_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id'], 'properties': {'nome': {'type': 'string', 'default': ''}, 'nomes': {'type': 'string', 'default': ''}, 'texto': {'type': 'string', 'default': ''}, 'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'manipulado_id': {'type': 'string', 'default': ''}, 'manipulado_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}}}
webdiet_orientacoes_list
Read "Listas e Orientações" (guidelines/orientation lists) in WebDiet. Actions: list (orientation records for a patient), list_banco (orientation bank / favorites — saved templates available to send to any patient). The orientation bank contains nutritionist's saved/favorite orientations (e.g. "Chás diuréticos", "Refeições livres") that can be sent to any patient. Use list_banco to see available names, then pass those exact names to webdiet_orientacoes_write action=send. [Flattened action: list] Bulk support: accepts patient_ids for batched execution.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limite': {'type': 'number', 'default': 50}, 'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}}}
webdiet_orientacoes_list_banco
Read "Listas e Orientações" (guidelines/orientation lists) in WebDiet. Actions: list (orientation records for a patient), list_banco (orientation bank / favorites — saved templates available to send to any patient). The orientation bank contains nutritionist's saved/favorite orientations (e.g. "Chás diuréticos", "Refeições livres") that can be sent to any patient. Use list_banco to see available names, then pass those exact names to webdiet_orientacoes_write action=send. [Flattened action: list_banco] Bulk support: accepts patient_ids for batched execution.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limite': {'type': 'number', 'default': 50}, 'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}}}
webdiet_orientacoes_write_save
Create / update / send "Listas e Orientações" in WebDiet. Actions: save (create/update an orientation for a patient), send (send orientation(s) from the bank to a patient by exact name). save: non-ASCII emojis in "texto" are encoded as HTML numeric entities so they render on the patient portal (avoids "?" placeholders). If "titulo" is set, an <h1> with the title is prepended to "texto" for the patient view (portal does not show titulo alone). [Flattened action: save] Bulk support: accepts patient_ids, orientacao_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id'], 'properties': {'nomes': {'type': 'string', 'default': ''}, 'texto': {'type': 'string', 'default': ''}, 'titulo': {'type': 'string', 'default': ''}, 'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'orientacao_id': {'type': 'string', 'default': ''}, 'orientacao_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}}}
webdiet_orientacoes_write_send
Create / update / send "Listas e Orientações" in WebDiet. Actions: save (create/update an orientation for a patient), send (send orientation(s) from the bank to a patient by exact name). save: non-ASCII emojis in "texto" are encoded as HTML numeric entities so they render on the patient portal (avoids "?" placeholders). If "titulo" is set, an <h1> with the title is prepended to "texto" for the patient view (portal does not show titulo alone). [Flattened action: send] Bulk support: accepts patient_ids, orientacao_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id'], 'properties': {'nomes': {'type': 'string', 'default': ''}, 'texto': {'type': 'string', 'default': ''}, 'titulo': {'type': 'string', 'default': ''}, 'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'orientacao_id': {'type': 'string', 'default': ''}, 'orientacao_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}}}
webdiet_patient_delete
Permanently delete a WebDiet patient (uses removerPaciente — resolves id/link from a fresh list first). Irreversible. Bulk support: accepts patient_ids for batched execution.
Destructivo
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id'], 'properties': {'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}}}
webdiet_patient_get
Read patients in WebDiet. Actions: list (the WHOLE patient base, paginated — returns id, nome, link, updated_at, created_at), get (full profile with address, phone, links to panel sections). list returns "total" (patients matching the filter), "total_na_conta" (patients in the account) and "has_more"; walk pages with page/page_size until has_more is false. Filters (all optional, combinable): keyword (matches name, nickname, email, phone or CPF, accent-insensitive), updated_since / updated_until (YYYY-MM-DD), order. "updated_at" is when the patient RECORD was last changed in WebDiet — it is the only per-patient timestamp the panel exposes, and it does NOT track a patient chart merely being opened/viewed. Use updated_since to answer "who moved in the last N days". The "id" is stable across calls. Use it as patient_id for get, update and prescriptions. The "link" is a different identifier for the paciente.me portal; only patient_delete also resolves a portal link or a unique phone/name keyword. [Flattened action: get] Bulk support: accepts patient_ids for batched execution.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'number', 'default': 1}, 'order': {'enum': ['nome', 'atualizado_desc', 'atualizado_asc'], 'type': 'string', 'default': 'nome'}, 'account': {'type': 'string'}, 'keyword': {'type': 'string', 'default': ''}, 'page_size': {'type': 'number', 'default': 50}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'updated_since': {'type': 'string'}, 'updated_until': {'type': 'string'}}}
webdiet_patient_list
Read patients in WebDiet. Actions: list (the WHOLE patient base, paginated — returns id, nome, link, updated_at, created_at), get (full profile with address, phone, links to panel sections). list returns "total" (patients matching the filter), "total_na_conta" (patients in the account) and "has_more"; walk pages with page/page_size until has_more is false. Filters (all optional, combinable): keyword (matches name, nickname, email, phone or CPF, accent-insensitive), updated_since / updated_until (YYYY-MM-DD), order. "updated_at" is when the patient RECORD was last changed in WebDiet — it is the only per-patient timestamp the panel exposes, and it does NOT track a patient chart merely being opened/viewed. Use updated_since to answer "who moved in the last N days". The "id" is stable across calls. Use it as patient_id for get, update and prescriptions. The "link" is a different identifier for the paciente.me portal; only patient_delete also resolves a portal link or a unique phone/name keyword. [Flattened action: list] Bulk support: accepts patient_ids for batched execution.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'number', 'default': 1}, 'order': {'enum': ['nome', 'atualizado_desc', 'atualizado_asc'], 'type': 'string', 'default': 'nome'}, 'account': {'type': 'string'}, 'keyword': {'type': 'string', 'default': ''}, 'page_size': {'type': 'number', 'default': 50}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'updated_since': {'type': 'string'}, 'updated_until': {'type': 'string'}}}
webdiet_patient_write_create
Create or update patients in WebDiet. Actions: create (nome + nascimento required — returns patient_id), update (partial fields). IMPORTANT: nascimento (birth date DD/MM/YYYY) is REQUIRED for create — WebDiet uses it to calculate age in prescriptions. Without it, metodoPlanning.php crashes with a Fatal Error. For destructive removal use webdiet_patient_delete. [Flattened action: create] Bulk support: accepts patient_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'cep': {'type': 'string'}, 'cpf': {'type': 'string'}, 'nome': {'type': 'string'}, 'email': {'type': 'string'}, 'bairro': {'type': 'string'}, 'cidade': {'type': 'string'}, 'estado': {'type': 'string'}, 'genero': {'enum': ['M', 'F'], 'type': 'string'}, 'numero': {'type': 'string'}, 'account': {'type': 'string'}, 'apelido': {'type': 'string'}, 'endereco': {'type': 'string'}, 'telefone': {'type': 'string'}, 'instagram': {'type': 'string'}, 'boasvindas': {'type': 'boolean', 'default': True}, 'nascimento': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'complemento': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}}}
webdiet_patient_write_update
Create or update patients in WebDiet. Actions: create (nome + nascimento required — returns patient_id), update (partial fields). IMPORTANT: nascimento (birth date DD/MM/YYYY) is REQUIRED for create — WebDiet uses it to calculate age in prescriptions. Without it, metodoPlanning.php crashes with a Fatal Error. For destructive removal use webdiet_patient_delete. [Flattened action: update] Bulk support: accepts patient_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'cep': {'type': 'string'}, 'cpf': {'type': 'string'}, 'nome': {'type': 'string'}, 'email': {'type': 'string'}, 'bairro': {'type': 'string'}, 'cidade': {'type': 'string'}, 'estado': {'type': 'string'}, 'genero': {'enum': ['M', 'F'], 'type': 'string'}, 'numero': {'type': 'string'}, 'account': {'type': 'string'}, 'apelido': {'type': 'string'}, 'endereco': {'type': 'string'}, 'telefone': {'type': 'string'}, 'instagram': {'type': 'string'}, 'boasvindas': {'type': 'boolean', 'default': True}, 'nascimento': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'complemento': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}}}
webdiet_preconsulta_delete
Permanently delete a pre-consultation response in WebDiet. Templates are NOT affected. Irreversible. Bulk support: accepts response_ids for batched execution.
Destructivo
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['response_id'], 'properties': {'account': {'type': 'string'}, 'response_id': {'type': 'string'}, 'response_ids': {'type': 'array', 'items': {'type': 'string'}}}}
webdiet_preconsulta_get_response
Read pre-consultation questionnaires (Pré-consulta) in WebDiet. Actions: - list_templates → list all questionnaire templates the nutritionist publishes. Each item returns nome, descricao, perguntas[] (decoded), modelo, codigo, "link" (the public short URL https://nutr.se/<short> to share with patients) and "preview_url" (panel preview). USE THIS when the user asks for "o link do questionário de pré-consulta" / "link do formulário". - list_responses → list patient submissions to ANY template. Each response has id, id_code, template_nome, origem (anamnese | questionario), respondedor {nome, telefone, nascimento}, data, texto (decoded plain Q/A), texto_html (original HTML), pdf_url. Use filtros tipo (template name) and nome (responder name) to narrow. - get_response → fetch one response by id (or id_code/codigo). For LINKING a response to an existing patient (vincular), use webdiet_preconsulta_write action=link_to_patient. [Flattened action: get_response] Bulk support: accepts response_ids for batched execution.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'nome': {'type': 'string', 'default': ''}, 'tipo': {'type': 'string', 'default': ''}, 'limit': {'type': 'number', 'default': 50}, 'offset': {'type': 'number', 'default': 0}, 'account': {'type': 'string'}, 'response_id': {'type': 'string', 'default': ''}, 'response_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}}}
webdiet_preconsulta_list_responses
Read pre-consultation questionnaires (Pré-consulta) in WebDiet. Actions: - list_templates → list all questionnaire templates the nutritionist publishes. Each item returns nome, descricao, perguntas[] (decoded), modelo, codigo, "link" (the public short URL https://nutr.se/<short> to share with patients) and "preview_url" (panel preview). USE THIS when the user asks for "o link do questionário de pré-consulta" / "link do formulário". - list_responses → list patient submissions to ANY template. Each response has id, id_code, template_nome, origem (anamnese | questionario), respondedor {nome, telefone, nascimento}, data, texto (decoded plain Q/A), texto_html (original HTML), pdf_url. Use filtros tipo (template name) and nome (responder name) to narrow. - get_response → fetch one response by id (or id_code/codigo). For LINKING a response to an existing patient (vincular), use webdiet_preconsulta_write action=link_to_patient. [Flattened action: list_responses] Bulk support: accepts response_ids for batched execution.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'nome': {'type': 'string', 'default': ''}, 'tipo': {'type': 'string', 'default': ''}, 'limit': {'type': 'number', 'default': 50}, 'offset': {'type': 'number', 'default': 0}, 'account': {'type': 'string'}, 'response_id': {'type': 'string', 'default': ''}, 'response_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}}}
webdiet_preconsulta_list_templates
Read pre-consultation questionnaires (Pré-consulta) in WebDiet. Actions: - list_templates → list all questionnaire templates the nutritionist publishes. Each item returns nome, descricao, perguntas[] (decoded), modelo, codigo, "link" (the public short URL https://nutr.se/<short> to share with patients) and "preview_url" (panel preview). USE THIS when the user asks for "o link do questionário de pré-consulta" / "link do formulário". - list_responses → list patient submissions to ANY template. Each response has id, id_code, template_nome, origem (anamnese | questionario), respondedor {nome, telefone, nascimento}, data, texto (decoded plain Q/A), texto_html (original HTML), pdf_url. Use filtros tipo (template name) and nome (responder name) to narrow. - get_response → fetch one response by id (or id_code/codigo). For LINKING a response to an existing patient (vincular), use webdiet_preconsulta_write action=link_to_patient. [Flattened action: list_templates] Bulk support: accepts response_ids for batched execution.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'nome': {'type': 'string', 'default': ''}, 'tipo': {'type': 'string', 'default': ''}, 'limit': {'type': 'number', 'default': 50}, 'offset': {'type': 'number', 'default': 0}, 'account': {'type': 'string'}, 'response_id': {'type': 'string', 'default': ''}, 'response_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}}}
webdiet_preconsulta_write_link_to_patient
Vincular (link) a pre-consultation response to an existing patient in WebDiet. Action: link_to_patient — imports the response content into the patient's chart. WebDiet routes automatically based on the response's "origem": • origem=anamnese → response becomes a new anamnese (importarPreanamnese.php) • origem=questionario → response becomes a new diagnostico (criarDiagnosticoPre.php) This is the API-equivalent of the panel's "Vincular ao paciente" button on the Respostas dos questionários page. After linking, the response remains in the responses list — use webdiet_preconsulta_delete to remove it if desired. Tip: when the response's respondedor.nome differs from the patient's nome (e.g. "DALILA JULIAO MARTINS" vs "Dalila CG"), match by telefone or nascimento via webdiet_patient list before linking. [Flattened action: link_to_patient] Bulk support: accepts patient_ids, response_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id', 'response_id'], 'properties': {'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'response_id': {'type': 'string'}, 'response_ids': {'type': 'array', 'items': {'type': 'string'}}}}
webdiet_prescription_get_detail
Read meal plan prescriptions in WebDiet. Actions: list (all recent prescriptions — each includes "url" with the full direct link), get_detail (full meals/foods from a prescription URL). Always show the "url" field to the user when they ask for a prescription link. [Flattened action: get_detail]
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'link': {'type': 'string', 'default': ''}, 'account': {'type': 'string'}}}
webdiet_prescription_list
Read meal plan prescriptions in WebDiet. Actions: list (all recent prescriptions — each includes "url" with the full direct link), get_detail (full meals/foods from a prescription URL). Always show the "url" field to the user when they ask for a prescription link. [Flattened action: list]
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'link': {'type': 'string', 'default': ''}, 'account': {'type': 'string'}}}
webdiet_prescription_write_create
Create, save or publish meal plan prescriptions in WebDiet. Actions: create (new prescription for patient), save (meals/foods JSON to existing prescription), publish (release prescription to patient — makes it visible on the patient portal/app). IMPORTANT: After creating and saving foods, you MUST call publish to make the prescription visible to the patient. ═══ MÉTODO DE PRESCRIÇÃO — escolha no create ═══ WebDiet tem 3 métodos: • "Convencional" (UI: "Por alimentos", URL: metodoPlanning.php) — DEFAULT e RECOMENDADO. Alimento-por-alimento. Para cálculo de macros automático (proteínas/lipídios/carboidratos/calorias) na tabela "Alimentos prescritos" detalhada, cada alimento DEVE incluir o campo "id" com o WebDiet food-DB ID numérico. Sem id, o alimento AINDA é salvo no método Convencional e aparece no card expandido da refeição com nome + medida caseira, mas sem macros. NÃO vai para a seção qualitativa — o save retorna um warning explicando. • "Equivalentes" (UI: "Por equivalentes", URL: metodoWebdiet.php) — avançado. Prescrição por grupos de equivalentes. Requer IDs do banco. • "Qualitativo" (UI: "Qualitativa", URL: metodoQualitativo.php) — texto livre por refeição. A página do Qualitativo usa estrutura de dados diferente (refs com objetos cardapio) que este adapter ainda não gera corretamente via save. Para prescrições qualitativas, recomendado: criar via UI ou usar metodo="Convencional" sem food IDs (os alimentos aparecem como texto na refeição sem macros, efeito semelhante). ═══ prescricao_json (para o save) ═══ JSON array de refeições. Cada refeição: {nome, horario, alimentos:[...]}. Cada alimento: {nome, quantidade, medida_caseira, peso_gramas, id?}. AUTO-RESOLVE: se "id" não for enviado, o adapter procura automaticamente o melhor match no banco WebDiet (mesmo catálogo do webdiet_food_search) pelo campo "nome" e preenche o id antes de salvar — com isso os macros são calculados mesmo sem pré-chamar webdiet_food_search. O save retorna auto_resolved_foods {resolved, not_found, unresolved[]} indicando quais nomes não tiveram correspondência. Para controle fino (variante específica do banco, gramagem da medida caseira etc.), ainda é recomendado chamar webdiet_food_search e enviar o "id" explicitamente. Para evitar duplicação na UI ("2 2 fatias (50g)"), use quantidade numérica em "quantidade" e medida_caseira SEM repetir esse número e SEM sufixo "(Xg)" — ex.: quantidade="2", medida_caseira="fatias", peso_gramas="50". O MCP também normaliza automaticamente se você enviar texto completo. Exemplo sem ids (o adapter resolve automaticamente; nomes pouco específicos podem não encontrar match): [{"nome":"Café da Manhã","horario":"07:00","alimentos":[{"nome":"Pão integral","quantidade":"2","medida_caseira":"fatias","peso_gramas":"60"}]}] Exemplo com ids (pula o auto-resolve — ideal quando você já escolheu a variante exata): [{"nome":"Almoço","horario":"12:00","alimentos":[{"id":"9153","nome":"Arroz branco cozido","quantidade":"4","medida_caseira":"4 colheres de sopa (100g)","peso_gramas":"100"},{"id":"9168","nome":"Feijão carioca cozido","quantidade":"2","medida_caseira":"2 colheres (50g)","peso_gramas":"50"}]}] O save retorna {ok, metodo, warnings[], raw, auto_resolved_foods}. warnings avisa sobre alimentos sem id e alimentos não encontrados no banco. [Flattened action: create] Bulk support: accepts patient_ids, prescription_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id'], 'properties': {'nome': {'type': 'string', 'default': 'Prescrição Alimentar'}, 'metodo': {'enum': ['Convencional', 'Equivalentes', 'Qualitativo'], 'type': 'string', 'default': 'Convencional'}, 'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'prescricao_json': {'type': 'string', 'default': ''}, 'prescription_id': {'type': 'string', 'default': ''}, 'prescription_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}}}
webdiet_prescription_write_publish
Create, save or publish meal plan prescriptions in WebDiet. Actions: create (new prescription for patient), save (meals/foods JSON to existing prescription), publish (release prescription to patient — makes it visible on the patient portal/app). IMPORTANT: After creating and saving foods, you MUST call publish to make the prescription visible to the patient. ═══ MÉTODO DE PRESCRIÇÃO — escolha no create ═══ WebDiet tem 3 métodos: • "Convencional" (UI: "Por alimentos", URL: metodoPlanning.php) — DEFAULT e RECOMENDADO. Alimento-por-alimento. Para cálculo de macros automático (proteínas/lipídios/carboidratos/calorias) na tabela "Alimentos prescritos" detalhada, cada alimento DEVE incluir o campo "id" com o WebDiet food-DB ID numérico. Sem id, o alimento AINDA é salvo no método Convencional e aparece no card expandido da refeição com nome + medida caseira, mas sem macros. NÃO vai para a seção qualitativa — o save retorna um warning explicando. • "Equivalentes" (UI: "Por equivalentes", URL: metodoWebdiet.php) — avançado. Prescrição por grupos de equivalentes. Requer IDs do banco. • "Qualitativo" (UI: "Qualitativa", URL: metodoQualitativo.php) — texto livre por refeição. A página do Qualitativo usa estrutura de dados diferente (refs com objetos cardapio) que este adapter ainda não gera corretamente via save. Para prescrições qualitativas, recomendado: criar via UI ou usar metodo="Convencional" sem food IDs (os alimentos aparecem como texto na refeição sem macros, efeito semelhante). ═══ prescricao_json (para o save) ═══ JSON array de refeições. Cada refeição: {nome, horario, alimentos:[...]}. Cada alimento: {nome, quantidade, medida_caseira, peso_gramas, id?}. AUTO-RESOLVE: se "id" não for enviado, o adapter procura automaticamente o melhor match no banco WebDiet (mesmo catálogo do webdiet_food_search) pelo campo "nome" e preenche o id antes de salvar — com isso os macros são calculados mesmo sem pré-chamar webdiet_food_search. O save retorna auto_resolved_foods {resolved, not_found, unresolved[]} indicando quais nomes não tiveram correspondência. Para controle fino (variante específica do banco, gramagem da medida caseira etc.), ainda é recomendado chamar webdiet_food_search e enviar o "id" explicitamente. Para evitar duplicação na UI ("2 2 fatias (50g)"), use quantidade numérica em "quantidade" e medida_caseira SEM repetir esse número e SEM sufixo "(Xg)" — ex.: quantidade="2", medida_caseira="fatias", peso_gramas="50". O MCP também normaliza automaticamente se você enviar texto completo. Exemplo sem ids (o adapter resolve automaticamente; nomes pouco específicos podem não encontrar match): [{"nome":"Café da Manhã","horario":"07:00","alimentos":[{"nome":"Pão integral","quantidade":"2","medida_caseira":"fatias","peso_gramas":"60"}]}] Exemplo com ids (pula o auto-resolve — ideal quando você já escolheu a variante exata): [{"nome":"Almoço","horario":"12:00","alimentos":[{"id":"9153","nome":"Arroz branco cozido","quantidade":"4","medida_caseira":"4 colheres de sopa (100g)","peso_gramas":"100"},{"id":"9168","nome":"Feijão carioca cozido","quantidade":"2","medida_caseira":"2 colheres (50g)","peso_gramas":"50"}]}] O save retorna {ok, metodo, warnings[], raw, auto_resolved_foods}. warnings avisa sobre alimentos sem id e alimentos não encontrados no banco. [Flattened action: publish] Bulk support: accepts patient_ids, prescription_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id'], 'properties': {'nome': {'type': 'string', 'default': 'Prescrição Alimentar'}, 'metodo': {'enum': ['Convencional', 'Equivalentes', 'Qualitativo'], 'type': 'string', 'default': 'Convencional'}, 'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'prescricao_json': {'type': 'string', 'default': ''}, 'prescription_id': {'type': 'string', 'default': ''}, 'prescription_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}}}
webdiet_prescription_write_save
Create, save or publish meal plan prescriptions in WebDiet. Actions: create (new prescription for patient), save (meals/foods JSON to existing prescription), publish (release prescription to patient — makes it visible on the patient portal/app). IMPORTANT: After creating and saving foods, you MUST call publish to make the prescription visible to the patient. ═══ MÉTODO DE PRESCRIÇÃO — escolha no create ═══ WebDiet tem 3 métodos: • "Convencional" (UI: "Por alimentos", URL: metodoPlanning.php) — DEFAULT e RECOMENDADO. Alimento-por-alimento. Para cálculo de macros automático (proteínas/lipídios/carboidratos/calorias) na tabela "Alimentos prescritos" detalhada, cada alimento DEVE incluir o campo "id" com o WebDiet food-DB ID numérico. Sem id, o alimento AINDA é salvo no método Convencional e aparece no card expandido da refeição com nome + medida caseira, mas sem macros. NÃO vai para a seção qualitativa — o save retorna um warning explicando. • "Equivalentes" (UI: "Por equivalentes", URL: metodoWebdiet.php) — avançado. Prescrição por grupos de equivalentes. Requer IDs do banco. • "Qualitativo" (UI: "Qualitativa", URL: metodoQualitativo.php) — texto livre por refeição. A página do Qualitativo usa estrutura de dados diferente (refs com objetos cardapio) que este adapter ainda não gera corretamente via save. Para prescrições qualitativas, recomendado: criar via UI ou usar metodo="Convencional" sem food IDs (os alimentos aparecem como texto na refeição sem macros, efeito semelhante). ═══ prescricao_json (para o save) ═══ JSON array de refeições. Cada refeição: {nome, horario, alimentos:[...]}. Cada alimento: {nome, quantidade, medida_caseira, peso_gramas, id?}. AUTO-RESOLVE: se "id" não for enviado, o adapter procura automaticamente o melhor match no banco WebDiet (mesmo catálogo do webdiet_food_search) pelo campo "nome" e preenche o id antes de salvar — com isso os macros são calculados mesmo sem pré-chamar webdiet_food_search. O save retorna auto_resolved_foods {resolved, not_found, unresolved[]} indicando quais nomes não tiveram correspondência. Para controle fino (variante específica do banco, gramagem da medida caseira etc.), ainda é recomendado chamar webdiet_food_search e enviar o "id" explicitamente. Para evitar duplicação na UI ("2 2 fatias (50g)"), use quantidade numérica em "quantidade" e medida_caseira SEM repetir esse número e SEM sufixo "(Xg)" — ex.: quantidade="2", medida_caseira="fatias", peso_gramas="50". O MCP também normaliza automaticamente se você enviar texto completo. Exemplo sem ids (o adapter resolve automaticamente; nomes pouco específicos podem não encontrar match): [{"nome":"Café da Manhã","horario":"07:00","alimentos":[{"nome":"Pão integral","quantidade":"2","medida_caseira":"fatias","peso_gramas":"60"}]}] Exemplo com ids (pula o auto-resolve — ideal quando você já escolheu a variante exata): [{"nome":"Almoço","horario":"12:00","alimentos":[{"id":"9153","nome":"Arroz branco cozido","quantidade":"4","medida_caseira":"4 colheres de sopa (100g)","peso_gramas":"100"},{"id":"9168","nome":"Feijão carioca cozido","quantidade":"2","medida_caseira":"2 colheres (50g)","peso_gramas":"50"}]}] O save retorna {ok, metodo, warnings[], raw, auto_resolved_foods}. warnings avisa sobre alimentos sem id e alimentos não encontrados no banco. [Flattened action: save] Bulk support: accepts patient_ids, prescription_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id'], 'properties': {'nome': {'type': 'string', 'default': 'Prescrição Alimentar'}, 'metodo': {'enum': ['Convencional', 'Equivalentes', 'Qualitativo'], 'type': 'string', 'default': 'Convencional'}, 'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'prescricao_json': {'type': 'string', 'default': ''}, 'prescription_id': {'type': 'string', 'default': ''}, 'prescription_ids': {'type': 'array', 'items': {'type': 'string', 'default': ''}}}}
webdiet_prontuario
Get the clinical record (prontuario) for a WebDiet patient. Returns decoded text with sections: Identificacao, Triagem, Anamnese alimentar, etc. Bulk support: accepts patient_ids for batched execution.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id'], 'properties': {'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}}}
webdiet_prontuario_write
Save the clinical record (prontuario) for a WebDiet patient. Pass texto as a JSON array of HTML strings, one per section. Bulk support: accepts patient_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id', 'texto'], 'properties': {'texto': {'type': 'string'}, 'account': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}}}
webdiet_recibo
Generate or update a receipt (recibo) for a financial record in WebDiet. Pass the financeiro_id from webdiet_financeiro list. dados_recibo is a JSON array with 6 fields: [patient_name, cpf, address, city, nutritionist_name, crn_number]. After generating, the recibo_url in the financial record will point to the PDF receipt. Returns the receipt PDF URL that can be shared with the patient. Bulk support: accepts financeiro_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['financeiro_id', 'nome'], 'properties': {'nome': {'type': 'string'}, 'account': {'type': 'string'}, 'dados_recibo': {'type': 'string', 'default': '[]'}, 'financeiro_id': {'type': 'string'}, 'financeiro_ids': {'type': 'array', 'items': {'type': 'string'}}}}
webdiet_save_antropometria
Save body measurements (anthropometry) for a patient. Call webdiet_create_antropometria first to get the antropometria_id. All numeric values are strings. Provide raw measurements — calculated fields (IMC, GC%, density, fat mass, lean mass, classifications) are computed automatically server-side using the chosen formula. Sections: basic (peso/altura), skinfolds (10 dobras in mm), circumferences (20 fields in cm, bilateral pairs for limbs), bone diameters (3 fields in cm), bioimpedance (9 fields from scale). Formulas for body fat %: pollock3 (default), pollock7, guedes, petroski, durnin, faulkner, nenhuma. Density conversion: brozek (default) or siri. Side for CMB: esquerdo (default) or direito. Bulk support: accepts patient_ids, antropometria_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id', 'antropometria_id'], 'properties': {'lado': {'enum': ['esquerdo', 'direito'], 'type': 'string', 'default': 'esquerdo'}, 'massa': {'type': 'string'}, 'origem': {'enum': ['manual', 'automatica'], 'type': 'string', 'default': 'manual'}, 'account': {'type': 'string'}, 'c_ombro': {'type': 'string'}, 'c_torax': {'type': 'string'}, 'estatura': {'type': 'string'}, 'c_abdomen': {'type': 'string'}, 'c_cintura': {'type': 'string'}, 'c_pescoco': {'type': 'string'}, 'c_quadril': {'type': 'string'}, 'dobra_coxa': {'type': 'string'}, 'patient_id': {'type': 'string'}, 'c_antebraco': {'type': 'string'}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'c_coxadistal': {'type': 'string'}, 'c_coxamedial': {'type': 'string'}, 'dobra_axilar': {'type': 'string'}, 'altura_joelho': {'type': 'string'}, 'c_panturrilha': {'type': 'string'}, 'c_coxaproximal': {'type': 'string'}, 'diametro_femur': {'type': 'string'}, 'diametro_punho': {'type': 'string'}, 'diametro_umero': {'type': 'string'}, 'dobra_biciptal': {'type': 'string'}, 'dobra_toraxica': {'type': 'string'}, 'c_antebraco_dir': {'type': 'string'}, 'c_bracorelaxado': {'type': 'string'}, 'dobra_abdominal': {'type': 'string'}, 'dobra_triceptal': {'type': 'string'}, 'antropometria_id': {'type': 'string'}, 'c_bracocontraido': {'type': 'string'}, 'c_coxadistal_dir': {'type': 'string'}, 'c_coxamedial_dir': {'type': 'string'}, 'estatura_sentado': {'type': 'string'}, 'refAntropometria': {'enum': ['brozek', 'siri'], 'type': 'string', 'default': 'brozek'}, 'antropometria_ids': {'type': 'array', 'items': {'type': 'string'}}, 'c_panturrilha_dir': {'type': 'string'}, 'dobra_panturrilha': {'type': 'string'}, 'dobra_suprailiaca': {'type': 'string'}, 'formula_escolhida': {'enum': ['pollock3', 'pollock7', 'guedes', 'petroski', 'durnin', 'faulkner', 'nenhuma'], 'type': 'string', 'default': 'pollock3'}, 'bioimpedancia_agua': {'type': 'string'}, 'c_coxaproximal_dir': {'type': 'string'}, 'dobra_subescapular': {'type': 'string'}, 'bioimpedancia_idade': {'type': 'string'}, 'bioimpedancia_massa': {'type': 'string'}, 'bioimpedancia_osseo': {'type': 'string'}, 'c_bracorelaxado_dir': {'type': 'string'}, 'dobra_supraespinhal': {'type': 'string'}, 'c_bracocontraido_dir': {'type': 'string'}, 'bioimpedancia_gordura': {'type': 'string'}, 'bioimpedancia_visceral': {'type': 'string'}, 'bioimpedancia_massalivre': {'type': 'string'}, 'bioimpedancia_massaGordura': {'type': 'string'}, 'bioimpedancia_percentualMagra': {'type': 'string'}}}
webdiet_upload_anexo
Upload a file (PDF, image, etc.) to a patient's attachments in WebDiet. Three ways to provide the file (use ONE): 1. upload_code — from webdiet_get_upload_command curl (RECOMMENDED for large files) 2. file_url — direct URL to download the file (e.g. https://example.com/report.pdf) 3. file_base64 — base64-encoded file content (small files only) Supported tipos: anexo (patient attachment — default), cloud (WebDiet Cloud storage), prontuario (clinical record), antropometria (body measurement report), exame (lab exam), perfil (patient photo), evolucao (photo evolution). Bulk support: accepts patient_ids for batched execution.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['patient_id'], 'properties': {'tipo': {'enum': ['anexo', 'cloud', 'prontuario', 'antropometria', 'exame', 'perfil', 'evolucao'], 'type': 'string', 'default': 'anexo'}, 'account': {'type': 'string'}, 'file_url': {'type': 'string', 'default': ''}, 'file_name': {'type': 'string', 'default': ''}, 'nome_anexo': {'type': 'string', 'default': ''}, 'patient_id': {'type': 'string'}, 'file_base64': {'type': 'string', 'default': ''}, 'patient_ids': {'type': 'array', 'items': {'type': 'string'}}, 'upload_code': {'type': 'string', 'default': ''}, 'salvar_cloud': {'type': 'boolean', 'default': False}}}
Añadido
authenticate
17 de September de 2026 a las 12:45
Añadido
marketplace
17 de September de 2026 a las 12:45
Añadido
toolkit_info
17 de September de 2026 a las 12:45
Añadido
connect
17 de September de 2026 a las 12:45
Añadido
report_bug
17 de September de 2026 a las 12:45
Añadido
show_version
17 de September de 2026 a las 12:45
Añadido
webdiet_recibo
17 de September de 2026 a las 12:45
Añadido
webdiet_financeiro_delete
17 de September de 2026 a las 12:45
Añadido
webdiet_financeiro_write
17 de September de 2026 a las 12:45
Añadido
webdiet_financeiro_categories
17 de September de 2026 a las 12:45
Añadido
webdiet_financeiro_list
17 de September de 2026 a las 12:45
Añadido
webdiet_list_message_templates
17 de September de 2026 a las 12:45
Añadido
webdiet_upload_anexo
17 de September de 2026 a las 12:45
Añadido
webdiet_get_upload_command
17 de September de 2026 a las 12:45
Añadido
webdiet_list_anexos
17 de September de 2026 a las 12:45
Añadido
webdiet_calculo_energetico_delete
17 de September de 2026 a las 12:45
Añadido
webdiet_calculo_energetico_write_save
17 de September de 2026 a las 12:45
Añadido
webdiet_calculo_energetico_write_create
17 de September de 2026 a las 12:45
Añadido
webdiet_calculo_energetico_get
17 de September de 2026 a las 12:45
Añadido
webdiet_calculo_energetico_list
17 de September de 2026 a las 12:45
Añadido
webdiet_manipulados_delete
17 de September de 2026 a las 12:45
Añadido
webdiet_manipulados_write_duplicate
17 de September de 2026 a las 12:45
Añadido
webdiet_manipulados_write_publish
17 de September de 2026 a las 12:45
Añadido
webdiet_manipulados_write_send
17 de September de 2026 a las 12:45
Añadido
webdiet_manipulados_write_save
17 de September de 2026 a las 12:45
Añadido
webdiet_manipulados_get
17 de September de 2026 a las 12:45
Añadido
webdiet_manipulados_list_banco
17 de September de 2026 a las 12:45
Añadido
webdiet_manipulados_list
17 de September de 2026 a las 12:45
Añadido
webdiet_orientacoes_write_send
17 de September de 2026 a las 12:45
Añadido
webdiet_orientacoes_write_save
17 de September de 2026 a las 12:45