Peticiones

(blue star) Índice

/**/

Introducción

En este documento se van a detallar cada una de las peticiones que, actualmente, se pueden realizar en la API para cada bloque de Apiges Pro (Expedientes, Contactos…). Para el correcto funcionamiento y la obtención de los resultados esperados, se va a especificar en cada petición qué parámetros son obligatorios, los tipos de respuesta y ejemplos de las peticiones para entender mejor el funcionamiento.

Para ello, vamos a hablar primero de los parámetros/headers que comparten todas las peticiones que podemos realizar en la API:

Estándar Request URL

http://<dominio>:<puerto>

Parámetro

Descripción

Obligatorio Ejemplo
<dominio>

Dominio API

192.168.293.365

<puerto>

Puerto API

8080

Estándar cURL

curl --location --request GET 'http://<dominio>:<puerto>/estados' \
--header 'accept-language: <idioma>' \
--header 'Authorization: Bearer <token>'

Header

Descripción

Obligatorio Ejemplo
<idioma>

Idioma para las descripciones

No

es

<token>

Token de acceso

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OH

 

Importante: El tipo de autenticación que se utiliza en la API es JWT, y su nomenclatura es: Bearer <token>

 

Opciones para el parámetro <idioma>:

  • Español: es (valor por defecto)
  • Francés: fr
  • Portugués: pt
  • Catalán: ca
  • Alemán: de
  • Inglés: en
  • Italiano: it

Ejemplo cURL con Headers

curl --location --request GET 'http://<dominio>:<puerto>/estados' \
--header 'accept-language: de' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH'

Estándar Response

Para garantizar la seguridad de la API, se realiza una comprobación a nivel global sobre cada petición para evaluar el token de acceso. Esta validación del token puede provocar dos tipos de respuesta en las peticiones (además de las particulares de cada una de ellas):

401 Usuario no autorizado

403 El usuario no tiene permisos para este ámbito

 

En caso de obtener alguna de estas dos respuestas, intenta autenticarte de nuevo y, si el error persiste, ponte por favor en contacto con Grupo10 a través del apartado Soporte

Autenticación

[GET] /login

Descripción

Método de autenticación a la API. Devuelve un token de acceso a utilizar en el resto de peticiones de la API.

Petición

GET /login

Request URL

http://<dominio>:<puerto>/login?username=<username>&password=<password>

cURL

curl --location --request GET 'http://<dominio>:<puerto>/login?username=<username>&password=<password>'

Parámetro

Descripción

Obligatorio Ejemplo
<username>

Nombre usuario

maria1294

<password>

Contraseña usuario

admin

Ejemplo de request URL

http://192.168.293.365:8071/login?username=maria1294&password=admin

Ejemplo de cURL

curl --location --request GET 'http://192.168.293.365:8071/login?username=maria1294&password=admin'

Para el método de login no hace falta incluir headers

Responses

200 Ha ido correctamente

{
  "statusCode": 200,
  "message": "Petición finalizada correctamente",
  "data": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH"
}

401 Usuario no autorizado

{
  "statusCode": 401,
  "message": "Usuario no autorizado",
  "data": null
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

Articulos

[GET] /articulos

Descripción

Devuelve un listado con los articulos disponibles.

Petición

GET /articulos

Request URL

http://<dominio>:<puerto>/articulos

cURL

curl --location --request GET 'http://<dominio>:<puerto>/articulos' \
--header 'accept-language: <idioma>' \
--header 'Authorization: Bearer <token>'

Importante: no olvidar headers

Ejemplo de request URL

http://192.168.293.365:8071/articulos

Ejemplo de cURL

curl --location --request GET 'http://192.168.293.365:8071/articulos' \
--header 'accept-language: es' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH'

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": [
        {
            "codigo": "EQ",
            "descripcion": "Igual que el/los valor(es)",
            "estado": {
                  "codigo": "A", 
                  "descripcion": "Alta"
            },
            "tipo": {
                  "codigo": "E", 
                  "descripcion": "Factura Emitida"
            },
            "centroCoste": {
                  "codigo": "05", 
                  "descripcion": "GE - Tramitacion de Registro"
            }
        },
        { 
            "codigo": "4ANU", 
            "descripcion": "Cuarta Anulacion",
            "estado": {
                  "codigo": "A", 
                  "descripcion": "Alta"
            },
            "tipo": {
                  "codigo": "R", 
                  "descripcion": "Factura Recibida"
            },
            "centroCoste": {
                  "codigo": "05", 
                  "descripcion": "GE - Tramitacion de Registro"
            }
        }
    ]
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

Generales

[GET] /filtros

Descripción

Devuelve un listado con los filtros disponibles en las búsquedas.

Petición

GET /filtros

Request URL

http://<dominio>:<puerto>/filtros

cURL

curl --location --request GET 'http://<dominio>:<puerto>/filtros' \
--header 'accept-language: <idioma>' \
--header 'Authorization: Bearer <token>'

Importante: no olvidar headers

Ejemplo de request URL

http://192.168.293.365:8071/filtros

Ejemplo de cURL

curl --location --request GET 'http://192.168.293.365:8071/filtros' \
--header 'accept-language: es' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH'

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": [
        {
            "codigo": "EQ",
            "descripcion": "Igual que el/los valor(es)"
        },
        {
            "codigo": "BT",
            "descripcion": "Between - Resultados entre dos valores"
        }
    ]
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[GET] /empresas (blue star) (In progress)

Descripción

Devuelve un listado con las empresas disponibles.

Petición

GET /empresas

Request URL

http://<dominio>:<puerto>/empresas'

cURL

curl --location --request GET 'http://<dominio>:<puerto>/empresas' \
--header 'accept-language: <idioma>' \
--header 'Authorization: Bearer <token>'

Importante: no olvidar headers

Ejemplo de request URL

http://192.168.293.365:8071/empresas'

Ejemplo de cURL

curl --location --request GET 'http://192.168.293.365:8071/empresas' \
--header 'accept-language: es' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH'

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": [
        { 
            "codigo": "E1",
            "descripcion": "Empresa 1",
            "pais": {
                  "codigo": "ES",
                  "descripcion": "España"
            },
            "moneda": {
                  "codigo": "EUR",
                  "descripcion": "Moneda de los estados miembros de EMU"
            },
            "CIF": "R2788776B"
        },
        {
            "codigo": "E2",
            "descripcion": "Empresa 2",
            "pais": {
                  "codigo": "ES",
                  "descripcion": "España"
            },
            "moneda": {
                  "codigo": "EUR",
                  "descripcion": "Moneda de los estados miembros de EMU"
            },
            "CIF": "E0413308""
        },
        {
            "codigo": "E3",
            "descripcion": "Empresa 3",
            "pais": {
                  "codigo": "ES",
                  "descripcion": "España"
            },
            "moneda": {
                  "codigo": "EUR",
                  "descripcion": "Moneda de los estados miembros de EMU"
            },
            "CIF": "R2777776B"
        },
        {
            "codigo": "E4",
            "descripcion": "Empresa 4",
            "pais": {
                  "codigo": "ES",
                  "descripcion": "España"
            },
            "moneda": {
                  "codigo": "EUR",
                  "descripcion": "Moneda de los estados miembros de EMU"
            },
            "CIF": "V04182408"
        }
    ]
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[GET] /estados

Descripción

Devuelve un listado con los estados disponibles.

Petición

GET /estados

Request URL

http://<dominio>:<puerto>/estados

cURL

curl --location --request GET 'http://<dominio>:<puerto>/estados' \
--header 'accept-language: <idioma>' \
--header 'Authorization: Bearer <token>'

Importante: no olvidar headers

Ejemplo de request URL

http://192.168.293.365:8071/estados

Ejemplo de cURL

curl --location --request GET 'http://192.168.293.365:8071/estados' \
--header 'accept-language: es' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH'

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": [
        {
            "codigo": "A",
            "descripcion": "Alta"
        },
        {
            "codigo": "B",
            "descripcion": "Baja"
        }
    ]
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[GET] /idiomas/descripciones

Descripción

Devuelve un listado con los idiomas disponibles.

Petición

GET /idiomas/descripciones

Request URL

http://<dominio>:<puerto>/idiomas/descripciones'

cURL

curl --location --request GET 'http://<dominio>:<puerto>/idiomas/descripciones' \
--header 'accept-language: <idioma>' \
--header 'Authorization: Bearer <token>'

Importante: no olvidar headers

Ejemplo de request URL

http://192.168.293.365:8071/idiomas/descripciones'

Ejemplo de cURL

curl --location --request GET 'http://192.168.293.365:8071/idiomas/descripciones' \
--header 'accept-language: es' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH'

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": [
        {
            "codigo": "bg",
            "descripcion": "Búlgaro"
        },
        {
            "codigo": "en",
            "descripcion": "Inglés"
        },
        {
            "codigo": "es",
            "descripcion": "Español"
        },
        {
            "codigo": "et",
            "descripcion": "Estonio"
        }
    ]
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[GET] /modalidades

