Documento

Acceso a datos de todos los documentos de a3ERP (compras, ventas y stocks)

Parámetros

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

Parámetros

Campos de Documentos

En el siguiente enlace puedes consultar todos los campos de A3.

Llamadas GET

Filtrado

En el siguiente enlace puedes consultar como filtrar esta llamada.

Recuperar todos los datos del documento

get

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

Ejemplo:

https://servidor:5555/api/documento/PV

Parámetros de ruta
tipostringRequerido

El tipo de documento

Parámetros de encabezado
AuthorizationstringRequerido

Bearer + JWT_token

Respuestas
200
Devuelve un Array Objetos con todos los datos del documento
get
GET /api/documento/{tipo} HTTP/1.1
Host: servidor:<puerto>
Authorization: text
Accept: */*
200

Devuelve un Array Objetos con todos los datos del documento

Sin contenido

Impresión en PDF

get

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

Ejemplo:

https://servidor:5555/api/documento/PV/impresion/50

Parámetros de ruta
tipostringRequerido

El tipo de documento

idstringRequerido

El identificador del documento

modelostringRequerido

El modelo del documento

Parámetros de encabezado
AuthorizationstringRequerido

Bearer + JWT_token

Respuestas
200
Devolverá un Array Objeto con el documento en base64
application/json
get
GET /api/documento/{tipo}/impresion/{id}/modelo/{modelo} HTTP/1.1
Host: servidor:<puerto>
Authorization: text
Accept: */*
200

Devolverá un Array Objeto con el documento en base64

[
  {
    "documento": "Codigo en base64"
  }
]

Cabeceras de documento

get

Al añadir a la ruta /{id} permite elegir una cabecera de documentos en concreto y no el listado de todos las cabeceras de documento.

Ejemplo:

https://servidor:5555/api/cabeceradocumento/PV/50

Parámetros de ruta
tipostringRequerido

El tipo de documento

idstringRequerido

El identificador del documento a anular

Parámetros de encabezado
AuthorizationstringRequerido

Bearer + JWT_token

Respuestas
200
Devuelve la cabecera de un documento en concreto
get
GET /api/cabeceradocumento/{tipo}/{id} HTTP/1.1
Host: servidor:<puerto>
Authorization: text
Accept: */*
200

Devuelve la cabecera de un documento en concreto

Sin contenido

Servir documentos

get

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

Autorizaciones
Parámetros de ruta
tipostringRequerido

Tipo de documento (e.g., 'dv', 'fv', 'av')

idintegerRequerido

El documento a servir, si son líneas no hay que ponerlo

servirstringRequerido

servirapedido, serviraalbaran, servirafactura, serviradeposito

Respuestas
200
documento servido
application/json
get
GET /api/documento/{tipo}/{servir}/{id} HTTP/1.1
Host: <domain>:<port>
Authorization: Bearer JWT
Accept: */*
{
  " Identificador ": "text"
}

Impresión de documentos por GUID

get

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

Parámetros de ruta
tipostringRequerido

Tipo de documento (e.g., 'dv', 'fv', 'av')

guidstringRequerido

Identificador del documento público

Respuestas
200
documento servido
application/json
get
GET /api/documento/{tipo}/impresionguid/{guid} HTTP/1.1
Host: <domain>:<port>
Accept: */*
{
  "Documento": "text"
}

Llamadas POST

Servir lineas

post

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

Autorizaciones
Parámetros de ruta
servirstringRequerido

servirlineasapedido, servirlineasaalbaran, servirlineasadeposito

Cuerpo
fechastringRequeridoExample: 13/06/2025
codigostringRequerido

Código proveedor/cliente

tipostring · enumRequerido

Compra o Venta (C/V)

Valores posibles:
Respuestas
200
documento servido
application/json
post
POST /api/{servir} HTTP/1.1
Host: <domain>:<port>
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 127

{
  "fecha": "13/06/2025",
  "codigo": "text",
  "tipo": "C",
  "Lineas": [
    {
      "tipo": "P",
      "idlin": "text",
      "unidades": "text",
      "iddocumento": "text"
    }
  ]
}
{
  " Identificador ": "text"
}

Envio de documento por email en PDF

post

Se puede enviar un documento a un correo con los datos proporcionados en un JSON, el modelo no es obligatorio pero al no indicarlo tomara por defecto el del cliente o el proveedor.

Parámetros de ruta
tipostringRequerido

El tipo de documento

idstringRequerido

El identificador del documento

modelostringRequerido

El modelo del documento

Parámetros de encabezado
AuthorizationstringRequerido

Bearer + JWT_token

Cuerpo
Respuestas
200
Correo enviado correctamente
post
POST /api/documento/{tipo}/email/{id}/modelo/{modelo} HTTP/1.1
Host: servidor:<puerto>
Authorization: text
Content-Type: application/json
Accept: */*
Content-Length: 113

