# Documento

## Parámetros

Puedes consultar todos los tipos de documentos en el enlace de abajo.

{% content-ref url="/pages/uXJBpW53e6hS4JHh6Tvg" %}
[Parámetros](/documentacion/api-basicos/documento/parametros.md)
{% endcontent-ref %}

## Campos de Documentos

En el [siguiente enlace](/documentacion/api-basicos/api.md#campos-de-la-base-de-datos) puedes consultar todos los campos de A3.

## Llamadas GET

### Filtrado

En el [siguiente enlace](/documentacion/api-basicos/api.md#ordenacion-y-filtrado) puedes consultar como filtrar esta llamada.

## Recuperar todos los datos del documento

> Te devuelve todos los datos del documento indicado (Consultar parámetros para ver los documentos disponibles)

```json
{"openapi":"3.0.3","info":{"title":"API de Gestión de Documentos","version":"1.0"},"servers":[{"url":"https://<domain>:<port>/api"}],"security":[{"name":[]}],"components":{"securitySchemes":{"name":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Utiliza un token JWT para autenticarte. El token debe ser enviado en el encabezado\nAuthorization\n"}}},"paths":{"/documento/{tipo}":{"get":{"summary":"Recuperar todos los datos del documento","description":"Te devuelve todos los datos del documento indicado (Consultar parámetros para ver los documentos disponibles)","parameters":[{"name":"tipo","in":"path","required":true,"schema":{"type":"string"},"description":"Tipo de documento (e.g., 'dv', 'fv', 'av', 'pv')"}],"responses":{"200":{"description":"Lista de documentos","content":{"application/json":{"schema":{"type":"object","properties":{"Documentos":{"type":"array","items":{"type":"object","properties":{"idpedv":{"type":"string"},"tipocont":{"type":"string"},"serie":{"type":"string"},"numdoc":{"type":"string"},"codcli":{"type":"string"},"nomcli":{"type":"string"},"nifcli":{"type":"string"},"fecha":{"type":"string"},"basemoneda":{"type":"string"},"totivamoneda":{"type":"string"},"totdoc":{"type":"string"},"situacion":{"type":"string"},"centrocoste":{"type":"string"},"centrocoste2":{"type":"string"},"centrocoste3":{"type":"string"},"codrep":{"type":"string"},"codalm":{"type":"string"},"regiva":{"type":"string"},"situaciondetalle":{"type":"string"},"docpag":{"type":"string"},"forpag":{"type":"string"},"ivaincluido":{"type":"string"},"numdir":{"type":"string"},"Lineas":{"type":"array","items":{"type":"object","properties":{"unidades":{"type":"string"},"idpedc":{"type":"string"},"idpedv":{"type":"string"},"idlin":{"type":"string"},"grupo":{"type":"string"},"ordlin":{"type":"string"},"ordlinkit":{"type":"string"},"fecha":{"type":"string"},"codart":{"type":"string"},"codalm":{"type":"string"},"codrep":{"type":"string"},"desclin":{"type":"string"},"prcmoneda":{"type":"string"},"desc1":{"type":"string"},"desc2":{"type":"string"},"desc3":{"type":"string"},"desc4":{"type":"string"},"basemoneda":{"type":"string"},"tipiva":{"type":"string"},"bultos":{"type":"string"},"paquetes":{"type":"string"},"ctaconl":{"type":"string"},"centrocoste":{"type":"string"},"centrocoste2":{"type":"string"},"centrocoste3":{"type":"string"},"escomponente":{"type":"string"},"eskit":{"type":"string"},"feccaduc":{"type":"string"},"grupokit":{"type":"string"},"importeecoraeemon":{"type":"string"},"situacion":{"type":"string"},"Detalle":{"type":"array","items":{"type":"object","properties":{"idpedc":{"type":"string"},"idpedv":{"type":"string"},"idlin":{"type":"string"},"unidades":{"type":"string"},"feccaduc":{"type":"string"},"grupo":{"type":"string"},"grupokit":{"type":"string"}}}}}}}}}}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"No se ha encontrado el endpoint"}}}}}}
```

## Impresión en pdf

> Se puede solicitar la impresión de un documento en pdf mediante esta llamada, el modelo no es obligatorio pero al no indicarlo tomará por defecto el del cliente o el proveedor.

```json
{"openapi":"3.0.3","info":{"title":"API de Gestión de Documentos","version":"1.0"},"servers":[{"url":"https://<domain>:<port>/api"}],"security":[{"name":[]}],"components":{"securitySchemes":{"name":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Utiliza un token JWT para autenticarte. El token debe ser enviado en el encabezado\nAuthorization\n"}}},"paths":{"/documento/{tipo}/impresion/{id}/modelo/{modelo}":{"get":{"summary":"Impresión en pdf","description":"Se puede solicitar la impresión de un documento en pdf mediante esta llamada, el modelo no es obligatorio pero al no indicarlo tomará por defecto el del cliente o el proveedor.","parameters":[{"name":"tipo","in":"path","required":true,"schema":{"type":"string"},"description":"Tipo de documento (e.g., 'dv', 'fv', 'av', 'pv')"},{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Identificador del documento"},{"name":"modelo","in":"path","required":true,"schema":{"type":"string"},"description":"Modelo de impresión"}],"responses":{"200":{"description":"Estadísticas del documento","content":{"application/json":{"schema":{"type":"object","properties":{"documento":{"type":"string"}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"No se ha encontrado el endpoint"}}}}}}
```

## Recuperar la cabecera de un documento

> Devuelve la cabecera del documento indicado por su tipo e id.

```json
{"openapi":"3.0.3","info":{"title":"API de Gestión de Documentos","version":"1.0"},"servers":[{"url":"https://<domain>:<port>/api"}],"security":[{"name":[]}],"components":{"securitySchemes":{"name":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Utiliza un token JWT para autenticarte. El token debe ser enviado en el encabezado\nAuthorization\n"}}},"paths":{"/cabeceradocumento/{tipo}/{id}":{"get":{"summary":"Recuperar la cabecera de un documento","description":"Devuelve la cabecera del documento indicado por su tipo e id.","parameters":[{"name":"tipo","in":"path","required":true,"schema":{"type":"string"},"description":"Tipo de documento (e.g., 'dv', 'fv', 'av', 'pv')"},{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Identificador del documento"}],"responses":{"200":{"description":"Cabecera del documento","content":{"application/json":{"schema":{"type":"object","properties":{"idpedv":{"type":"integer"},"tipocont":{"type":"string"},"serie":{"type":"string"},"numdoc":{"type":"integer"},"codcli":{"type":"string"},"nomcli":{"type":"string"},"nifcli":{"type":"string"},"fecha":{"type":"string","format":"date"},"referencia":{"type":"string"},"basemoneda":{"type":"number"},"totivamoneda":{"type":"number"},"totdoc":{"type":"number"},"situacion":{"type":"string"},"centrocoste":{"type":"string"},"centrocoste2":{"type":"string"},"centrocoste3":{"type":"string"},"codrep":{"type":"string"},"codrep2":{"type":"string","nullable":true},"codrep3":{"type":"string","nullable":true},"codalm":{"type":"string"},"regiva":{"type":"string"},"situaciondetalle":{"type":"string"},"docpag":{"type":"string"},"forpag":{"type":"string"},"ivaincluido":{"type":"string"},"numdir":{"type":"integer"}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"No se ha encontrado el endpoint"}}}}}}
```

## Servir documentos

> Se puede servir a pedido, albarán o factura.

```json
{"openapi":"3.0.3","info":{"title":"API de Gestión de Documentos","version":"1.0"},"servers":[{"url":"https://<domain>:<port>/api"}],"security":[{"name":[]}],"components":{"securitySchemes":{"name":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Utiliza un token JWT para autenticarte. El token debe ser enviado en el encabezado\nAuthorization\n"}}},"paths":{"/documento/{tipo}/{servir}/{id}":{"get":{"summary":"Servir documentos","description":"Se puede servir a pedido, albarán o factura.","parameters":[{"name":"tipo","in":"path","required":true,"schema":{"type":"string"},"description":"Tipo de documento (e.g., 'dv', 'fv', 'av')"},{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"El documento a servir, si son líneas no hay que ponerlo"},{"name":"servir","in":"path","required":true,"schema":{"type":"string"},"description":"servirapedido, serviraalbaran, servirafactura, serviradeposito"}],"responses":{"200":{"description":"documento servido","content":{"application/json":{"schema":{"type":"object","properties":{" Identificador ":{"type":"string"}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"No se ha encontrado el endpoint"},"406":{"description":"Error al servir el documento","content":{"application/json":{"schema":{"type":"object","properties":{"Error":{"type":"string"}}}}}}}}}}}
```

## Impresión de documentos por GUID. Si necesitas un modelo concreto, añade al endpoint /modelo/{modelo}

> Permite la impresión de documentos públicos utilizando un GUID. El GUID se obtiene del parámetro de las cabeceras API\_GUIDDESCARGA.

```json
{"openapi":"3.0.3","info":{"title":"API de Gestión de Documentos","version":"1.0"},"servers":[{"url":"https://<domain>:<port>/api"}],"security":[],"paths":{"/documento/{tipo}/impresionguid/{guid}":{"get":{"summary":"Impresión de documentos por GUID. Si necesitas un modelo concreto, añade al endpoint /modelo/{modelo}","description":"Permite la impresión de documentos públicos utilizando un GUID. El GUID se obtiene del parámetro de las cabeceras API_GUIDDESCARGA.","parameters":[{"name":"tipo","in":"path","required":true,"schema":{"type":"string"},"description":"Tipo de documento (e.g., 'dv', 'fv', 'av')"},{"name":"guid","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador del documento público"}],"responses":{"200":{"description":"documento servido","content":{"application/json":{"schema":{"type":"object","properties":{"Documento":{"type":"string"}}}}}},"302":{"description":"El documento no existe"},"401":{"description":"Unauthorized"},"404":{"description":"No se ha encontrado el endpoint"},"406":{"description":"Error al servir el documento","content":{"application/json":{"schema":{"type":"object","properties":{"Error":{"type":"string"}}}}}},"500":{"description":"Error interno del servidor","content":{"application/json":{"schema":{"type":"object","properties":{"Error":{"type":"string"}}}}}}}}}}}
```

## Llamadas POST&#x20;

## Crear un nuevo documento

> Crea un nuevo documento de compra o venta. En el cuerpo del mensaje se deben indicar los datos del documento en formato JSON. Si es un documento de compra debes añadir código proveedor (codpro). Y en algunos casos como pedido de compra la fecha de entrega (fecentrega)

```json
{"openapi":"3.0.3","info":{"title":"API de Gestión de Documentos","version":"1.0"},"servers":[{"url":"https://<domain>:<port>/api"}],"security":[{"name":[]}],"components":{"securitySchemes":{"name":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Utiliza un token JWT para autenticarte. El token debe ser enviado en el encabezado\nAuthorization\n"}}},"paths":{"/documento/{tipo}":{"post":{"summary":"Crear un nuevo documento","description":"Crea un nuevo documento de compra o venta. En el cuerpo del mensaje se deben indicar los datos del documento en formato JSON. Si es un documento de compra debes añadir código proveedor (codpro). Y en algunos casos como pedido de compra la fecha de entrega (fecentrega)","parameters":[{"name":"tipo","in":"path","required":true,"schema":{"type":"string"},"description":"Tipo de documento (e.g., 'dv', 'fv', 'av')"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"json":{"type":"object","properties":{"fecha":{"type":"string","required":true},"codcli":{"type":"string"},"codpro":{"type":"string"},"lineas":{"type":"array","items":{"type":"object","properties":{"codart":{"type":"string","required":true},"unidades":{"type":"string","required":true}}}}}}},"required":["json","json.fecha","json.lineas","json.lineas[].codart","json.lineas[].unidades"]}}}},"responses":{"200":{"description":"Se ha creado el documento correctamente","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"No se ha encontrado el endpoint"},"406":{"description":"Error al crear el documento","content":{"application/json":{"schema":{"type":"object","properties":{"Error":{"type":"string"}}}}}}}}}}}
```

## Servir lineas

> Se puede servir líneas a pedido, albarán o factura.

```json
{"openapi":"3.0.3","info":{"title":"API de Gestión de Documentos","version":"1.0"},"servers":[{"url":"https://<domain>:<port>/api"}],"security":[{"name":[]}],"components":{"securitySchemes":{"name":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Utiliza un token JWT para autenticarte. El token debe ser enviado en el encabezado\nAuthorization\n"}}},"paths":{"/{servir}":{"post":{"summary":"Servir lineas","description":"Se puede servir líneas a pedido, albarán o factura.","parameters":[{"name":"servir","in":"path","required":true,"schema":{"type":"string"},"description":"servirlineasapedido, servirlineasaalbaran, servirlineasadeposito"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"fecha":{"type":"string"},"codigo":{"type":"string","description":"Código proveedor/cliente"},"tipo":{"type":"string","enum":["C","V"],"description":"Compra o Venta (C/V)"},"Lineas":{"type":"array","items":{"type":"object","properties":{"tipo":{"type":"string","enum":["P","O"],"description":"Tipo de línea (Pedido u oferta)"},"idlin":{"type":"string"},"unidades":{"type":"string"},"iddocumento":{"type":"string"}},"required":["tipo","idlin","unidades","iddocumento"]}}},"required":["fecha","codigo","tipo","Lineas"]}}}},"responses":{"200":{"description":"documento servido","content":{"application/json":{"schema":{"type":"object","properties":{" Identificador ":{"type":"string"}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"No se ha encontrado el endpoint"},"406":{"description":"Error al servir el documento","content":{"application/json":{"schema":{"type":"object","properties":{"Error":{"type":"string"}}}}}}}}}}}
```

## Enviar documento por email en formato PDF

> Envía un documento por email en formato PDF utilizando el modelo especificado.

```json
{"openapi":"3.0.3","info":{"title":"API de Gestión de Documentos","version":"1.0"},"servers":[{"url":"https://<domain>:<port>/api"}],"security":[{"name":[]}],"components":{"securitySchemes":{"name":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Utiliza un token JWT para autenticarte. El token debe ser enviado en el encabezado\nAuthorization\n"}}},"paths":{"/documento/{tipo}/email/{id}/modelo/{modelo}":{"post":{"summary":"Enviar documento por email en formato PDF","description":"Envía un documento por email en formato PDF utilizando el modelo especificado.","parameters":[{"name":"tipo","in":"path","required":true,"schema":{"type":"string"},"description":"Tipo de documento (e.g., 'dv', 'fv', 'av', 'pv')"},{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Identificador del documento"},{"name":"modelo","in":"path","required":true,"schema":{"type":"string"},"description":"Modelo de impresión para el PDF TODO"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"para":{"type":"string","description":"Dirección de correo del destinatario"},"cc":{"type":"string","description":"Dirección de correo en copia"},"ccoo":{"type":"string","description":"Dirección de correo en copia oculta"},"titulo":{"type":"string","description":"Título del correo"},"asunto":{"type":"string","description":"Asunto del correo"},"texto":{"type":"string","description":"Texto del correo"},"cuerpo":{"type":"string","description":"Cuerpo del correo en formato HTML"}}}}}},"responses":{"200":{"description":"Documento enviado por email correctamente"},"401":{"description":"Unauthorized"},"404":{"description":"No se ha encontrado el endpoint"}}}}}}
```

<details>

<summary>Body de Envio de documento por email en PDF</summary>

Enviar una factura de venta por email

<https://servidor:5555/api/documento/FV/email/5767>

```
{
    "para": "rperez@jnc.es",
    "cc": "charyperez1@gmail.com",
    "cco": "fsaez@jnc.es",
    "titulo": "Envio con documento adjunto",
    "asunto": "Envio documento",
    "texto": "Adjunto envío su documento en pdf",
    "cuerpo": "<HTML><HEAD></HEAD><BODY lang=ES> Estimado cliente,<p> Adjunto archivo con documento en formato pdf.<p> La mercanc&#237;a, antes de su salida, ha sido fotografiada. <p> Un saludo,<p> <b> Rosario Pérez<p> rpérez@jnc.es<p> JNC Sistemas Inform&#225;ticos<p> </b></font> </BODY></HTML>"
}
```

</details>

<details>

<summary>Body de Servir documentos</summary>

Servir un albaran

<https://servidor:5555/api/documento/AV/servirafactura/55>

```
{
 "fecha": "21/04/2022",
 "codigo": " 1",
 "tipo": "C",
 "lineas":
        [
          {
           "tipo": "O",
           "iddocumento": "166",
           "numlin": "3", 
           "unidades": "3",
           "lote": "L145"
          },
          {
           "tipo": "O",
           "iddocumento": "164",
           "numlin": "4",
           "unidades": "10",
           "feccaduc": "22/04/2022",
           "numserie": "14528798"
          },
          {
           "tipo": "O",
           "iddocumento": "165",
           "numlin": "4",
           "unidades": "2",
           "ubicacion": "A2P3L8"
          }
        ]
}
```

</details>

## Vincular adjunto a un documento

> Podemos vincular un adjunto que nos pasen en un JSON a un documento de compra o venta. El archivo se guardará en la carpata de vínculos indicada en el config.ini con el nombre y la extensión que le pasemos en el campo nombre, lo cual determinará el tipo de archivo.

```json
{"openapi":"3.0.3","info":{"title":"API de Gestión de Documentos","version":"1.0"},"servers":[{"url":"https://<domain>:<port>/api"}],"security":[{"name":[]}],"components":{"securitySchemes":{"name":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Utiliza un token JWT para autenticarte. El token debe ser enviado en el encabezado\nAuthorization\n"}}},"paths":{"/documento/{tipo}/vincular/{id}":{"post":{"summary":"Vincular adjunto a un documento","description":"Podemos vincular un adjunto que nos pasen en un JSON a un documento de compra o venta. El archivo se guardará en la carpata de vínculos indicada en el config.ini con el nombre y la extensión que le pasemos en el campo nombre, lo cual determinará el tipo de archivo.","parameters":[{"name":"tipo","in":"path","required":true,"schema":{"type":"string"},"description":"Tipo de documento (e.g., 'dv', 'fv', 'av')"},{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Identificador del documento"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"nombre":{"type":"string","description":"Nombre del documento"},"Documento":{"type":"string","description":"Documento en base64"}},"required":["iddocumento"]}}}},"responses":{"200":{"description":"Se ha vinculado el documento","content":{"application/json":{"schema":{"type":"object","properties":{"Documento":{"type":"string"}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"No se ha encontrado el endpoint"},"406":{"description":"Error al vincular el documento","content":{"application/json":{"schema":{"type":"object","properties":{"Error":{"type":"string"}}}}}}}}}}}
```

## Vincular adjunto a la línea de un documento

> Permite vincular un adjunto a la línea de un documento

```json
{"openapi":"3.0.3","info":{"title":"API de Gestión de Documentos","version":"1.0"},"servers":[{"url":"https://<domain>:<port>/api"}],"security":[{"name":[]}],"components":{"securitySchemes":{"name":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Utiliza un token JWT para autenticarte. El token debe ser enviado en el encabezado\nAuthorization\n"}}},"paths":{"/documento/{tipo}/vincularlinea/${linea}":{"post":{"summary":"Vincular adjunto a la línea de un documento","description":"Permite vincular un adjunto a la línea de un documento","parameters":[{"name":"tipo","in":"path","required":true,"schema":{"type":"string"},"description":"Tipo de documento (e.g., 'dv', 'fv', 'av')"},{"name":"linea","in":"path","required":true,"schema":{"type":"integer"},"description":"Identificador de la línea a vincular"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"nombre":{"type":"string","description":"Nombre del documento"},"descripcion":{"type":"string","description":"Descripción del documento"},"Documento":{"type":"string","description":"Documento en base64"}},"required":["iddocumento"]}}}},"responses":{"200":{"description":"Se ha vinculado la línea al documento","content":{"application/json":{"schema":{"type":"object","properties":{"Documento":{"type":"string"}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"No se ha encontrado el endpoint"},"406":{"description":"Error al vincular la línea al documento","content":{"application/json":{"schema":{"type":"object","properties":{"Error":{"type":"string"}}}}}}}}}}}
```

<details>

<summary>Body de Vincular archivos a un documento</summary>

Vincular un contrato a una factura

<https://servidor:5555/api/documento/FV/vincular/89>

```
{
    "nombre": "contrato.pdf",
    "documento": "Contrato de compra venta"
}
```

</details>

## Anular un documento

> Anular un documento completo identificándolo por su id.

```json
{"openapi":"3.0.3","info":{"title":"API de Gestión de Documentos","version":"1.0"},"servers":[{"url":"https://<domain>:<port>/api"}],"security":[{"name":[]}],"components":{"securitySchemes":{"name":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Utiliza un token JWT para autenticarte. El token debe ser enviado en el encabezado\nAuthorization\n"}}},"paths":{"/documento/{tipo}/anular/{id}":{"post":{"summary":"Anular un documento","description":"Anular un documento completo identificándolo por su id.","parameters":[{"name":"tipo","in":"path","required":true,"schema":{"type":"string"},"description":"Tipo de documento (e.g., 'dv', 'fv', 'av')"},{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Identificador del documento"}],"responses":{"200":{"description":"Se ha anulado la línea del documento","content":{"application/json":{"schema":{"type":"object","properties":{"Documento":{"type":"string"}}}}}},"302":{"description":"El documento no existe"},"401":{"description":"Unauthorized"},"404":{"description":"No se ha encontrado el endpoint"},"406":{"description":"Error al anular","content":{"application/json":{"schema":{"type":"object","properties":{"Error":{"type":"string"}}}}}}}}}}}
```

## Anular todas las líneas de un documento

> En un documento con varias líneas, se puede anular una línea

```json
{"openapi":"3.0.3","info":{"title":"API de Gestión de Documentos","version":"1.0"},"servers":[{"url":"https://<domain>:<port>/api"}],"security":[{"name":[]}],"components":{"securitySchemes":{"name":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Utiliza un token JWT para autenticarte. El token debe ser enviado en el encabezado\nAuthorization\n"}}},"paths":{"/documento/{tipo}/anular/{id}/linea/{numlin}":{"post":{"summary":"Anular todas las líneas de un documento","description":"En un documento con varias líneas, se puede anular una línea","parameters":[{"name":"tipo","in":"path","required":true,"schema":{"type":"string"},"description":"Tipo de documento (e.g., 'dv', 'fv', 'av')"},{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Identificador del documento público"},{"name":"numlin","in":"path","required":true,"schema":{"type":"integer"},"description":"Identificador de la línea a anular"}],"responses":{"200":{"description":"Se ha anulado la línea del documento","content":{"application/json":{"schema":{"type":"object","properties":{"Documento":{"type":"string"}}}}}},"302":{"description":"El documento no existe"},"401":{"description":"Unauthorized"},"404":{"description":"No se ha encontrado el endpoint"},"406":{"description":"No existe la línea","content":{"application/json":{"schema":{"type":"object","properties":{"Error":{"type":"string"}}}}}}}}}}}
```

## Anular varias unidades de línea

> Anular varias unidades de línea en un documento

```json
{"openapi":"3.0.3","info":{"title":"API de Gestión de Documentos","version":"1.0"},"servers":[{"url":"https://<domain>:<port>/api"}],"security":[{"name":[]}],"components":{"securitySchemes":{"name":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Utiliza un token JWT para autenticarte. El token debe ser enviado en el encabezado\nAuthorization\n"}}},"paths":{"/documento/{tipo}/anular/{id}/linea/{numlin}/unidades/{unidades}":{"post":{"summary":"Anular varias unidades de línea","description":"Anular varias unidades de línea en un documento","parameters":[{"name":"tipo","in":"path","required":true,"schema":{"type":"string"},"description":"Tipo de documento (e.g., 'dv', 'fv', 'av')"},{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Identificador del documento"},{"name":"numlin","in":"path","required":true,"schema":{"type":"integer"},"description":"Identificador de la línea a anular"},{"name":"unidades","in":"path","required":true,"schema":{"type":"integer"},"description":"Unidades a anular de la línea"}],"responses":{"200":{"description":"Se han anulado correctamente las unidades de la línea.","content":{"application/json":{"schema":{"type":"object","properties":{"Documento":{"type":"string"}}}}}},"302":{"description":"El documento no existe"},"401":{"description":"Unauthorized"},"404":{"description":"No se ha encontrado el endpoint"},"406":{"description":"No existe la línea","content":{"application/json":{"schema":{"type":"object","properties":{"Error":{"type":"string"}}}}}}}}}}}
```

<details>

<summary>Body de Alta de nuevo documento</summary>

Alta de un traspaso

<https://servidor:5555/api/documento/TR>

```
[
{
  "codalment": "       2",
  "codalmsal": "       1",
  "fecha": "15/07/2022",
  "motivo": "Alta de traspaso 1",
  "lineas": [
    {
      "codalment": "       2",
      "codalmsal": "       1",
      "codart": "RF",
      "unidades": 2,
      "detalle": [
        {
          "unidades": "1",
          "feccaduc": "30/12/1899",
          "ubicacionsal": "P1E1A2",
          "ubicacionent": "T4",
          "numserie": "RMNU73HKNV"
        },
        {
          "unidades": "1",
          "feccaduc": "30/12/1899",
          "ubicacionsal": "P1E1A2",
          "ubicacioneent": "T4",
          "numserie": "3332KBG5GH"
        }
      ]
    },
    {
      "codalment": "       2",
      "codalmsal": "       1",
      "codart": "LR",
      "unidades": 4,
      "detalle": [
        {
          "unidades": "4",
          "feccaduc": "30/12/1899",
          "ubicacionsal": "P1E1A1",
          "ubicacionent": "T4"
        }
      ]
    },
    {
      "codalment": "       2",
      "codalmsal": "       1",
      "codart": "              1",
      "unidades": 1,
      "detalle": [
        {
          "unidades": "1",
          "feccaduc": "30/12/1899",
          "ubicacionsal": "P1E2A2",
          "ubicacionent": "T4",
          "numserie": "R8E5J4T8MC"
        }
      ]
    }
  ]
}
]
```

</details>

## Llamadas PUT

## Actualizar un documento existente

> Actualiza un documento de compra o venta existente.

```json
{"openapi":"3.0.3","info":{"title":"API de Gestión de Documentos","version":"1.0"},"servers":[{"url":"https://<domain>:<port>/api"}],"security":[{"name":[]}],"components":{"securitySchemes":{"name":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Utiliza un token JWT para autenticarte. El token debe ser enviado en el encabezado\nAuthorization\n"}}},"paths":{"/documento/{tipo}/{id}":{"put":{"summary":"Actualizar un documento existente","description":"Actualiza un documento de compra o venta existente.","parameters":[{"name":"tipo","in":"path","required":true,"schema":{"type":"string"},"description":"Tipo de documento (e.g., 'dv', 'fv', 'av')"},{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Identificador del documento"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"json":{"type":"object","properties":{"fecha":{"type":"string"},"codcli":{"type":"string"},"serie":{"type":"string"},"codalm":{"type":"string"},"fecentrega":{"type":"string"},"lineas":{"type":"array","items":{"type":"object","properties":{"numlinped":{"type":"string"},"codart":{"type":"string"},"unidades":{"type":"string"},"prcmoneda":{"type":"string"},"desc1":{"type":"string"}}}}}}}}}}},"responses":{"200":{"description":"Se ha actualizado el documento correctamente","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"No se ha encontrado el endpoint"},"406":{"description":"Error al actualizar el documento","content":{"application/json":{"schema":{"type":"object","properties":{"Error":{"type":"string"}}}}}}}}}}}
```

## Crear nuevas líneas en un documento existente

> &#x20;Nuevo endpoint para poder crear nuevas líneas en un documento ya existente

```json
{"openapi":"3.0.3","info":{"title":"API de Gestión de Documentos","version":"1.0"},"servers":[{"url":"https://<domain>:<port>/api"}],"security":[{"name":[]}],"components":{"securitySchemes":{"name":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Utiliza un token JWT para autenticarte. El token debe ser enviado en el encabezado\nAuthorization\n"}}},"paths":{"/documento/{tipo}/nuevaslineas/{id}":{"put":{"summary":"Crear nuevas líneas en un documento existente","description":" Nuevo endpoint para poder crear nuevas líneas en un documento ya existente","parameters":[{"name":"tipo","in":"path","required":true,"schema":{"type":"string"},"description":"Tipo de documento (e.g., 'dv', 'fv', 'av')"},{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Identificador del documento"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"lineas":{"type":"array","items":{"type":"object","properties":{"codart":{"type":"string"},"desclin":{"type":"string"},"unidades":{"type":"integer"}},"required":["codart","desclin","unidades"]}}},"required":["lineas"]}}}},"responses":{"200":{"description":"Se ha eliminado la linea de componente de el deposito de venta","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"No se ha encontrado el endpoint"},"406":{"description":"Error al actualizar el el deposito de venta","content":{"application/json":{"schema":{"type":"object","properties":{"Error":{"type":"string"}}}}}}}}}}}
```

## Añadir nuevo detalle de línea

> Añadir un nuevo detalle a la línea de un documento.

```json
{"openapi":"3.0.3","info":{"title":"API de Gestión de Documentos","version":"1.0"},"servers":[{"url":"https://<domain>:<port>/api"}],"security":[{"name":[]}],"components":{"securitySchemes":{"name":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Utiliza un token JWT para autenticarte. El token debe ser enviado en el encabezado\nAuthorization\n"}}},"paths":{"/documento/{tipo}/nuevosdetalleslinea/iddocumento/{id}/numlin/{numlin}":{"put":{"summary":"Añadir nuevo detalle de línea","description":"Añadir un nuevo detalle a la línea de un documento.","parameters":[{"name":"tipo","in":"path","required":true,"schema":{"type":"string"},"description":"Tipo de documento (e.g., 'dv', 'fv', 'av')"},{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Identificador del documento"},{"name":"numlin","in":"path","required":true,"schema":{"type":"integer"},"description":"Número de la línea, no es el identificador (camp. numlin)"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"Unidades":{"type":"string","description":"Es importante actualizar este número para que coincida con el total de unidades del detalle"},"Detalle":{"type":"array","items":{"type":"object","properties":{"unidades":{"type":"string"},"lote":{"type":"string"},"feccaduc":{"type":"string"}}}}}}}}},"responses":{"200":{"description":"Se ha actualizado el detalle.","content":{"application/json":{"schema":{"type":"object","properties":{"Documento":{"type":"string"}}}}}},"302":{"description":"El documento no existe"},"401":{"description":"Unauthorized"},"404":{"description":"No se ha encontrado el endpoint"},"406":{"description":"No existe la línea o el json no es correcto","content":{"application/json":{"schema":{"type":"object","properties":{"Error":{"type":"string"}}}}}}}}}}}
```

## Añadir nuevos componentes a una línea

> Añade componentes a la línea de un documento. Para que un artículo tenga componentes, es necesario que en su estructura se indique que es KIT.

```json
{"openapi":"3.0.3","info":{"title":"API de Gestión de Documentos","version":"1.0"},"servers":[{"url":"https://<domain>:<port>/api"}],"security":[{"name":[]}],"components":{"securitySchemes":{"name":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Utiliza un token JWT para autenticarte. El token debe ser enviado en el encabezado\nAuthorization\n"}}},"paths":{"/documento/{tipo}/nuevoscomponenteslinea/iddocumento/{id}/numlin/{numlin}":{"put":{"summary":"Añadir nuevos componentes a una línea","description":"Añade componentes a la línea de un documento. Para que un artículo tenga componentes, es necesario que en su estructura se indique que es KIT.","parameters":[{"name":"tipo","in":"path","required":true,"schema":{"type":"string"},"description":"Tipo de documento (e.g., 'dv', 'fv', 'av')"},{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Identificador del documento"},{"name":"numlin","in":"path","required":true,"schema":{"type":"integer"},"description":"Número de la línea, no es el identificador (camp. numlin)"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"componentes":{"type":"array","items":{"type":"object","properties":{"Codart":{"type":"string"},"Unidades":{"type":"string"}}}}}}}}},"responses":{"200":{"description":"Se han actualizado los componentes .","content":{"application/json":{"schema":{"type":"object","properties":{"Documento":{"type":"string"}}}}}},"302":{"description":"El documento no existe"},"401":{"description":"Unauthorized"},"404":{"description":"No se ha encontrado el endpoint"},"406":{"description":"No existe la línea o el json no es correcto","content":{"application/json":{"schema":{"type":"object","properties":{"Error":{"type":"string"}}}}}}}}}}}
```

<details>

<summary>Body de Modificar un documento</summary>

Modificar un pedido

<https://servidor:5555/api/documento/PV/65>

```json
[
    {
    "fecha": "01/09/2021",
     "codcli": "12",
     "serie": "2022",
     "codalm": " 1",
     "fecentrega": "02/09/2021",
     "lineas":[
            { "numlinped": "1",
              "codart": "3",
              "unidades": "4",
              "prcmoneda": "33",
              "desc1": "10"
            },
            { "numlinped": "2",
              "codart": "4C",
              "unidades": "5",
              "prcmoneda": "24",
              "desc1": "15"
            }
            ]
    }
]
```

</details>

## Llamadas DELETE

## Eliminación de documentos

> Elimina un documento identificándolo por su tipo e id.

```json
{"openapi":"3.0.3","info":{"title":"API de Gestión de Documentos","version":"1.0"},"servers":[{"url":"https://<domain>:<port>/api"}],"security":[{"name":[]}],"components":{"securitySchemes":{"name":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Utiliza un token JWT para autenticarte. El token debe ser enviado en el encabezado\nAuthorization\n"}}},"paths":{"/documento/{tipo}/{id}":{"delete":{"summary":"Eliminación de documentos","description":"Elimina un documento identificándolo por su tipo e id.","parameters":[{"name":"tipo","in":"path","required":true,"schema":{"type":"string"},"description":"Tipo de documento (e.g., 'dv', 'fv', 'av')"},{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Identificador del documento"}],"responses":{"200":{"description":"Se ha eliminado el documento correctamente"},"401":{"description":"Unauthorized"},"404":{"description":"No se ha encontrado el endpoint"},"406":{"description":"Error al eliminar el documento"}}}}}}
```

## Eliminación de lineas de documentos

> Elimina la línea de un documento identificándola por el id del documento y el idlin de la línea.

```json
{"openapi":"3.0.3","info":{"title":"API de Gestión de Documentos","version":"1.0"},"servers":[{"url":"https://<domain>:<port>/api"}],"security":[{"name":[]}],"components":{"securitySchemes":{"name":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Utiliza un token JWT para autenticarte. El token debe ser enviado en el encabezado\nAuthorization\n"}}},"paths":{"/documento/{tipo}/{id}/linea/{numlin}":{"delete":{"summary":"Eliminación de lineas de documentos","description":"Elimina la línea de un documento identificándola por el id del documento y el idlin de la línea.","parameters":[{"name":"tipo","in":"path","required":true,"schema":{"type":"string"},"description":"Tipo de documento (e.g., 'dv', 'fv')"},{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Identificador del documento"},{"name":"numlin","in":"path","required":true,"schema":{"type":"integer"},"description":"Identificador de la línea a borrar"}],"responses":{"200":{"description":"Se ha eliminado la linea de el deposito de venta"},"401":{"description":"Unauthorized"},"404":{"description":"No se ha encontrado el endpoint"},"406":{"description":"No existe la línea a borrar"}}}}}}
```

## Para eliminar componentes de la línea

> Elimina un componente de una línea de un documento identificándola por el id del documento y el Idlin de la línea.

```json
{"openapi":"3.0.3","info":{"title":"API de Gestión de Documentos","version":"1.0"},"servers":[{"url":"https://<domain>:<port>/api"}],"security":[{"name":[]}],"components":{"securitySchemes":{"name":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Utiliza un token JWT para autenticarte. El token debe ser enviado en el encabezado\nAuthorization\n"}}},"paths":{"/documento/{tipo}/{id}/componentelinea/{numlin}":{"delete":{"summary":"Para eliminar componentes de la línea","description":"Elimina un componente de una línea de un documento identificándola por el id del documento y el Idlin de la línea.","parameters":[{"name":"tipo","in":"path","required":true,"schema":{"type":"string"},"description":"Tipo de documento (e.g., 'dv', 'fv')"},{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Identificador del documento"},{"name":"numlin","in":"path","required":true,"schema":{"type":"integer"},"description":"Identificador de la línea a borrar"}],"responses":{"200":{"description":"Se ha eliminado la linea de componente de el deposito de venta"},"401":{"description":"Unauthorized"},"404":{"description":"No se ha encontrado el endpoint"},"406":{"description":"No existe la línea a borrar"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://a3erpapi.appcloud.es/documentacion/api-basicos/documento.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