Descripción

Devuelve un listado con las modalidades disponibles.

Petición

GET /modalidades

Request URL

http://<dominio>:<puerto>/modalidades'

cURL

curl --location --request GET 'http://<dominio>:<puerto>/modalidades' \
--header 'accept-language: <idioma>' \
--header 'Authorization: Bearer <token>'

Importante: no olvidar headers

Ejemplo de request URL

http://192.168.293.365:8071/modalidades'

Ejemplo de cURL

curl --location --request GET 'http://192.168.293.365:8071/modalidades' \
--header 'accept-language: es' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH'

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": [
        {
            "codigo": "A",
            "descripcion": "Marca de la Unión Europea"
        },
        {
            "codigo": "H",
            "descripcion": "Marca Internacional"
        },
        {
            "codigo": "P",
            "descripcion": "Patente"
        },
        {
            "codigo": "U",
            "descripcion": "Modelo de Utilidad"
        }
    ]
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[GET] /monedas (blue star) (In progress)

Descripción

Devuelve un listado con las monedas disponibles.

Petición

GET /monedas

Request URL

http://<dominio>:<puerto>/monedas'

cURL

curl --location --request GET 'http://<dominio>:<puerto>/monedas' \
--header 'accept-language: <idioma>' \
--header 'Authorization: Bearer <token>'

Importante: no olvidar headers

Ejemplo de request URL

http://192.168.293.365:8071/monedas'

Ejemplo de cURL

curl --location --request GET 'http://192.168.293.365:8071/monedas' \
--header 'accept-language: es' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH'

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": [
        {
            "codigo": "EUR",
            "descripcion": "Moneda de los estados miembros de EMU"
        },
        {
            "codigo": "GBP",
            "descripcion": "Libra Británica"
        },
        {
            "codigo": "USD",
            "descripcion": "Dólar Americano"
        }
    ]
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[GET] /paises

Descripción

Devuelve un listado con los países disponibles.

Petición

GET /paises

Request URL

http://<dominio>:<puerto>/paises'

cURL

curl --location --request GET 'http://<dominio>:<puerto>/paises' \
--header 'accept-language: <idioma>' \
--header 'Authorization: Bearer <token>'

Importante: no olvidar headers

Ejemplo de request URL

http://192.168.293.365:8071/paises'

Ejemplo de cURL

curl --location --request GET 'http://192.168.293.365:8071/paises' \
--header 'accept-language: es' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH'

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": [
        {
            "codigo": "AL",
            "descripcion": "Albania"
        },
        {
            "codigo": "AM",
            "descripcion": "Armenia"
        },
        {
            "codigo": "AR",
            "descripcion": "Argentina"
        },
        {
            "codigo": "AS",
            "descripcion": "Samoa Americana (American Samoa)"
        },
        {
            "codigo": "AT",
            "descripcion": "Austria"
        }
    ]
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[GET] /tipos/anotaciones

Descripción

Devuelve un listado con los tipos disponibles para anotaciones.

Petición

GET /tipos/anotaciones

Request URL

http://<dominio>:<puerto>/tipos/anotaciones'

cURL

curl --location --request GET 'http://localhost:7143/tipos/anotaciones' \ 
--header 'accept: application/json' \ 
--header 'Authorization: Bearer <token>'

Importante: no olvidar headers

Ejemplo de request URL

http://192.168.293.365:8071/tipos/anotaciones'

Ejemplo de cURL

curl --location --request GET 'http://192.168.293.365:8071/tipos/anotaciones' \
--header 'accept-language: es' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH'

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": [
        {
            "codigo": "CARTA",
            "descripcion": "Carta al cliente"
        },
        {
            "codigo": "1AVISO",
            "descripcion": "Primer aviso renovacion"
        }
    ]
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[GET] /tipos/contactos

Descripción

Devuelve un listado con los tipos disponibles para contactos.

Petición

GET /tipos/contactos

Request URL

http://<dominio>:<puerto>/tipos/contactos'

cURL

curl --location --request GET 'http://<dominio>:<puerto>/tipos/contactos' \
--header 'accept-language: <idioma>' \
--header 'Authorization: Bearer <token>'

Importante: no olvidar headers

Ejemplo de request URL

http://192.168.293.365:8071/tipos/contactos'

Ejemplo de cURL

curl --location --request GET 'http://192.168.293.365:8071/tipos/contactos' \
--header 'accept-language: es' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH'

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": [
        {
            "codigo": "A",
            "descripcion": "Agente"
        },
        {
            "codigo": "B",
            "descripcion": "Abogado"
        },
        {
            "codigo": "C",
            "descripcion": "Cliente"
        }
    ]
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[GET] /tipos/descripciones

Descripción

Devuelve un listado con los tipos disponibles para las descripciones.

Petición

GET /tipos/descripciones

Request URL

http://<dominio>:<puerto>/tipos/descripciones'

cURL

curl --location --request GET 'http://<dominio>:<puerto>/tipos/descripciones' \
--header 'accept-language: <idioma>' \
--header 'Authorization: Bearer <token>'

Importante: no olvidar headers

Ejemplo de request URL

http://192.168.293.365:8071/tipos/descripciones'

Ejemplo de cURL

curl --location --request GET 'http://192.168.293.365:8071/tipos/descripciones' \
--header 'accept-language: es' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH'

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": [
        {
            "codigo": "DT",
            "descripcion": "Denominación"
        },
        {
            "codigo": "DE",
            "descripcion": "Descripción"
        },
        {
            "codigo": "IN",
            "descripcion": "Indicación"
        },
        {
            "codigo": "RE",
            "descripcion": "Renuncia"
        }
    ]
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[GET] /tipos/domicilios

Descripción

Devuelve un listado con los tipos disponibles para los domicilios.

Petición

GET /tipos/domicilios

Request URL

http://<dominio>:<puerto>/tipos/domicilios'

cURL

curl --location --request GET 'http://<dominio>:<puerto>/tipos/domicilios' \
--header 'accept-language: <idioma>' \
--header 'Authorization: Bearer <token>'

Importante: no olvidar headers

Ejemplo de request URL

http://192.168.293.365:8071/tipos/domicilios'

Ejemplo de cURL

curl --location --request GET 'http://192.168.293.365:8071/tipos/domicilios' \
--header 'accept-language: es' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH'

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": [
         {
            "codigo": "A",
            "descripcion": "Etiqueta Alternativa"
        },
        {
            "codigo": "C",
            "descripcion": "Solo Correspondencia"
        },
        {
            "codigo": "F",
            "descripcion": "Solo Facturación"
        },
        {
            "codigo": "G",
            "descripcion": "Genérico"
        }
    ]
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

Contactos

[GET] /contactos/{id}

Descripción

Obtiene la información de un contacto, a partir de su identificador.

Petición

GET /contactos/<id>

Parámetro

Descripción

Obligatorio Ejemplo
<id>

Identificador del contacto

6450

Request URL

http://<dominio>:<puerto>/contactos/<id>'

cURL

curl --location --request GET 'http://<dominio>:<puerto>/contactos/<id>' \
--header 'accept-language: <idioma>' \
--header 'Authorization: Bearer <token>'

Importante: no olvidar headers

Ejemplo de request URL

http://192.168.293.365:8071/contactos/3992'

Ejemplo de cURL

curl --location --request GET 'http://192.168.293.365:8071/contactos/3992' \
--header 'accept-language: es' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH'

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": {
        "id": 1,
        "codigo": "4879",
        "tipo": {
            "codigo": "C",
            "descripcion": "Cliente"
        },
        "referencia": "RF39438948",
        "estado": {
            "codigo": "A",
            "descripcion": "Alta"
        }
    }
}

404 No se ha encontrado el contacto

{
    "statusCode": 404,
    "message": "No se ha encontrado el contacto",
    "data": null
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[POST] /contactos

Descripción

Creación de un nuevo contacto. Devuelve el identificador del contacto creado o existente

Petición

POST /contactos

Request URL

http://<dominio>:<puerto>/contactos'

cURL

curl --location --request POST 'http://<dominio>:<puerto>/contactos' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '<body>'

Header

Descripción

Obligatorio
<body>

Información del contacto que queremos crear

Body (request)

{
  "codigo": <codigo>,
  "tipo": <tipo>,
  "estado": <estado>
}

Parámetro

Descripción

Obligatorio Tipo parámetro Longitud máxima parámetro Ejemplo
<codigo>

Código del contacto

Cadena de caracteres

10 caracteres

58634

<tipo>

Tipo del contacto. Consultar petición [GET] /tipos/contactos para más información

Cadena de caracteres

Único carácter

C

<estado>

Estado del contacto. Consultar petición [GET] /estados para más información

No

Cadena de caracteres

Único carácter

B

 

¡Importante!

Al ser una petición POST, tenemos que incluir un header adicional (Content-Type) para indicar el formato del body. Para esta petición es application/json

No olvidar el token

Ejemplo de request URL

http://192.168.293.365:8071/contactos'

Ejemplo de body

{
  "codigo": "58634",
  "tipo": "C",
  "estado": "B"
}

Ejemplo de cURL

curl --location --request POST 'http://192.168.293.365:8071/contactos' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH' \
--header 'Content-Type: application/json' \
--data-raw '{
  "codigo": "58634",
  "tipo": "C",
  "estado": "B"
}'

Responses validaciones de campos

400 Valor no válido para el campo ‘tipo’

{
    "statusCode": 400,
    "message": "Valor 'X' no válido para el campo 'tipo'. [GET]  /tipos/contactos para más información",
    "data": null
}

400 Valor no válido para el campo ‘estado’

{
    "statusCode": 400,
    "message": "Valor 'X' no válido para el campo 'estado'. [GET] /estados para más información",
    "data": null
}

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": 3992
}