{
  "json": {
    "para": "text",
    "cc": "text",
    "ccoo": "text",
    "titulo": "text",
    "asunto": "text",
    "texto": "text",
    "cuerpo": "text"
  }
}
200

Correo enviado correctamente

Sin contenido

Body de Envio de documento por email en PDF

Enviar una factura de venta por email

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

{
    "para": "[email protected]",
    "cc": "[email protected]",
    "cco": "[email protected]",
    "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é[email protected]<p> JNC Sistemas Inform&#225;ticos<p> </b></font> </BODY></HTML>"
}
Body de Servir documentos

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"
          }
        ]
}

Vincular archivos a un documento

post

Podemos vincular un archivo que nos pasen en un JSON a un documento de compra o venta. El archivo se guardará en la carpeta 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.

Parámetros de ruta
tipostringRequerido

El tipo de documento

idstringRequerido

El identificador del documento al que quieres vincular un archivo

Parámetros de encabezado
AuthorizationstringRequerido

Bearer + JWT_token

Cuerpo
Respuestas
200
Vinculado correctamente {Tipo de documento}
post
POST /api/documento/{tipo}/vincular/{id} HTTP/1.1
Host: servidor:<puerto>
Authorization: text
Content-Type: application/json
Accept: */*
Content-Length: 45

{
  "json": {
    "nombre": "text",
    "documento": "text"
  }
}
200

Vinculado correctamente {Tipo de documento}

Sin contenido

Body de Vincular archivos a un documento

Vincular un contrato a una factura

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

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

Alta de nuevo documento

post

Podemos dar de alta un nuevo documento añadiendo un JSON con todos los parámetros del tipo de documento seleccionado.

Parámetros de ruta
tipostringRequerido

El tipo de documento

Parámetros de encabezado
AuthorizationstringRequerido

Bearer + JWT_token

Cuerpo
Respuestas
200
Se ha creado el {tipo de documento}
application/json
post
POST /api/documento/{tipo} HTTP/1.1
Host: servidor:<puerto>
Authorization: text
Content-Type: application/json
Accept: */*
Content-Length: 343

{
  "json": {
    "codalment": "text",
    "codalmsal": "text",
    "fecha": "text",
    "motivo": "text",
    "ico_codcli": "text",
    "ico_centro_coste": "text",
    "ico_envuelo": "text",
    "lineas": [
      {
        "codalment": "text",
        "codalmsal": "text",
        "codart": "text",
        "unidades": "text",
        "detalle": [
          {
            "unidades": "text",
            "feccaduc": "text",
            "ubicacionSal": "text",
            "ubicacionent": "text",
            "numserie": "text"
          }
        ]
      }
    ]
  }
}
200

Se ha creado el {tipo de documento}

{
  "nombre codigo documento": "codigo del documento"
}

Anular un documento

post

Anular un documento completo identificándolo por su id.

Autorizaciones
Parámetros de ruta
tipostringRequerido

Tipo de documento (e.g., 'dv', 'fv', 'av')

idintegerRequerido

Identificador del documento

Respuestas
200
Se ha anulado la línea del documento
application/json
post
POST /api/documento/{tipo}/anular/{id} HTTP/1.1
Host: <domain>:<port>
Authorization: Bearer JWT
Accept: */*
{
  "Documento": "text"
}

Anular todas las líneas de un documento

post

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

Autorizaciones
Parámetros de ruta
tipostringRequerido

Tipo de documento (e.g., 'dv', 'fv', 'av')

idintegerRequerido

Identificador del documento público

numlinintegerRequerido

Identificador de la línea a anular

Respuestas
200
Se ha anulado la línea del documento
application/json
post
POST /api/documento/{tipo}/anular/{id}/linea/{numlin} HTTP/1.1
Host: <domain>:<port>
Authorization: Bearer JWT
Accept: */*
{
  "Documento": "text"
}

Anular varias unidades de línea

post

Anular varias unidades de línea en un documento

Autorizaciones
Parámetros de ruta
tipostringRequerido

Tipo de documento (e.g., 'dv', 'fv', 'av')

idintegerRequerido

Identificador del documento

numlinintegerRequerido

Identificador de la línea a anular

unidadesintegerRequerido

Unidades a anular de la línea

Respuestas
200
Se han anulado correctamente las unidades de la línea.
application/json
post
POST /api/documento/{tipo}/anular/{id}/linea/{numlin}/unidades/{unidades} HTTP/1.1
Host: <domain>:<port>
Authorization: Bearer JWT
Accept: */*
{
  "Documento": "text"
}
Body de Alta de nuevo documento

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"
        }
      ]
    }
  ]
}
]

Llamadas PUT

Modificar un documento

put

Podemos modificar un documento añadiendo un JSON con los parámetros correspondientes, no hay ningún parámetro requerido.

Parámetros de ruta
tipostringRequerido

El tipo de documento

idstringRequerido

El identificador del documento que quieres modificar

Parámetros de encabezado
AuthorizationstringRequerido

Bearer + JWT_token

Cuerpo
Respuestas
200
Se ha actualizado el {documento}
application/json
put
PUT /api/documento/{tipo}/{id} HTTP/1.1
Host: servidor:<puerto>
Authorization: text
Content-Type: application/json
Accept: */*
Content-Length: 192

