# Consulta si existe documento del puesto (1, 2,3) - [getDocumentPuesto]

## 🧾 **Descripción**

*Permite obtener el documento **MOF (Manual de Organización y Funciones)** asociado a un puesto específico registrado en el ERP, consultando el Doctype **Designation**.*

*Este servicio se utiliza para mostrar o validar documentación laboral relacionada al cargo del trabajador.*

---

# 🚀 **Endpoint**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-get-%2Fget-document-pu"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr"><span style="color: rgb(224, 62, 45);">**`<span class="hljs-keyword">GET</span> /<span class="hljs-keyword">get</span>-document-puesto/{puesto}`**</span></div></div>> También puede enviarse como parámetro directo según cómo se defina en routes:

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-get-%2Fgetdocumentpues"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">**<span style="color: rgb(224, 62, 45);">`GET /getDocumentPuesto?puesto=OPERADOR`</span>**</div></div>---

# 🔐 **Seguridad**

- El endpoint no exige autenticación explícita en el código.
- Se recomienda protegerlo mediante API Token o Middleware según la arquitectura.

---

# 📥 **Parámetros de Entrada**

### **Query / Path Parameter**

<div class="_tableContainer_1rjym_1" id="bkmrk-par%C3%A1metro-tipo-reque"><div class="group _tableWrapper_1rjym_13 flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1129" data-start="947"><thead data-end="995" data-start="947"><tr data-end="995" data-start="947"><th data-col-size="sm" data-end="959" data-start="947">Parámetro</th><th data-col-size="sm" data-end="968" data-start="959">Tipo</th><th data-col-size="sm" data-end="980" data-start="968">Requerido</th><th data-col-size="md" data-end="995" data-start="980">Descripción</th></tr></thead><tbody data-end="1129" data-start="1044"><tr data-end="1129" data-start="1044"><td data-col-size="sm" data-end="1055" data-start="1044">puesto</td><td data-col-size="sm" data-end="1064" data-start="1055">string</td><td data-col-size="sm" data-end="1076" data-start="1064">Sí</td><td data-col-size="md" data-end="1129" data-start="1076">Nombre del Designation cuyo MOF se desea obtener.</td></tr></tbody></table>

</div></div>---

# 📤 **Responses**

## ✔️ **200 – Documento encontrado**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-%7B-%22valor%22%3A-true%2C-%22ms"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"><table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 99.881%;"></col></colgroup><tbody><tr><td>`<span class="hljs-punctuation">{</span>  <span class="hljs-attr">"valor"</span><span class="hljs-punctuation">:</span> <span class="hljs-literal"><span class="hljs-keyword">true</span></span><span class="hljs-punctuation">,</span>  <span class="hljs-attr">"msn"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"Documento encontrado"</span><span class="hljs-punctuation">,</span>  <span class="hljs-attr">"data"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"<url_o_contenido_del_mof>"</span><span class="hljs-punctuation">}</span>`</td></tr></tbody></table>

</div></div></div><div class="overflow-y-auto p-4" dir="ltr">  
</div></div>- <span style="color: rgb(224, 62, 45);">**`data`** </span>contiene el valor del campo <span style="color: rgb(224, 62, 45);">**`mof`** </span>del Doctype **Designation**.

---

## ❌ **404 – Documento no encontrado**

Se devuelve cuando el puesto no existe o no tiene MOF asociado.

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-%7B-%22valor%22%3A-false%2C-%22m"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"><table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 99.881%;"></col></colgroup><tbody><tr><td>`<span class="hljs-punctuation">{</span>  <span class="hljs-attr">"valor"</span><span class="hljs-punctuation">:</span> <span class="hljs-literal"><span class="hljs-keyword">false</span></span><span class="hljs-punctuation">,</span>  <span class="hljs-attr">"msn"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"Documento no encontrado"</span><span class="hljs-punctuation">,</span>  <span class="hljs-attr">"data"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">""</span><span class="hljs-punctuation">}</span>`</td></tr></tbody></table>

</div></div></div><div class="overflow-y-auto p-4" dir="ltr">  
</div></div>---

# 🧠 **Lógica Interna (Resumen)**

1. Verifica que se haya enviado un nombre de puesto.
2. Construye una consulta GET hacia: **`resource/Designation`**
    
    Con:
    
    
    - `filters`: `[["name","=", puesto]]`
    - `fields`: `["mof"]`
3. Envía la solicitud mediante: `ServiceErp(<span class="hljs-string">"GET"</span>, <span class="hljs-literal">null</span>, body, APICAPACITACION.<span class="hljs-string">"resource/Designation"</span>)`
4. Evalúa la respuesta:
    
    
    - Si encuentra registros → devuelve el `mof`.
    - Si no encuentra → error.

---

# 📚 **Schema**

### **Response**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-%7B-%22valor%22%3A-%22boolean%22"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"><table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 99.881%;"></col></colgroup><tbody><tr><td>`<span class="hljs-punctuation">{</span>  <span class="hljs-attr">"valor"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"boolean"</span><span class="hljs-punctuation">,</span>  <span class="hljs-attr">"msn"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"string"</span><span class="hljs-punctuation">,</span>  <span class="hljs-attr">"data"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"string"</span><span class="hljs-punctuation">}</span>`</td></tr></tbody></table>

</div></div></div><div class="overflow-y-auto p-4" dir="ltr">  
</div></div>---

# 🧪 **Ejemplo de Uso (curl)**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-curl--x-get-%22https%3A%2F"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"><table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 99.881%;"></col></colgroup><tbody><tr><td>`curl -X GET <span class="hljs-string">"https://midominio.com/getDocumentPuesto?puesto=OPERADOR"</span>`</td></tr></tbody></table>

</div></div></div><div class="overflow-y-auto p-4" dir="ltr">  
</div></div>**Respuesta esperada:**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-%7B-%22valor%22%3A-true%2C-%22ms-1"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"><table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 99.881%;"></col></colgroup><tbody><tr><td>`<span class="hljs-punctuation">{</span>  <span class="hljs-attr">"valor"</span><span class="hljs-punctuation">:</span> <span class="hljs-literal"><span class="hljs-keyword">true</span></span><span class="hljs-punctuation">,</span>  <span class="hljs-attr">"msn"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"Documento encontrado"</span><span class="hljs-punctuation">,</span>  <span class="hljs-attr">"data"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"/files/mof_operador.pdf"</span><span class="hljs-punctuation">}</span>`</td></tr></tbody></table>

</div></div></div><div class="overflow-y-auto p-4" dir="ltr">  
</div></div>