409 Ya existe el contacto que está intentando crear

{
    "statusCode": 409,
    "message": "Ya existe el contacto que está intentando crear",
    "data": 3992
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[POST] /contactos/search

Descripción

Búsqueda de contactos con filtros. Devuelve un listado con los contactos que cumplen los filtros de búsqueda.

Petición

POST /contactos/search

Petición con opciones de paginación

POST /contactos/search?PageSize=<size>&PageNumber=<number>

Request URL

http://<dominio>:<puerto>/contactos/search'

Request URL con opciones de paginación

http://<dominio>:<puerto>/contactos/search?PageSize=<size>&PageNumber=<number>'

Parámetro

Descripción

Obligatorio Ejemplo
<size>

Número de elementos por página

No

10

<number>

Número de página

No

2

cURL

curl --location --request POST 'http://<dominio>:<puerto>/contactos/search' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '<body>'

cURL con opciones de paginación

curl --location --request POST 'http://<dominio>:<puerto>/contactos/search?PageSize=<size>&PageNumber=<number>' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '<body>'

Header

Descripción

Obligatorio
<body>

Conjunto de filtros a aplicar sobre la búsqueda

No

Body (request)

{
  "domicilios": [
    {
      "campo": <campo>,
      "valores": <valores>,
      "codigo": <filtro>
    }
  ],
  "titulares": [
    {
      "campo": <campo>,,
      "valores": <valores>,
      "codigo": <filtro>
    }
  ],
  "generales": [
    {
      "campo": <campo>,
      "valores": <valores>,
      "codigo": <filtro>
    }
  ]
}

Parámetro

Descripción

Obligatorio Tipo parámetro
<campo>

Campo por el que se va a aplicar el filtro dentro del bloque al que corresponde. En este caso, sobre contactos, domicilios o titulares

Cadena de caracteres

<valores>

Lista de valores

Lista de valores

<filtro>

Tipo de filtro a aplicar. Consultar petición [GET] /filtros para más información

Cadena de caracteres

 

¡Importante!

Al ser una petición POST, tenemos que incluir un header adicional (Content-Type) para indicar el formato del body. Para esta petición es application/json

No olvidar el token

Ejemplo de request URL

http://192.168.293.365:8071/contactos/search'

Ejemplo de request URL con opciones de paginación

http://192.168.293.365:8071/contactos/search?PageSize=10&PageNumber=2'

Ejemplo de body

{
  "domicilios": [
    {
      "campo": "apellidos",
      "valores": [
        "García"
      ],
      "codigo": "EQ"
    }
  ],
  "titulares": [
    {
      "campo": "apellidos",
      "valores": [
        "S.A."
      ],
      "codigo": "EQ"
    }
  ],
  "generales": [
    {
      "campo": "codigo",
      "valores": [
        "424"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "tipo",
      "valores": [
        "C",
        "A"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "referencia",
      "valores": [
        "RF239348"
      ],
      "codigo": "EQ"
    }
  ]
}

Campo

Descripción

Obligatorio Tipo parámetro

“apellidos”

Filtro sobre el campo apellidos de titulares o domicilios (dependiendo del bloque en el que se encuentre)

No

Cadena de caracteres

“codigo”

Filtro sobre el código de contacto

No

Cadena de caracteres

“tipo”

Filtro sobre el tipo de contacto

No

Cadena de caracteres

“referencia”

Filtro sobre la referencia del contacto

No

Cadena de caracteres

Ejemplo de cURL

curl --location --request POST 'http://192.168.293.365:8071/contactos/search' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH' \
--header 'Content-Type: application/json' \
--data-raw '{
  "domicilios": [
    {
      "campo": "apellidos",
      "valores": [
        "García"
      ],
      "codigo": "EQ"
    }
  ],
  "titulares": [
    {
      "campo": "apellidos",
      "valores": [
        "S.A."
      ],
      "codigo": "EQ"
    }
  ],
  "generales": [
    {
      "campo": "codigo",
      "valores": [
        "424"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "tipo",
      "valores": [
        "C",
        "A"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "referencia",
      "valores": [
        "RF239348"
      ],
      "codigo": "EQ"
    }
  ]
}'

Ejemplo de cURL con opciones de paginación

curl --location --request POST 'http://192.168.293.365:8071/contactos/search?PageSize=10&PageNumber=2' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH' \
--header 'Content-Type: application/json' \
--data-raw '{
  "domicilios": [
    {
      "campo": "apellidos",
      "valores": [
        "García"
      ],
      "codigo": "EQ"
    }
  ],
  "titulares": [
    {
      "campo": "apellidos",
      "valores": [
        "S.A."
      ],
      "codigo": "EQ"
    }
  ],
  "generales": [
    {
      "campo": "codigo",
      "valores": [
        "424"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "tipo",
      "valores": [
        "C",
        "A"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "referencia",
      "valores": [
        "RF239348"
      ],
      "codigo": "EQ"
    }
  ]
}'

Responses validaciones de campos

400 Valor no válido para el campo ‘codigo’

{
    "statusCode": 400,
    "message": "Filtro 'X' no contemplado. [GET] /filtros para más información",
    "data": null
}

400 Valor no válido para el campo ‘campo’

{
    "statusCode": 400,
    "message": "Campo 'X' no contemplado",
    "data": null
}

400 Lista de valores vacía

{
    "statusCode": 400,
    "message": "Se deben informar valores para el tipo de filtro 'EQ'",
    "data": null
}

400 Lista de ‘valores’ con valor vacío

{
    "statusCode": 400,
    "message": "El valor no puede ser nulo",
    "data": null
}

400 Filtro ‘Between’ con más de dos valores

{
    "statusCode": 400,
    "message": "El filtro 'BT' tiene que tener únicamente dos valores",
    "data": null
}

Headers responses

En esta petición, además de devolver un listado con los contactos que cumplen los filtros de búsqueda, en la cabecera de la respuesta se devuelve el parámetro X-Pagination con la siguiente información:

{"TotalCount":<total>,"PageSize":<size>,"CurrentPage":<current_page>,"TotalPages":<total_pages>,"HasNextPage":<has_next_page>,"HasPreviousPage":<has_previous_page>,"NextPageUrl":<next_url>,"PreviousPageUrl":<previous_url>}

Parámetro

Descripción

<total>

Número total de contactos encontrados en la búsqueda

<size>

Número de elementos por página

<current_page>

Página actual

<total_pages>

Número total de páginas

<has_next_page>

Indica si hay página siguiente

<has_previous_page>

Indica si hay página anterior

<next_url>

URL de la siguiente página

<previous_url>

URL de la página anterior

Ejemplo headers responses

{"TotalCount":2432,"PageSize":10,"CurrentPage":1,"TotalPages":244,"HasNextPage":true,"HasPreviousPage":false,"NextPageUrl":"","PreviousPageUrl":""}

Responses

200 Ha ido correctamente

{
  "statusCode": 200,
  "message": "Petición finalizada correctamente",
  "data": [
    {
      "id": 1,
      "codigo": "4879",
      "tipo": {
        "codigo": "C",
        "descripcion": "Cliente"
      },
      "referencia": "RF39438948",
      "estado": {
        "codigo": "B",
        "descripcion": "Baja"
      },
      "domicilios": [
        {
          "id": 4,
          "nombre": "María",
          "apellidos": "García",
          "domicilio": "Calle Los Arenales",
          "poblacion": "Valencia",
          "tipo": {
            "codigo": "G",
            "descripcion": "Genérico"
          }
        }
      ],
      "titulares": [
        {
           "id": 1,
           "nombre": null,
           "apellidos": "Empresa S.A."
        },
        {
           "id": 2,
           "nombre": "Juan",
            "apellidos": "Gómez"
        }        
      ]      
    },
    {
      "id": 2,
      "codigo": "68798",
      "tipo": {
        "codigo": "A",
        "descripcion": "Agente"
      },
      "referencia": "DG29849348",
      "estado": {
        "codigo": "A",
        "descripcion": "Alta"
      },
      "domicilios": [],
      "titulares": []
    }
  ]
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[GET] /contactos/{id}/domicilios

Descripción

Obtiene los domicilios de un contacto.

Petición

GET /contactos/<id>/domicilios

Parámetro

Descripción

Obligatorio Ejemplo
<id>

Identificador del contacto

6450

Request URL

http://<dominio>:<puerto>/contactos/<id>/domicilios'

cURL

curl --location --request GET 'http://<dominio>:<puerto>/contactos/<id>/domicilios' \
--header 'accept-language: <idioma>' \
--header 'Authorization: Bearer <token>'

Importante: no olvidar headers

Ejemplo de request URL

http://192.168.293.365:8071/contactos/3992/domicilios'

Ejemplo de cURL

curl --location --request GET 'http://192.168.293.365:8071/contactos/3992/domicilios' \
--header 'accept-language: es' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH'

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": [
        {
            "id": 1,
            "nombre": "Natalia",
            "apellidos": "García",
            "domicilio": "Wayna Aero",
            "poblacion": "Valencia",
            "tipo": {
                "codigo": "A",
                "descripcion": "Etiqueta Alternativa"
            }
        },
        {
            "id": 2,
            "nombre": "María",
            "apellidos": "Fernandez",
            "domicilio": "Yedra Centro",
            "poblacion": "Madrid",
            "tipo": {
                "codigo": "G",
                "descripcion": "Genérico"
            }
        }
    ]
}

404 No se ha encontrado el contacto

{
    "statusCode": 404,
    "message": "No se ha encontrado el contacto",
    "data": null
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[POST] /contactos/{id}/domicilios

Descripción

Creación de un nuevo domicilio asociado a un contacto. Devuelve el identificador del domicilio creado o existente.

Petición

POST /contactos/<id>/domicilios

Parámetro

Descripción

Obligatorio Ejemplo
<id>

Identificador del contacto

6450

Request URL

http://<dominio>:<puerto>/contactos/<id>/domicilios'

cURL

curl --location --request POST 'http://<dominio>:<puerto>/contactos/<id>/domicilios' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '<body>'

Header

Descripción

Obligatorio
<body>

Información del domicilio que queremos crear

Body (request)

{
  "apellidos": <apellidos>,
  "tipo": <tipo>
}

Parámetro

Descripción

Obligatorio Tipo parámetro Longitud máxima parámetro Ejemplo
<apellidos>

Apellidos

Cadena de caracteres

100 caracteres

García Fernández

<tipo>

Tipo del domicilio. Consultar petición [GET] /tipos/domicilios para más información

Cadena de caracteres

Único carácter

A

 

¡Importante!

Al ser una petición POST, tenemos que incluir un header adicional (Content-Type) para indicar el formato del body. Para esta petición es application/json

No olvidar el token

Ejemplo de request URL

http://192.168.293.365:8071/contactos/<id>/domicilios'

Ejemplo de body

{
  "apellidos": "García Fernández",
  "tipo": "A"
}

Ejemplo de cURL

curl --location --request POST 'http://192.168.293.365:8071/contactos/6450/domicilios' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH' \
--header 'Content-Type: application/json' \
--data-raw '{
  "apellidos": "García Fernández",
  "tipo": "A"
}'

Responses validaciones de campos

400 Valor no válido para el campo ‘tipo’

{
    "statusCode": 400,
    "message": "Valor 'X' no válido para el campo 'tipo'. [GET]  /tipos/domicilios para más información",
    "data": null
}

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": 3992
}

404 No se ha encontrado el contacto

{
    "statusCode": 404,
    "message": "No se ha encontrado el contacto",
    "data": null
}

409 Ya existe el domicilio que está intentando crear

{
    "statusCode": 409,
    "message": "Ya existe el domicilio que está intentando crear",
    "data": 3992
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[PUT] /contactos/{id}/domicilios/{idDomicilio}

Descripción

Modificación de un domicilio asociado a un contacto.

Petición

PUT /contactos/<id>/domicilios/<idDomicilio>

Parámetro

Descripción

Obligatorio Ejemplo
<id>

Identificador del contacto

6450

<idDomicilio>

Identificador del domicilio a modificar

450

Request URL

http://<dominio>:<puerto>/contactos/<id>/domicilios/<idDomicilio>'

cURL

curl --location --request PUT 'http://<dominio>:<puerto>/contactos/<id>/domicilios/<idDomicilio>' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '<body>'

Header

Descripción

Obligatorio
<body>

Información del domicilio que queremos actualizar

Body (request)

{
  "apellidos": <apellidos>
}

Parámetro

Descripción

Obligatorio Tipo parámetro Longitud máxima parámetro Ejemplo
<apellidos>

Apellidos

Cadena de caracteres

100 caracteres

García Fernández

 

¡Importante!

Al ser una petición PUT, tenemos que incluir un header adicional (Content-Type) para indicar el formato del body. Para esta petición es application/json

No olvidar el token

Ejemplo de request URL

http://192.168.293.365:8071/contactos/<id>/domicilios/<idDomicilio>'

Ejemplo de body

{
  "apellidos": "García Fernández"
}

Ejemplo de cURL

curl --location --request PUT 'http://192.168.293.365:8071/contactos/6450/domicilios/450' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH' \
--header 'Content-Type: application/json' \
--data-raw '{
  "apellidos": "García Fernández"
}'

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": null
}

404 No se ha encontrado el contacto

{
    "statusCode": 404,
    "message": "No se ha encontrado el contacto",
    "data": null
}

404 No se ha encontrado el domicilio

{
    "statusCode": 404,
    "message": "No se ha encontrado el domicilio",
    "data": null
}

409 El domicilio existe pero no pertenece a ese contacto

{
    "statusCode": 409,
    "message": "El domicilio existe pero no pertenece a ese contacto",
    "data": null
}

409 Ya existe un domicilio con esas características para ese contacto

{
    "statusCode": 409,
    "message": "Ya existe un domicilio con esas características para ese contacto",
    "data": null
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[GET] /contactos/{id}/titulares

Descripción

Obtiene los titulares de un cliente.

Petición

GET /contactos/<id>/titulares

Parámetro

Descripción

Obligatorio Ejemplo
<id>

Identificador del contacto de tipo cliente

6450

Request URL

http://<dominio>:<puerto>/contactos/<id>/titulares'

cURL

curl --location --request GET 'http://<dominio>:<puerto>/contactos/<id>/titulares' \
--header 'accept-language: <idioma>' \
--header 'Authorization: Bearer <token>'

Importante: no olvidar headers

Ejemplo de request URL

http://192.168.293.365:8071/contactos/3992/titulares'

Ejemplo de cURL

curl --location --request GET 'http://192.168.293.365:8071/contactos/3992/titulares' \
--header 'accept-language: es' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH'

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": [
        {
            "id": 1,
            "nombre": "Natalia",
            "apellidos": "García"
        },
        {
            "id": 2,
            "nombre": null,
            "apellidos": "LU S.A."
        }
    ]
}

404 No se ha encontrado el contacto

{
    "statusCode": 404,
    "message": "No se ha encontrado el contacto",
    "data": null
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[POST] /contactos/{id}/titulares

Descripción

Creación de un titular a un cliente en concreto. Devuelve el identificador del titular creado o existente.

Petición

POST /contactos/<id>/titulares

Parámetro

Descripción

Obligatorio Ejemplo
<id>

Identificador del contacto de tipo cliente

6450

Request URL

http://<dominio>:<puerto>/contactos/<id>/titulares'

cURL

curl --location --request POST 'http://<dominio>:<puerto>/contactos/<id>/titulares' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '<body>'

Header

Descripción

Obligatorio
<body>

Información del titular que queremos crear

Body (request)

{
  "nombre": <nombre>,
  "apellidos": <apellidos>
}

Parámetro

Descripción

Obligatorio Tipo parámetro Longitud máxima parámetro Ejemplo
<nombre>

Nombre del titular

No

Cadena de caracteres

50 caracteres

Juan

<apellidos>

Apellidos del titular

Cadena de caracteres

250 caracteres

García Fernández

 

¡Importante!

Al ser una petición POST, tenemos que incluir un header adicional (Content-Type) para indicar el formato del body. Para esta petición es application/json.

No olvidar el token

Ejemplo de request URL

http://192.168.293.365:8071/contactos/<id>/titulares'

Ejemplo de body

{
  "nombre": "Juan",
  "apellidos": "García Fernández"
}

Ejemplo de cURL

curl --location --request POST 'http://192.168.293.365:8071/contactos/6450/titulares' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH' \
--header 'Content-Type: application/json' \
--data-raw '{
  "nombre": "Juan",
  "apellidos": "García Fernández"
}'

Responses validaciones de campos

400 El contacto no es un cliente

{
    "statusCode": 400,
    "message": "El contacto 'X' no es un cliente",
    "data": null
}

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": 3992
}

404 No se ha encontrado el contacto

{
    "statusCode": 404,
    "message": "No se ha encontrado el contacto",
    "data": null
}

409 Ya existe la relación que está intentando crear

{
    "statusCode": 409,
    "message": "Ya existe el titular para el contacto 'X'",
    "data": 3992
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

Expedientes

[GET] /expedientes/{id}

Descripción

Obtiene la información de un expediente a partir de su identificador.

Petición

GET /expedientes/<id>

Parámetro

Descripción

Obligatorio Ejemplo
<id>

Identificador del expediente

6450

Request URL

http://<dominio>:<puerto>/expedientes/<id>'

cURL

curl --location --request GET 'http://<dominio>:<puerto>/expedientes/<id>' \
--header 'accept-language: <idioma>' \
--header 'Authorization: Bearer <token>'

Importante: no olvidar headers

Ejemplo de request URL

http://192.168.293.365:8071/expedientes/3992'

Ejemplo de cURL

curl --location --request GET 'http://192.168.293.365:8071/expedientes/3992' \
--header 'accept-language: es' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH'

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": {
        "id": 1,
        "estado": {
            "codigo": "B",
            "descripcion": "Baja"
        },
        "modalidad": {
            "codigo": "M",
            "descripcion": "Marca Nacional"
        },      
        "numero": "4123111",
        "pais": {
            "codigo": "ES",
            "descripcion": "España"
        },
        "bis": "4",    
        "fechaVencimiento": "20/06/2025",
        "referencia": null,
        "descripciones": [
            {
                "id": 27297,
                "tipo": {
                    "codigo": "DT",
                    "descripcion": "Denominación"
                },
                "descripcion": "Culture",
                "idioma": {
                    "codigo": "es",
                    "descripcion": "Español"
                }
            }
        ]
    }
}

404 No se ha encontrado el expediente

{
    "statusCode": 404,
    "message": "No se ha encontrado el expediente",
    "data": null
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[PUT] /expedientes/{id}

Descripción

Modificación de un expediente.

Petición

PUT /expedientes/<id>

Parámetro

Descripción

Obligatorio Ejemplo
<id>

Identificador del expediente

6450

Request URL

http://<dominio>:<puerto>/expedientes/<id>'

cURL

curl --location --request PUT 'http://<dominio>:<puerto>/expedientes/<id>' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '<body>'

Header

Descripción

Obligatorio
<body>

Información del expediente que queremos modificar

Body (request)

{
  "estado": <estado>,
  "descripciones": [
    {
      "tipo": <tipo_descripcion>,
      "descripcion": <descripcion>,
      "idioma": <idioma_descripcion>
    }
  ]
}

Parámetro

Descripción

Obligatorio Tipo parámetro Longitud máxima parámetro Ejemplo
<estado>

Estado del expediente. Consultar petición [GET] /estados para más información

No

Cadena de caracteres

Único carácter

B

“descripciones”

Bloque opcional para las denominaciones

No

<tipo_descripcion>

Tipo de descripción. Consultar petición [GET] /tipos/descripciones para más información

Cadena de caracteres

2 caracteres

DE

<descripcion>

Descripción

No

Cadena de caracteres. Si se informa a vacío (““), se eliminará la descripción.

Culture

<idioma_descripcion>

Idioma de la descripción. Consultar petición [GET] /idiomas/descripciones para más información

Cadena de caracteres

2 caracteres

es

 

¡Importante!

Si se hace referencia a un descripción existente con valor ““ en el campo <descripcion> se realizará un borrado de dicha descripción. En caso contrario, se actualizará.

Si no existe, se creará como nueva descripción

¡Importante!

Al ser una petición PUT, tenemos que incluir un header adicional (Content-Type) para indicar el formato del body. Para esta petición es application/json.

No olvidar el token

Ejemplo de request URL

http://192.168.293.365:8071/expedientes/6450'

Ejemplo de body

{
  "estado": "B",
  "descripciones": [
    {
      "tipo": "DE",
      "descripcion": "Culture",
      "idioma": "es"
    }
  ]
}

Ejemplo de cURL

curl --location --request PUT 'http://192.168.293.365:8071/expedientes/6450' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH' \
--header 'Content-Type: application/json' \
--data-raw '{
  "estado": "B",
  "descripciones": [
    {
      "tipo": "DE",
      "descripcion": "Culture",
      "idioma": "es"
    }
  ]
}'

Responses validaciones de campos

400 Valor no válido para el campo ‘estado’

{
    "statusCode": 400,
    "message": "Valor 'X' no válido para el campo 'estado'. [GET] /estados para más información",
    "data": null
}

Responses control descripciones

400 Valor no válido para el campo ‘idioma’

{
    "statusCode": 400,
    "message": "Valor 'X' no válido para el campo 'idioma'. [GET] /idiomas/descripciones para más información",
    "data": null
}

400 Valor no válido para el campo ‘tipo’

{
    "statusCode": 400,
    "message": "Valor 'X' no válido para el campo 'tipo'. [GET] /tipos/descripciones para más información",
    "data": null
}

400 Claves duplicadas en la lista de descripciones

{
    "statusCode": 400,
    "message": "Descripciones duplicadas. Clave duplicada { Elemento = { Tipo = DE, Idioma = es }, Ocurrencias = 2 }",
    "data": null
}

400 Incluir varias denominaciones para modalidades distintas de patentes

{
    "statusCode": 400,
    "message": "Este tipo de modalidad no permite guardar varias denominaciones",
    "data": null
}

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": null
}

404 No se ha encontrado el expediente

{
    "statusCode": 404,
    "message": "No se ha encontrado el expediente",
    "data": null
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[POST] /expedientes

Descripción

Creación de un nuevo expediente. Devuelve el identificador del expediente creado o existente.

Petición

POST /expedientes

Request URL

http://<dominio>:<puerto>/expedientes'

cURL

curl --location --request POST 'http://<dominio>:<puerto>/expedientes' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '<body>'

Header

Descripción

Obligatorio
<body>

Información del expediente que queremos crear

Body (request)

{
  "idContacto": <idContacto>,
  "estado": <estado>,
  "modalidad": <modalidad>,
  "numero": <numero>,
  "pais": <pais>,
  "bis": <bis>,
  "referencia": <referencia>,
  "descripciones": [
    {
      "tipo": <tipo_descripcion>,
      "descripcion": <descripcion>,
      "idioma": <idioma_descripcion>
    }
  ],
  "titulares": [
    {
      "id": <titular>
    }
   ]
  ]
}

Parámetro

Descripción

Obligatorio Tipo parámetro Longitud máxima parámetro Ejemplo
<idContacto>

Identificador del contacto al que pertenece el expediente

Numérico

6450

<estado>

Estado del expediente. Consultar petición [GET] /estados para más información

No

Cadena de caracteres

Único carácter

B

<modalidad>

Modalidad del expediente. Consultar petición [GET] /modalidades para más información

No

Cadena de caracteres

10 caracteres

M

<numero>

Número del expediente

Cadena de caracteres

30 caracteres

578549

<pais>

País del expediente. Consultar petición [GET] /países para más información

No

Cadena de caracteres

2 caracteres

ES

<bis>

Bis del expediente

No

Cadena de caracteres

3 caracteres

4

<referencia>

Referencia del expediente

No

Cadena de caracteres

100 caracteres

RF938439845

“descripciones”

Bloque opcional para las denominaciones

No

<tipo_descripcion>

Tipo de descripción. Consultar petición [GET] /tipos/descripciones para más información

Cadena de caracteres

2 caracteres

DE

<descripcion>

Descripción

No

Cadena de caracteres

Culture

<idioma_descripcion>

Idioma de la descripción. Consultar petición [GET] /idiomas/descripciones para más información

Cadena de caracteres

2 caracteres

es

“titulares”

Bloque opcional para introducir un listado de los titulares del expediente

No

<titular>

Identificador del titular

No

Numérico

735

 

¡Importante!

Al ser una petición POST, tenemos que incluir un header adicional (Content-Type) para indicar el formato del body. Para esta petición es application/json

No olvidar el token

Ejemplo de request URL

http://192.168.293.365:8071/expedientes'

Ejemplo de body

{
  "idContacto": 735,
  "numero": "578549",
  "modalidad": "M",
  "pais": "ES",
  "bis": "4",
  "referencia": "RF938439845",
  "estado": "B",
  "descripciones": [
    {
      "tipo": "DE",
      "descripcion": "Culture",
      "idioma": "es"
    }
  ],
  "titulares": [
    {
      "id": 735
    },
    {
      "id": 789
    },
    {
      "id": 898
    }
  ]
}

Ejemplo de cURL

curl --location --request POST 'http://192.168.293.365:8071/expedientes' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH' \
--header 'Content-Type: application/json' \
--data-raw '{
  "idContacto": 735,
  "numero": "578549",
  "modalidad": "M",
  "pais": "ES",
  "bis": "4",
  "referencia": "RF938439845",
  "estado": "B",
  "descripciones": [
    {
      "tipo": "DE",
      "descripcion": "Culture",
      "idioma": "es"
    }
  ],
  "titulares": [
    {
      "id": 735
    },
    {
      "id": 789
    },
    {
      "id": 898
    }
  ]
}'

Responses validaciones de campos

400 Valor no válido para el campo ‘modalidad’

{
    "statusCode": 400,
    "message": "Valor 'X' no válido para el campo 'modalidad'. [GET] /modalidades para más información",
    "data": null
}

400 Valor no válido para el campo ‘pais’

{
    "statusCode": 400,
    "message": "Valor 'X' no válido para el campo 'pais'. [GET] /paises para más información",
    "data": null
}

400 Valor no válido para el campo ‘estado’

{
    "statusCode": 400,
    "message": "Valor 'X' no válido para el campo 'estado'. [GET] /estados para más información",
    "data": null
}

Responses control descripciones

400 Valor no válido para el campo ‘idioma’

{
    "statusCode": 400,
    "message": "Valor 'X' no válido para el campo 'idioma'. [GET] /idiomas/descripciones para más información",
    "data": null
}

400 Valor no válido para el campo ‘tipo’

{
    "statusCode": 400,
    "message": "Valor 'X' no válido para el campo 'tipo'. [GET] /tipos/descripciones para más información",
    "data": null
}

400 Claves duplicadas en la lista de descripciones

{
    "statusCode": 400,
    "message": "Descripciones duplicadas. Clave duplicada { Elemento = { Tipo = DE, Idioma = es }, Ocurrencias = 2 }",
    "data": null
}

400 Incluir varias denominaciones para modalidades distintas de patentes

{
    "statusCode": 400,
    "message": "Este tipo de modalidad no permite guardar varias denominaciones",
    "data": null
}

Responses control titulares

400 Titular no existente

{
    "statusCode": 400,
    "message": "No existe el titular 'X'",
    "data": null
}

400 Asociar un titular de un cliente diferente al del expediente

{
    "statusCode": 400,
    "message": "No se puede asociar un titular de un cliente diferente al del expediente",
    "data": null
}

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": 3992
}

404 No se ha encontrado el contacto

{
    "statusCode": 404,
    "message": "No se ha encontrado el contacto",
    "data": null
}

409 Ya existe el expediente que está intentando crear

{
    "statusCode": 409,
    "message": "Ya existe el expediente que está intentando crear",
    "data": 3992
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[POST] /expedientes/search

Descripción

Búsqueda de expedientes con filtros. Devuelve un listado con los expedientes que cumplen los filtros de búsqueda.

Petición

POST /expedientes/search

Petición con opciones de paginación

POST /expedientes/search?PageSize=<size>&PageNumber=<number>

Request URL

http://<dominio>:<puerto>/expedientes/search'

Request URL con opciones de paginación

http://<dominio>:<puerto>/expedientes/search?PageSize=<size>&PageNumber=<number>'

Parámetro

Descripción

Obligatorio Ejemplo
<size>

Número de elementos por página

No

10

<number>

Número de página

No

2

cURL

curl --location --request POST 'http://<dominio>:<puerto>/expedientes/search' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '<body>'

cURL con opciones de paginación

curl --location --request POST 'http://<dominio>:<puerto>/expedientes/search?PageSize=<size>&PageNumber=<number>' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '<body>'

Header

Descripción

Obligatorio
<body>

Conjunto de filtros a aplicar sobre la búsqueda

No

Body (request)

{
  "titulares": [
    {
      "campo": <campo>,
      "valores": <valores>,
      "codigo": <filtro>
    }
  ],
  "generales": [
    {
      "campo": <campo>,
      "valores": <valores>,
      "codigo": <filtro>
    }
  ]
}

Parámetro

Descripción

Obligatorio Tipo parámetro
<campo>

Campo por el que se va a aplicar el filtro, dentro del bloque al que corresponde. En este caso, sobre expedientes o titulares de los expedientes

Cadena de caracteres

<valores>

Lista de valores

Lista de valores

<filtro>

Tipo de filtro a aplicar. Consultar petición [GET] /filtros para más información

Cadena de caracteres

 

¡Importante!

Al ser una petición POST, tenemos que incluir un header adicional (Content-Type) para indicar el formato del body. Para esta petición es application/json.

No olvidar el token

Ejemplo de request URL

http://192.168.293.365:8071/expedientes/search'

Ejemplo de request URL con opciones de paginación

http://192.168.293.365:8071/expedientes/search?PageSize=10&PageNumber=2'

Ejemplo de body

{
  "titulares": [
    {
      "campo": "apellidos",
      "valores": [
        "S.A."
      ],
      "codigo": "EQ"
    }
  ],
  "generales": [
    {
      "campo": "modalidad",
      "valores": [
        "M",
        "P"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "numero",
      "valores": [
        "12345"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "bis",
      "valores": [
        "12345"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "referencia",
      "valores": [
        "12345"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "pais",
      "valores": [
        "CL",
        "BR",
        "DO"
      ],
      "codigo": "EQ"
    }
  ]
}

Campo

Descripción

Obligatorio Tipo parámetro

“modalidad”

Filtro sobre la modalidad del expediente

No

Cadena de caracteres

“numero”

Filtro sobre el número del expediente

No

Cadena de caracteres

“bis”

Filtro sobre bis del expediente

No

Cadena de caracteres

“referencia”

Filtro sobre la referencia del expediente

No

Cadena de caracteres

“pais”

Filtro sobre el país del expediente

No

Cadena de caracteres

Ejemplo de cURL

curl --location --request POST 'http://192.168.293.365:8071/expedientes/search' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH' \
--header 'Content-Type: application/json' \
--data-raw '{
  "titulares": [
    {
      "campo": "apellidos",
      "valores": [
        "S.A."
      ],
      "codigo": "EQ"
    }
  ],
  "generales": [
    {
      "campo": "modalidad",
      "valores": [
        "M",
        "P"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "numero",
      "valores": [
        "12345"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "bis",
      "valores": [
        "12345"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "referencia",
      "valores": [
        "12345"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "pais",
      "valores": [
        "CL",
        "BR",
        "DO"
      ],
      "codigo": "EQ"
    }
  ]
}'

Ejemplo de cURL con opciones de paginación

curl --location --request POST 'http://192.168.293.365:8071/expedientes/search?PageSize=10&PageNumber=2' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH' \
--header 'Content-Type: application/json' \
--data-raw '{
  "titulares": [
    {
      "campo": "apellidos",
      "valores": [
        "S.A."
      ],
      "codigo": "EQ"
    }
  ],
  "generales": [
    {
      "campo": "modalidad",
      "valores": [
        "M",
        "P"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "numero",
      "valores": [
        "12345"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "bis",
      "valores": [
        "12345"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "referencia",
      "valores": [
        "12345"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "pais",
      "valores": [
        "CL",
        "BR",
        "DO"
      ],
      "codigo": "EQ"
    }
  ]
}'

Responses validaciones de campos

400 Valor no válido para el campo ‘codigo’

{
    "statusCode": 400,
    "message": "Filtro 'X' no contemplado. [GET] /filtros para más información",
    "data": null
}

400 Valor no válido para el campo ‘campo’

{
    "statusCode": 400,
    "message": "Campo 'X' no contemplado",
    "data": null
}

400 Lista de valores vacía

{
    "statusCode": 400,
    "message": "Se deben informar valores para el tipo de filtro 'EQ'",
    "data": null
}

400 Lista de ‘valores’ con valor vacío

{
    "statusCode": 400,
    "message": "El valor no puede ser nulo",
    "data": null
}

400 Filtro ‘Between’ con más de dos valores

{
    "statusCode": 400,
    "message": "El filtro 'BT' tiene que tener únicamente dos valores",
    "data": null
}

Headers responses

En esta petición, además de devolver un listado con los contactos que cumplen los filtros de búsqueda, en la cabecera de la respuesta se devuelve el parámetro X-Pagination con la siguiente información:

{"TotalCount":<total>,"PageSize":<size>,"CurrentPage":<current_page>,"TotalPages":<total_pages>,"HasNextPage":<has_next_page>,"HasPreviousPage":<has_previous_page>,"NextPageUrl":<next_url>,"PreviousPageUrl":<previous_url>}

Parámetro

Descripción

<total>

Número total de expedientes encontrados en la búsqueda

<size>

Número de elementos por página

<current_page>

Página actual

<total_pages>

Número total de páginas

<has_next_page>

Indica si hay página siguiente

<has_previous_page>

Indica si hay página anterior

<next_url>

URL de la siguiente página

<previous_url>

URL de la página anterior

Ejemplo headers responses

{"TotalCount":2432,"PageSize":10,"CurrentPage":1,"TotalPages":244,"HasNextPage":true,"HasPreviousPage":false,"NextPageUrl":"","PreviousPageUrl":""}

Responses

200 Ha ido correctamente

{
  "statusCode": 200,
  "message": "Petición finalizada correctamente",
  "data": [
    {
      "id": 1,
      "estado": {
        "codigo": "A",
        "descripcion": "Alta"
      },
      "modalidad": {
        "codigo": "M",
        "descripcion": "Marca Nacional"
      },
      "numero": "4123111",
      "pais": {
        "codigo": "ES",
        "descripcion": "España"
      },
      "bis": null,    
      "fechaVencimiento": "20/06/2025",
      "referencia": null,
      "descripciones": [
        {
          "id": 1,
          "tipo": {
            "codigo": "DT",
            "descripcion": "Denominación"
          },
          "descripcion": "Culture",
          "idioma": {
            "codigo": "es",
            "descripcion": "Español"
         }
        }
      ],
      "titulares": [
        {
          "id": 1,
          "nombre": null,
          "apellidos": "Empresa S.A."
        },
        {
          "id": 2,
          "nombre": "Juan",
          "apellidos": "Gómez"
        }
      ]
    },
    {
      "id": 2,
      "estado": {
        "codigo": "B",
        "descripcion": "Baja"
      },
      "modalidad": {
        "codigo": "H",
        "descripcion": "Marca Internacional"
      },
      "numero": "345645",
      "pais": {
        "codigo": "CL",
        "descripcion": "Chile"
      },
      "bis": null,
      "fechaVencimiento": "24/12/2024",
      "referencia": "TM870EU01",
      "descripciones": [
        {
          "id": 1,
          "tipo": {
            "codigo": "DE",
            "descripcion": "Descripción"
          },
          "descripcion": "Culture",
          "idioma": {
            "codigo": "es",
            "descripcion": "Español"
         }
        }
      ],
      "titulares": []
    }
  ]
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[GET] /expedientes/{id}/titulares

Descripción

Obtiene los titulares de un expediente.

Petición

GET /expedientes/<id>/titulares

Parámetro

Descripción

Obligatorio Ejemplo
<id>

Identificador del expediente

6450

Request URL

http://<dominio>:<puerto>/expedientes/<id>/titulares'

cURL

curl --location --request GET 'http://<dominio>:<puerto>/expedientes/<id>/titulares' \
--header 'accept-language: <idioma>' \
--header 'Authorization: Bearer <token>'

Importante: no olvidar headers

Ejemplo de request URL

http://192.168.293.365:8071/expedientes/3992/titulares'

Ejemplo de cURL

curl --location --request GET 'http://192.168.293.365:8071/expedientes/3992/titulares' \
--header 'accept-language: es' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH'

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": [
        {
            "id": 1,
            "nombre": "Natalia",
            "apellidos": "García"
        },
        {
            "id": 2,
            "nombre": null,
            "apellidos": "LU S.A."
        }
    ]
}

404 No se ha encontrado el contacto

{
    "statusCode": 404,
    "message": "No se ha encontrado el expediente",
    "data": null
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[POST] /expedientes/{id}/titulares

Descripción

Asignación de un titular a un expediente.

Petición

POST /expedientes/<id>/titulares

Parámetro

Descripción

Obligatorio Ejemplo
<id>

Identificador del expediente

6450

Request URL

http://<dominio>:<puerto>/expedientes/<id>/titulares'

cURL

curl --location --request POST 'http://<dominio>:<puerto>/expedientes/<id>/titulares' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '<body>'

Header

Descripción

Obligatorio
<body>

Información del titular que queremos asignar

Body (request)

{
  "id": <titular>
}

Parámetro

Descripción

Obligatorio Tipo parámetro Longitud máxima parámetro Ejemplo
<titular>

Identificador del titular

Numérico

735

 

¡Importante!

Al ser una petición POST, tenemos que incluir un header adicional (Content-Type) para indicar el formato del body. Para esta petición es application/json.

No olvidar el token

Ejemplo de request URL

http://192.168.293.365:8071/expedientes/<id>/titulares'

Ejemplo de body

{
  "id": 735
}

Ejemplo de cURL

curl --location --request POST 'http://192.168.293.365:8071/expedientes/6450/titulares' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH' \
--header 'Content-Type: application/json' \
--data-raw '{
  "id": 735
}'

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": null
}

404 No se ha encontrado el titular

{
    "statusCode": 404,
    "message": "No se ha encontrado el titular",
    "data": null
}

404 No se ha encontrado el expediente

{
    "statusCode": 404,
    "message": "No se ha encontrado el expediente",
    "data": null
}

409 El titular existe pero no pertenece al cliente del expediente

{
    "statusCode": 409,
    "message": "El titular existe pero no pertenece al cliente del expediente",
    "data": null
}

409 Ya existe la relación que está intentando crear

{
    "statusCode": 409,
    "message": "Ya existe el titular para el expediente 'X'",
    "data": null
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

[POST] /expedientes/actos/search

Descripción

Búsqueda de actos con filtros. Devuelve un listado con los actos que cumplen los filtros de búsqueda.

Petición

POST /expedientes/actos/search

Petición con opciones de paginación

POST /expedientes/actos/search?PageSize=<size>&PageNumber=<number>

Request URL

http://<dominio>:<puerto>/expedientes/actos/search'

Request URL con opciones de paginación

http://<dominio>:<puerto>/expedientes/actos/search?PageSize=<size>&PageNumber=<number>'

Parámetro

Descripción

Obligatorio Ejemplo
<size>

Número de elementos por página

No

10

<number>

Número de página

No

2

cURL

curl --location --request POST 'http://<dominio>:<puerto>/expedientes/actos/search' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '<body>'

cURL con opciones de paginación

curl --location --request POST 'http://<dominio>:<puerto>/expedientes/actos/search?PageSize=<size>&PageNumber=<number>' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '<body>'

Header

Descripción

Obligatorio
<body>

Conjunto de filtros a aplicar sobre la búsqueda

No

Body (request)

{
  "generales": [
    {
      "campo": <campo>,
      "valores": <valores>,
      "codigo": <filtro>
    }
  ]
}

Parámetro

Descripción

Obligatorio Tipo parámetro
<campo>

Campo por el que se va a aplicar el filtro dentro del bloque al que corresponde. En este caso, sobre actos

Cadena de caracteres

<valores>

Lista de valores

Lista de valores

<filtro>

Tipo de filtro a aplicar. Consultar petición [GET] /filtros para más información

Cadena de caracteres

 

¡Importante!

Al ser una petición POST, tenemos que incluir un header adicional (Content-Type) para indicar el formato del body. Para esta petición es application/json.

No olvidar el token

Ejemplo de request URL

http://192.168.293.365:8071/expedientes/actos/search'

Ejemplo de request URL con opciones de paginación

http://192.168.293.365:8071/expedientes/actos/search?PageSize=10&PageNumber=2'

Ejemplo de body

{
  "generales": [
    {
      "campo": "fechaActo",
      "valores": [
        "01/01/2022",
        "31/01/2022"
      ],
      "codigo": "BT"
    },
    {
      "campo": "fechaActo",
      "valores": [
        "01/01/2022"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "fechaPublicacion",
      "valores": [
        "01/01/2022",
        "31/01/2022"
      ],
      "codigo": "BT"
    },
    {
      "campo": "fechaPublicacion",
      "valores": [
        "01/01/2022"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "fechaAlta",
      "valores": [
        "01/01/2022",
        "31/01/2022"
      ],
      "codigo": "BT"
    },
    {
      "campo": "fechaAlta",
      "valores": [
        "01/01/2022"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "idBoletin",
      "valores": [
        "345"
      ],
      "codigo": "EQ"
    }
  ]
}

Campo

Descripción

Obligatorio Tipo parámetro

“fechaActo”

Filtro sobre la fecha del acto

No

Cadena de caracteres. Formato: día/mes/año

“fechaPublicacion”

Filtro sobre la fecha de publicación del acto

No

Cadena de caracteres. Formato: día/mes/año

“fechaAlta”

Filtro sobre la fecha de alta del boletín

No

Cadena de caracteres. Formato: día/mes/año

“idBoletin”

Filtro sobre el identificador del boletín

No

Cadena de caracteres

Ejemplo de cURL

curl --location --request POST 'http://192.168.293.365:8071/expedientes/actos/search' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH' \
--header 'Content-Type: application/json' \
--data-raw '{
  "generales": [
    {
      "campo": "fechaActo",
      "valores": [
        "01/01/2022",
        "31/01/2022"
      ],
      "codigo": "BT"
    },
    {
      "campo": "fechaActo",
      "valores": [
        "01/01/2022"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "fechaPublicacion",
      "valores": [
        "01/01/2022",
        "31/01/2022"
      ],
      "codigo": "BT"
    },
    {
      "campo": "fechaPublicacion",
      "valores": [
        "01/01/2022"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "fechaAlta",
      "valores": [
        "01/01/2022",
        "31/01/2022"
      ],
      "codigo": "BT"
    },
    {
      "campo": "fechaAlta",
      "valores": [
        "01/01/2022"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "idBoletin",
      "valores": [
        "345"
      ],
      "codigo": "EQ"
    }
  ]
}'

Ejemplo de cURL con opciones de paginación

curl --location --request POST 'http://192.168.293.365:8071/expedientes/actos/search?PageSize=10&PageNumber=2' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH' \
--header 'Content-Type: application/json' \
--data-raw '{
  "generales": [
    {
      "campo": "fechaActo",
      "valores": [
        "01/01/2022",
        "31/01/2022"
      ],
      "codigo": "BT"
    },
    {
      "campo": "fechaActo",
      "valores": [
        "01/01/2022"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "fechaPublicacion",
      "valores": [
        "01/01/2022",
        "31/01/2022"
      ],
      "codigo": "BT"
    },
    {
      "campo": "fechaPublicacion",
      "valores": [
        "01/01/2022"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "fechaAlta",
      "valores": [
        "01/01/2022",
        "31/01/2022"
      ],
      "codigo": "BT"
    },
    {
      "campo": "fechaAlta",
      "valores": [
        "01/01/2022"
      ],
      "codigo": "EQ"
    },
    {
      "campo": "idBoletin",
      "valores": [
        "345"
      ],
      "codigo": "EQ"
    }
  ]
}'

Responses validaciones de campos

400 Valor no válido para el campo ‘codigo’

{
    "statusCode": 400,
    "message": "Filtro 'X' no contemplado. [GET] /filtros para más información",
    "data": null
}

400 Valor no válido para el campo ‘campo’

{
    "statusCode": 400,
    "message": "Campo 'X' no contemplado",
    "data": null
}

400 Lista de valores vacía

{
    "statusCode": 400,
    "message": "Se deben informar valores para el tipo de filtro 'EQ'",
    "data": null
}

400 Lista de ‘valores’ con valor vacío

{
    "statusCode": 400,
    "message": "El valor no puede ser nulo",
    "data": null
}

400 Filtro ‘Between’ con más de dos valores

{
    "statusCode": 400,
    "message": "El filtro 'BT' tiene que tener únicamente dos valores",
    "data": null
}

Headers responses

En esta petición, además de devolver un listado con los contactos que cumplen los filtros de búsqueda, en la cabecera de la respuesta se devuelve el parámetro X-Pagination con la siguiente información:

{"TotalCount":<total>,"PageSize":<size>,"CurrentPage":<current_page>,"TotalPages":<total_pages>,"HasNextPage":<has_next_page>,"HasPreviousPage":<has_previous_page>,"NextPageUrl":<next_url>,"PreviousPageUrl":<previous_url>}

Parámetro

Descripción

<total>

Número total de actos encontrados en la búsqueda

<size>

Número de elementos por página

<current_page>

Página actual

<total_pages>

Número total de páginas

<has_next_page>

Indica si hay página siguiente

<has_previous_page>

Indica si hay página anterior

<next_url>

URL de la siguiente página

<previous_url>

URL de la página anterior

Ejemplo headers responses

{"TotalCount":2432,"PageSize":10,"CurrentPage":1,"TotalPages":244,"HasNextPage":true,"HasPreviousPage":false,"NextPageUrl":"","PreviousPageUrl":""}

Responses

200 Ha ido correctamente

{
  "statusCode": 200,
  "message": "Petición finalizada correctamente",
  "data": [
    {
      "id": 1,
      "idExpediente": 6420,
      "acto": {
        "codigo": "520",
        "descripcion": "Anotación"
      },
      "fechaActo": "01/12/2021",
      "fechaPublicacion": null,
      "referencia": null,
      "numero_acto": null,
      "fechaAnulacion": null
    },
    {
      "id": 2,
      "idExpediente": 5487,
      "acto": {
        "codigo": "050",
        "descripcion": "Solicitud de registro"
      },
      "idBoletin": 345,
      "fechaAlta": "03/04/2020",
      "fechaActo": "10/12/2021",
      "fechaPublicacion": null,
      "referencia": null,
      "numero_acto": null,
      "fechaAnulacion": null
    }
  ]
}

500 Ha ocurrido un error

{
  "statusCode": 500,
  "message": <mensaje_error>,
  "data": null
}

Facturas Recibidas

[POST] /facturas/recibidas (blue star) (In progress)

Creación de una nueva factura recibida. Devuelve el identificador de la factura creada.

Petición

POST /facturas/recibidas

Request URL

http://<dominio>:<puerto>/facturas/recibidas'

cURL

curl --location --request POST 'http://<dominio>:<puerto>/facturas/recibidas' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '<body>'

Header

Descripción

Obligatorio
<body>

Información de la factura recibida que queremos crear

Body (request)

{
  "empresa": <empresa>,
  "numeroFactura": <numero_factura>,
  "idContacto": <idContacto>,
  "fechaFactura": <fecha_factura>,
  "fechaContabilizacion": <fecha_contabilizacion>,
  "pais": <pais>,
  "moneda": <moneda>,
  "importeHonorarios": <importe_honorarios>,
  "importeTasas": <importe_tasas>
  "observaciones": <observaciones>
}

Parámetro

Descripción

Obligatorio Tipo parámetro Longitud máxima parámetro Ejemplo
<empresa>

Empresa asociada a la factura. Consultar petición [GET] /empresas para más información

Cadena de caracteres

10 caracteres

22D

<numero_factura>

Número de la factura

No

Cadena de caracteres

30 caracteres

578549

<idContacto>

Identificador del contacto al que pertenece la factura

Numérico

6450

<fecha_factura>

Fecha de la factura

No

Cadena de caracteres.

Formato: Fecha con/sin hora

30/04/2022

<fecha_contabilizacion>

Fecha de contabilización de la factura

No

Cadena de caracteres.

Formato: Fecha con/sin hora

31/12/2022 18:00:00

<pais>

País de la factura. Consultar petición [GET] /países para más información

Cadena de caracteres

2 caracteres

ES

<moneda>

Moneda de la factura. Consultar petición [GET] /monedas para más información

Cadena de caracteres

3 caracteres

EUR

<importe_honorarios>

Importe de los honorarios

No

Numérico con decimales

Máximo 4 decimales

100.50

<importe_tasas>

Importe de las tasas

No

Numérico con decimales

Máximo 4 decimales

504.22

<observaciones>

Observaciones de la factura

No

Cadena de caracteres

Factura de ejemplo

 

¡Importante!

Al ser una petición POST, tenemos que incluir un header adicional (Content-Type) para indicar el formato del body. Para esta petición es application/json

No olvidar el token

Ejemplo de request URL

http://192.168.293.365:8071/facturas/recibidas'

Ejemplo de body

{
  "empresa": "E1",
  "numeroFactura": "12345",
  "idContacto": 17,
  "fechaFactura": "03/02/2023 0:00:00",
  "fechaContabilizacion": "03/02/2023 18:30:00",
  "pais": "ES",
  "moneda": "EUR",
  "importeHonorarios": 100.10,
  "importeTasas": 150.40,
  "observaciones": "Factura de ejemplo"
}

Ejemplo de cURL

curl --location --request POST 'http://192.168.293.365:8071/facturas/recibidas' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH' \
--header 'Content-Type: application/json' \
--data-raw '{
  "empresa": "E1",
  "numeroFactura": "12345",
  "idContacto": 17,
  "fechaFactura": "03/02/2023 0:00:00",
  "fechaContabilizacion": "03/02/2023 18:30:00",
  "pais": "ES",
  "moneda": "EUR",
  "importeHonorarios": 100.10,
  "importeTasas": 150.40,
  "observaciones": "Factura de ejemplo"
}'

Responses validaciones de campos

404 Valor no válido para el campo ‘empresa’

{
    "statusCode": 404,
    "message": "Valor 'X' no encontrado para el campo 'empresa'. [GET] /empresas para más información",
    "data": null
}

404 Valor no válido para el campo ‘pais’

{
    "statusCode": 404,
    "message": "Valor 'X' no encontrado para el campo 'pais'. [GET] /paises para más información",
    "data": null
}

404 Valor no válido para el campo ‘moneda’

{
    "statusCode": 404,
    "message": "Valor 'X' no encontrado para el campo 'moneda'. [GET] /monedas para más información",
    "data": null
}

404 Valor no válido para el campo ‘idContacto’

{
    "statusCode": 404,
    "message": "Valor 'X' no encontrado para el campo 'IdContacto'. [GET] /contactos/search para más información",
    "data": null
}

400 Valor fecha no válido

{
    "statusCode": 400,
    "message": "Valor '30/23/2022' no tiene un formato de fecha válido para el campo 'FechaFactura'",
    "data": null
}

Responses

200 Ha ido correctamente

{
    "statusCode": 200,
    "message": "Petición finalizada correctamente",
    "data": 3992
}

500 Ha ocurrido un error

{
    "statusCode": 500,
    "message": <mensaje_error>,
    "data": null
}
Artículo Anterior

Flujo de peticiones

Artículo siguiente

Soporte