{
  "json": {
    "fecha": "text",
    "codcli": "text",
    "serie": "text",
    "codalm": "text",
    "fecentrega": "text",
    "lineas": [
      {
        "numlinped": "text",
        "codart": "text",
        "unidades": "text",
        "prcmoneda": "text",
        "desc1": "text"
      }
    ]
  }
}
200

Se ha actualizado el {documento}

{
  "nombre codigo de documento": "Codigo del documento"
}

Crear nuevas líneas en un documento existente

put

Nuevo endpoint para poder crear nuevas líneas en un documento ya existente

Autorizaciones
Parámetros de ruta
tipostringRequerido

Tipo de documento (e.g., 'dv', 'fv', 'av')

idintegerRequerido

Identificador del documento

Cuerpo
Respuestas
200
Se ha eliminado la linea de componente de el deposito de venta
application/json
put
PUT /api/documento/{tipo}/nuevaslineas/{id} HTTP/1.1
Host: <domain>:<port>
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 60

{
  "lineas": [
    {
      "codart": "text",
      "desclin": "text",
      "unidades": 1
    }
  ]
}
{
  "id": "text"
}

Añadir nuevo detalle de línea

put

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

Autorizaciones
Parámetros de ruta
tipostringRequerido

Tipo de documento (e.g., 'dv', 'fv', 'av')

idintegerRequerido

Identificador del documento

numlinintegerRequerido

Número de la línea, no es el identificador (camp. numlin)

Cuerpo
UnidadesstringOpcional

Es importante actualizar este número para que coincida con el total de unidades del detalle

Respuestas
200
Se ha actualizado el detalle.
application/json
put
PUT /api/documento/{tipo}/nuevosdetalleslinea/iddocumento/{id}/numlin/{numlin} HTTP/1.1
Host: <domain>:<port>
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 82

{
  "Unidades": "3",
  "Detalle": [
    {
      "unidades": "1",
      "lote": "L10",
      "feccaduc": "12/12/2027"
    }
  ]
}
{
  "Documento": "text"
}

Añadir nuevos componentes a una línea

put

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.

Autorizaciones
Parámetros de ruta
tipostringRequerido

Tipo de documento (e.g., 'dv', 'fv', 'av')

idintegerRequerido

Identificador del documento

numlinintegerRequerido

Número de la línea, no es el identificador (camp. numlin)

Cuerpo
Respuestas
200
Se han actualizado los componentes .
application/json
put
PUT /api/documento/{tipo}/nuevoscomponenteslinea/iddocumento/{id}/numlin/{numlin} HTTP/1.1
Host: <domain>:<port>
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 50

{
  "componentes": [
    {
      "Codart": "L10",
      "Unidades": "10"
    }
  ]
}
{
  "Documento": "text"
}
Body de Modificar un documento

Modificar un pedido

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

[
    {
    "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"
            }
            ]
    }
]

Llamadas DELETE

Eliminación de un documento

delete
Parámetros de ruta
tipostringRequerido

El tipo de documento

idstringRequerido

El identificador del documento que quieres modificar

Parámetros de encabezado
AuthorizationstringRequerido

Bearer + JWT_token

Respuestas
200
Eliminacion de documento satisfactoria
delete
DELETE /api/documento/{tipo}/{id} HTTP/1.1
Host: servidor:<puerto>
Authorization: text
Accept: */*
200

Eliminacion de documento satisfactoria

Sin contenido

Eliminación de lineas de documentos

delete

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

Autorizaciones
Parámetros de ruta
tipostringRequerido

Tipo de documento (e.g., 'dv', 'fv')

idintegerRequerido

Identificador del documento

numlinintegerRequerido

Identificador de la línea a borrar

Respuestas
200
Se ha eliminado la linea de el deposito de venta
delete
DELETE /api/documento/{tipo}/{id}/linea/{numlin} HTTP/1.1
Host: <domain>:<port>
Authorization: Bearer JWT
Accept: */*

Sin contenido

Para eliminar componentes de la línea

delete

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

Autorizaciones
Parámetros de ruta
tipostringRequerido

Tipo de documento (e.g., 'dv', 'fv')

idintegerRequerido

Identificador del documento

numlinintegerRequerido

Identificador de la línea a borrar

Respuestas
200
Se ha eliminado la linea de componente de el deposito de venta
delete
DELETE /api/documento/{tipo}/{id}/componentelinea/{numlin} HTTP/1.1
Host: <domain>:<port>
Authorization: Bearer JWT
Accept: */*

Sin contenido

Última actualización

¿Te fue útil?