{% extends "base.html.j2" %} {% import "components.html.j2" as ui %} {% block content %}

RESTlet · {{ doc.metadata.description or doc.metadata.script_type }}

SuiteScript {{ doc.metadata.suitescript_version or "N/D" }}

Documentación técnica del servicio RESTlet.

{{ ui.metadata_block(doc.metadata) }} {{ ui.summary_block(doc.summary) }} {# ============================================================ ENDPOINTS (GET, POST, PUT, DELETE...) ============================================================ #} {% set endpoints = doc.endpoints or {} %} {% if endpoints and endpoints is mapping %}

Endpoints

{% for method, definition in endpoints.items() %} {# Saltar si la IA devolvió algo no válido #} {% if not (definition and definition is mapping) %}

{{ method|upper }}

No se pudo interpretar la definición de este endpoint.

{% continue %} {% endif %}

{{ method|upper }}

{% if definition.description %}

{{ definition.description }}

{% endif %} {# ---------------------- INPUTS ---------------------- #} {% set inputs = definition.inputs or {} %} {% if inputs is mapping %} {% if inputs.url_params %} {{ ui.table_block("URL params", inputs.url_params, [ {"field": "name", "title": "Nombre"}, {"field": "description", "title": "Descripción"}, {"field": "type", "title": "Tipo"} ]) }} {% endif %} {% if inputs.query_string %} {{ ui.table_block("Query string", inputs.query_string, [ {"field": "name", "title": "Nombre"}, {"field": "description", "title": "Descripción"}, {"field": "type", "title": "Tipo"} ]) }} {% endif %} {% if inputs.body_fields %} {{ ui.table_block("Body", inputs.body_fields, [ {"field": "name", "title": "Nombre"}, {"field": "description", "title": "Descripción"}, {"field": "type", "title": "Tipo"} ]) }} {% endif %} {% else %}

Inputs no estructurados o no disponibles.

{% endif %} {# ---------------------- LÓGICA ---------------------- #} {% if definition.logic %} {{ ui.logic_block("Lógica", definition.logic) }} {% endif %} {# ---------------------- OPERACIONES ---------------------- #} {% if definition.record_operations %} {{ ui.table_block("Operaciones sobre registros", definition.record_operations, [ {"field": "type", "title": "Operación"}, {"field": "recordType", "title": "Record"}, {"field": "details", "title": "Detalles"} ]) }} {% endif %} {% if definition.searches %} {{ ui.table_block("Búsquedas", definition.searches, [ {"field": "id", "title": "ID"}, {"field": "filters", "title": "Filtros"}, {"field": "columns", "title": "Columnas"} ]) }} {% endif %} {# ---------------------- OUTPUT ---------------------- #} {% if definition.output %} {{ ui.logic_block("Salida", definition.output) }} {% endif %} {# ---------------------- VALIDACIONES ---------------------- #} {% if definition.validations %} {{ ui.list_block("Validaciones", definition.validations) }} {% endif %} {# ---------------------- SIDE EFFECTS ---------------------- #} {% if definition.side_effects %} {{ ui.list_block("Side effects", definition.side_effects) }} {% endif %} {% endfor %}
{% endif %} {# VALIDACIONES GLOBALES #} {% if doc.validations %} {{ ui.list_block("Validaciones globales", doc.validations) }} {% endif %} {# ERRORES #} {% if doc.errors %} {% if doc.errors is mapping %} {{ ui.list_block("Errores detectados", doc.errors.explicit_checks or []) }} {{ ui.list_block("Manejo de excepciones", doc.errors.exception_handling or []) }} {% else %} {{ ui.table_block("Errores", doc.errors, [ {"field": "location", "title": "Ubicación"}, {"field": "description", "title": "Descripción"}, {"field": "throws", "title": "Excepción"} ]) }} {% endif %} {% endif %} {# SIDE EFFECTS GLOBALES #} {% if doc.side_effects %} {{ ui.list_block("Side effects globales", doc.side_effects) }} {% endif %} {% endblock %}