Índice
- [GET] /contactos/{id}
- [GET] /contactos/{id}/acciones
- [GET] /contactos/{id}/domicilios
- [GET] /contactos/{id}/titulares
- [POST] /contactos
- [POST] /contactos/search
- [POST] /contactos/{id}/titulares
- [POST] /contactos/{id}/domicilios
- [PUT] /contactos/{id}/domicilios/{idDomicilio}
[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 | Sí | 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,
"observacion": "observaciones",
"empresa": {
"codigo": "EM1",
"descripcion": "Empresa"
},
"tarifaFacturación": {
"codigo": "TF1",
"descripcion": "Tarifa facturación 1"
},
"banco": {
"domicilio": "Calle Madrid",
"poblacion": "Madrid",
"codPostal": "28080",
"pais": {
"codigo": "ES",
"descripcion": "España"
},
"sucursal": "1234",
"digito": "2",
"cuenta": "5678901234",
"iban": "ES76 1234 5678 9012 3456 7890",
"swift": "BSCHESMMXXX",
"codigo": "BNC1",
"descripcion": "Banco Santander"
},
"descuento": "30",
"pyme": "2",
"cnae": "123245",
"iva": "21",
"numeroExpedientesAlta": 30,
"codigo": "4879",
"tipo": {
"codigo": "C",
"descripcion": "Cliente"
},
"referencia": "RF39438948",
"estado": {
"codigo": "A",
"descripcion": "Alta"
},
"logo": null,
"clave": "clave",
"riesgo": {
"codigo": "B",
"descripcion": "Bueno"
},
"grupo": {
"codigo": "GR1",
"descripcion": "Grupo 1"
},
"delegacion": {
"codigo": "DEL1",
"descripcion": "Delegación"
}
}
}
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 | Sí |
Body (request)
{
"codigo": <codigo>,
"tipo": <tipo>,
"estado": <estado>
"serie": <serie>,
"delegacion": <delegacion>,
"riesgo": <riesgo>,
"potencial": <potencial>,
"descuento": <descuento>,
"lineaTasasFacturar": <lineaTasasFacturar>,
"facturarPorExpediente": <facturarPorExpediente>,
"iva": <iva>,
"facturacionMensual": <facturacionMensual>,
"codEmpresa": <codEmpresa>,
"codGrupo": <codGrupo>,
"codCompania": <codCompania>,
"codTarifa": <codTarifa>,
"codResponsable": <codResponsable>,
"pyme": <pyme>
}
| Parámetro | Descripción | Obligatorio | Tipo parámetro | Longitud máxima parámetro | Ejemplo | |
| <codigo> | Código del contacto | No | Cadena de caracteres | 10 caracteres | 58634 | |
| <tipo> | Tipo del contacto. Consultar petición [GET] /tipos/contactos para más información | Sí | Cadena de caracteres | Único carácter | C | |
| <estado> | Estado del contacto. Consultar petición [GET] /estados para más información | Sí | Cadena de caracteres | Único carácter | B | |
| <serie> | Serie del contacto | No | Números enteros | |||
| <delegacion> | Código de la delegación | Sí | Cadena de caracteres | 10 caracteres | 0 | |
| <riesgo> | Nivel de riesgo | Sí | Cadena de caracteres | Único carácter | B | |
| <potencial> | Nivel de potencial | Sí | Cadena de caracteres | Único carácter | R | |
| <descuento> | Descuento aplicado | Sí | Decimal | 0.00 | ||
| <lineaTasasFacturar> | Línea de tasas a facturar | Sí | Booleano | true | ||
| <facturarPorExpediente> | Facturar por expediente | Sí | Booleano | false | ||
| <iva> | Sí | Decimal | 0 | |||
| <facturacionMensual> | Indica si la facturación es mensual | Sí | Booleano | true | ||
| <codEmpresa> | Código de empresa | No | Cadena de caracteres | |||
| <codGrupo> | Código de grupo | No | Cadena de caracteres | |||
| <codCompania> | Código de compañía | No | Cadena de caracteres | |||
| <codTarifa> | Código de tarifa | No | Cadena de caracteres | |||
| <codResponsable> | Código de responsable | No | Cadena de caracteres | |||
| <pyme> | Indicador de Pyme | No | Cadena de caracteres | Único carácter |
¡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",
"serie": null,
"delegacion": "0",
"riesgo": "B",
"potencial": "R",
"descuento": 0.00,
"lineaTasasFacturar": true,
"facturarPorExpediente": false,
"iva": 0,
"facturacionMensual": true,
"codEmpresa": null,
"codGrupo": null,
"codCompania": null,
"codTarifa": null,
"codResponsable": null,
"pyme": null
}
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",
"serie": null,
"delegacion": "0",
"riesgo": "B",
"potencial": "R",
"descuento": 0.00,
"lineaTasasFacturar": true,
"facturarPorExpediente": false,
"iva": 0,
"facturacionMensual": true,
"codEmpresa": null,
"codGrupo": null,
"codCompania": null,
"codTarifa": null,
"codResponsable": null,
"pyme": null
}'
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 | Sí | Cadena de caracteres |
| <valores> | Lista de valores | Sí | Lista de valores |
| <filtro> | Tipo de filtro a aplicar. Consultar petición [GET] /filtros para más información | Sí | 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"
},
{
"campo": "pais",
"valores": [
"ES"
],
"codigo": "EQ"
},
{
"campo": "nombre",
"valores": [
"Empresa S.L"
],
"codigo": "EQ"
},
{
"campo": "email",
"valores": [
"alguien@gmail.com"
],
"codigo": "EQ"
},
{
"campo": "cif",
"valores": [
"B83436720"
],
"codigo": "EQ"
},
{
"campo": "codpostal",
"valores": [
"28020"
],
"codigo": "EQ"
}
],
"titulares": [
{
"campo": "apellidos",
"valores": [
"S.A."
],
"codigo": "EQ"
}
],
"relacionados": [
{
"campo": "codigoArticulo",
"valores": [
"6ZZZ03"
],
"codigo": "EQ"
}
],
"generales": [
{
"campo": "codigo",
"valores": [
"424"
],
"codigo": "EQ"
},
{
"campo": "tipo",
"valores": [
"C",
"A"
],
"codigo": "EQ"
},
{
"campo": "referencia",
"valores": [
"RF239348"
],
"codigo": "EQ"
},
{
"campo": "estado",
"valores": [
"A"
],
"codigo": "EQ"
},
{
"campo": "clave",
"valores": [
"Marcas"
],
"codigo": "EQ"
},
{
"campo": "riesgo",
"valores": [
"B"
],
"codigo": "EQ"
},
{
"campo": "grupo",
"valores": [
"2"
],
"codigo": "EQ"
},
{
"campo": "delegacion",
"valores": [
"12"
],
"codigo": "EQ"
},
{
"campo": "empresa",
"valores": [
"E1"
],
"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 |
| “pais” | Filtro sobre el país del contacto | No | Cadena de caracteres |
| “nombre” | Filtro sobre el nombre del contacto | No | Cadena de caracteres |
| “email” | Filtro sobre el email del contacto | No | Cadena de caracteres |
| “cif” | Filtro sobre el cif del contacto | No | Cadena de caracteres |
| “codpostal” | Filtro sobre el código postal del contacto | No | Cadena de caracteres |
| “codigoArticulo” | Filtro sobre los artículos del contacto | No | Cadena de caracteres |
| “estado” | Filtro sobre el estado del contacto | No | Cadena de caracteres |
| “clave” | Filtro sobre la clave del contacto | No | Cadena de caracteres |
| “riesgo” | Filtro sobre el riesgo del contacto | No | Cadena de caracteres |
| “grupo” | Filtro sobre el grupo del contacto | No | Cadena de caracteres |
| “delegacion” | Filtro sobre la delegación del contacto | No | Cadena de caracteres |
| “empresa” | Filtro sobre la empresa 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"
},
{
"campo": "pais",
"valores": [
"ES"
],
"codigo": "EQ"
},
{
"campo": "nombre",
"valores": [
"Empresa S.L"
],
"codigo": "EQ"
},
{
"campo": "email",
"valores": [
"alguien@gmail.com"
],
"codigo": "EQ"
},
{
"campo": "cif",
"valores": [
"B83436720"
],
"codigo": "EQ"
},
{
"campo": "codpostal",
"valores": [
"28020"
],
"codigo": "EQ"
}
],
"titulares": [
{
"campo": "apellidos",
"valores": [
"S.A."
],
"codigo": "EQ"
}
],
"relacionados": [
{
"campo": "codigoArticulo",
"valores": [
"6ZZZ03"
],
"codigo": "EQ"
}
],
"generales": [
{
"campo": "codigo",
"valores": [
"424"
],
"codigo": "EQ"
},
{
"campo": "tipo",
"valores": [
"C",
"A"
],
"codigo": "EQ"
},
{
"campo": "referencia",
"valores": [
"RF239348"
],
"codigo": "EQ"
},
{
"campo": "estado",
"valores": [
"A"
],
"codigo": "EQ"
},
{
"campo": "clave",
"valores": [
"Marcas"
],
"codigo": "EQ"
},
{
"campo": "riesgo",
"valores": [
"B"
],
"codigo": "EQ"
},
{
"campo": "grupo",
"valores": [
"2"
],
"codigo": "EQ"
},
{
"campo": "delegacion",
"valores": [
"12"
],
"codigo": "EQ"
},
{
"campo": "empresa",
"valores": [
"E1"
],
"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"
},
{
"campo": "pais",
"valores": [
"ES"
],
"codigo": "EQ"
},
{
"campo": "nombre",
"valores": [
"Empresa S.L"
],
"codigo": "EQ"
},
{
"campo": "email",
"valores": [
"alguien@gmail.com"
],
"codigo": "EQ"
},
{
"campo": "cif",
"valores": [
"B83436720"
],
"codigo": "EQ"
},
{
"campo": "codpostal",
"valores": [
"28020"
],
"codigo": "EQ"
}
],
"titulares": [
{
"campo": "apellidos",
"valores": [
"S.A."
],
"codigo": "EQ"
}
],
"relacionados": [
{
"campo": "codigoArticulo",
"valores": [
"6ZZZ03"
],
"codigo": "EQ"
}
],
"generales": [
{
"campo": "codigo",
"valores": [
"424"
],
"codigo": "EQ"
},
{
"campo": "tipo",
"valores": [
"C",
"A"
],
"codigo": "EQ"
},
{
"campo": "referencia",
"valores": [
"RF239348"
],
"codigo": "EQ"
},
{
"campo": "estado",
"valores": [
"A"
],
"codigo": "EQ"
},
{
"campo": "clave",
"valores": [
"Marcas"
],
"codigo": "EQ"
},
{
"campo": "riesgo",
"valores": [
"B"
],
"codigo": "EQ"
},
{
"campo": "grupo",
"valores": [
"2"
],
"codigo": "EQ"
},
{
"campo": "delegacion",
"valores": [
"12"
],
"codigo": "EQ"
},
{
"campo": "empresa",
"valores": [
"E1"
],
"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}/acciones
Descripción
Obtiene las acciones comerciales de un contacto.
Petición
GET /contactos/<id>/acciones
| Parámetro | Descripción | Obligatorio | Ejemplo |
| <id> | Identificador del contacto | Sí | 6450 |
Request URL
http://<dominio>:<puerto>/contactos/<id>/acciones'
cURL
curl --location --request GET 'http://<dominio>:<puerto>/contactos/<id>/acciones' \ --header 'accept-language: <idioma>' \ --header 'Authorization: Bearer <token>'
Importante: no olvidar headers
Ejemplo de request URL
http://192.168.293.365:8071/contactos/3992/acciones'
Ejemplo de cURL
curl --location --request GET 'http://192.168.293.365:8071/contactos/3992/acciones' \ --header 'accept-language: es' \ --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZTI5ZDA1Yi0zMTNjLTQ2MjNzUyNzg2OHH'
Responses
200 Ha ido correctamente
{
"statusCode": 200,
"message": "Petición finalizada correctamente",
"data": [
{
"accion": {
"codigo": "CONSULTA",
"descripcion": "Consulta cliente",
},
"fecha": "09/10/2024",
"resultado": {
"codigo": "INFO",
"descripcion": "Solicita más información/presupuesto"
},
"responsable": {
"codigo": "SGP",
"descripcion": "Salvador González Pliego"
}
},
{
"accion": {
"codigo": "REMINDER",
"descripcion": "Envío recordatorio",
},
"fecha": "10/10/2024",
"resultado": {
"codigo": "ACEPTA",
"descripcion": "Acepta la gestión presupuesto"
},
"responsable": {
"codigo": "RGP",
"descripcion": "Ramón García Presto"
}
}
]
}
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
}
[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 | Sí | 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 | Sí | 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 | Sí |
Body (request)
{
"apellidos": <apellidos>,
"tipo": <tipo>,
"domicilio": <domicilio>,
"personaContacto": <personaContacto>,
"email": <email>,
"nombre": <nombre>,
"codIdioma": <codIdioma>,
"codNacionalidad": <codNacionalidad>,
"poblacion": <poblacion>,
"codPostal": <codPostal>,
"codPais": <codPais>,
"telefonos": <telefonos>,
"fax": <fax>,
"codFormaPago": <codFormaPago>,
"formaFiscal": <formaFiscal>,
"noEnviarEmail": <noEnviarEmail>,
"noEnviarCorrespondencia": <noEnviarCorrespondencia>,
"precioEspecial": <precioEspecial>,
"notificacion": <notificacion>,
"dni": <dni>,
"principal": <principal>,
"codMoneda": <codMoneda>,
"codFormaJuridica": <codFormaJuridica>
}
| Parámetro | Descripción | Obligatorio | Tipo parámetro | Longitud máxima parámetro | Ejemplo |
| <apellidos> | Apellidos | Sí | Cadena de caracteres | 100 caracteres | García Fernández |
| <tipo> | Tipo del domicilio. Consultar petición [GET] /tipos/domicilios para más información | Sí | Cadena de caracteres | Único carácter | A |
| <domicilio> | Domicilio | No | Cadena de caracteres | ||
| <personaContacto> | Persona de contacto | No | Cadena de caracteres | ||
| <email> | No | Cadena de caracteres | |||
| <nombre> | Nombre | No | Cadena de caracteres | ||
| <codIdioma> | Idioma. Consultar petición [GET] /idiomas/descripciones para más información | Sí | Cadena de caracteres | es | |
| <codNacionalidad> | Nacionalidad. Consultar petición [GET] /nacionalidades para más información | No | Cadena de caracteres | ||
| <poblacion> | Poblacíon | No | Cadena de caracteres | ||
| <codPostal> | Código Postal | No | Cadena de caracteres | ||
| <codPais> | Código de Pais.Consultar petición [GET] /paises para más información | Sí | Cadena de caracteres | 05 | |
| <telefonos> | Telefonos | No | Cadena de caracteres | ||
| <fax> | Fax | No | Cadena de caracteres | ||
| <codFormaPago> | Forma de pago. Consultar petición [GET] /formas/pago para más información | No | Cadena de caracteres | ||
| <formaFiscal> | Forma fiscal. Consultar petición [GET] /formas/fiscales para más información | No | Cadena de caracteres | Único carácter | |
| <noEnviarEmail> | No enviar email | No | Booleano | ||
| <noEnviarCorrespondencia> | No enviar correspondencia | No | Booleano | ||
| <precioEspecial> | Precio especial | No | Decimal | Debe tener hasta 7 enteros y 2 decimales | |
| <notificacion> | Notificacion | No | Cadena de caracteres | Único carácter | |
| <dni> | Dni | No | Cadena de caracteres | ||
| <principal> | Indica si el domicilio es principal | No | Booleano | ||
| <codMoneda> | Moneda. Consultar petición [GET] /monedas para más información | Sí | Cadena de caracteres | AMD | |
| <codFormaJuridica> | Forma jurídica. Consultar petición [GET] /formas/juridicas para más información | No | 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/<id>/domicilios'
Ejemplo de body
{
"apellidos": "García Fernández",
"tipo": "A",
"domicilio": null,
"personaContacto": null,
"email": null,
"nombre": null,
"codIdioma": "es",
"codNacionalidad": null,
"poblacion": null,
"codPostal": null,
"codPais": "05",
"telefonos": null,
"fax": null,
"codFormaPago": null,
"formaFiscal": null,
"noEnviarEmail": null,
"noEnviarCorrespondencia": null,
"precioEspecial": null,
"notificacion": null,
"dni": null,
"principal": null,
"codMoneda": "AMD",
"codFormaJuridica": null
}
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",
"domicilio": null,
"personaContacto": null,
"email": null,
"nombre": null,
"codIdioma": "es",
"codNacionalidad": null,
"poblacion": null,
"codPostal": null,
"codPais": "05",
"telefonos": null,
"fax": null,
"codFormaPago": null,
"formaFiscal": null,
"noEnviarEmail": null,
"noEnviarCorrespondencia": null,
"precioEspecial": null,
"notificacion": null,
"dni": null,
"principal": null,
"codMoneda": "AMD",
"codFormaJuridica": null
}'
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 | Sí | 6450 |
| <idDomicilio> | Identificador del domicilio a modificar | Sí | 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 | Sí |
Body (request)
{
"apellidos": <apellidos>,
"tipo": <tipo>,
"domicilio": <domicilio>,
"personaContacto": <personaContacto>,
"email": <email>,
"nombre": <nombre>,
"codIdioma": <codIdioma>,
"codNacionalidad": <codNacionalidad>,
"poblacion": <poblacion>,
"codPostal": <codPostal>,
"codPais": <codPais>,
"telefonos": <telefonos>,
"fax": <fax>,
"codFormaPago": <codFormaPago>,
"formaFiscal": <formaFiscal>,
"noEnviarEmail": <noEnviarEmail>,
"noEnviarCorrespondencia": <noEnviarCorrespondencia>,
"precioEspecial": <precioEspecial>,
"notificacion": <notificacion>,
"dni": <dni>,
"principal": <principal>,
"codMoneda": <codMoneda>,
"codFormaJuridica": <codFormaJuridica>
}
| Parámetro | Descripción | Obligatorio | Tipo parámetro | Longitud máxima parámetro | Ejemplo |
| <apellidos> | Apellidos | Sí | Cadena de caracteres | 100 caracteres | García Fernández |
| <tipo> | Tipo del domicilio. Consultar petición [GET] /tipos/domicilios para más información | Sí | Cadena de caracteres | Único carácter | A |
| <domicilio> | Domicilio | No | Cadena de caracteres | ||
| <personaContacto> | Persona de contacto | No | Cadena de caracteres | ||
| <email> | No | Cadena de caracteres | |||
| <nombre> | Nombre | No | Cadena de caracteres | ||
| <codIdioma> | Idioma. Consultar petición [GET] /idiomas/descripciones para más información | Sí | Cadena de caracteres | es | |
| <codNacionalidad> | Nacionalidad. Consultar petición [GET] /nacionalidades para más información | No | Cadena de caracteres | ||
| <poblacion> | Poblacíon | No | Cadena de caracteres | ||
| <codPostal> | Código Postal | No | Cadena de caracteres | ||
| <codPais> | Código de Pais.Consultar petición [GET] /paises para más información | Sí | Cadena de caracteres | 05 | |
| <telefonos> | Telefonos | No | Cadena de caracteres | ||
| <fax> | Fax | No | Cadena de caracteres | ||
| <codFormaPago> | Forma de pago. Consultar petición [GET] /formas/pago para más información | No | Cadena de caracteres | ||
| <formaFiscal> | Forma fiscal. Consultar petición [GET] /formas/fiscales para más información | No | Cadena de caracteres | Único carácter | |
| <noEnviarEmail> | No enviar email | No | Booleano | ||
| <noEnviarCorrespondencia> | No enviar correspondencia | No | Booleano | ||
| <precioEspecial> | Precio especial | No | Decimal | Debe tener hasta 7 enteros y 2 decimales | |
| <notificacion> | Notificacion | No | Cadena de caracteres | Único carácter | |
| <dni> | Dni | No | Cadena de caracteres | ||
| <principal> | Indica si el domicilio es principal | No | Booleano | ||
| <codMoneda> | Moneda. Consultar petición [GET] /monedas para más información | Sí | Cadena de caracteres | AMD | |
| <codFormaJuridica> | Forma jurídica. Consultar petición [GET] /formas/juridicas para más información | No | Cadena de caracteres |
¡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",
"tipo": "A",
"domicilio": null,
"personaContacto": null,
"email": null,
"nombre": null,
"codIdioma": "es",
"codNacionalidad": null,
"poblacion": null,
"codPostal": null,
"codPais": "05",
"telefonos": null,
"fax": null,
"codFormaPago": null,
"formaFiscal": null,
"noEnviarEmail": null,
"noEnviarCorrespondencia": null,
"precioEspecial": null,
"notificacion": null,
"dni": null,
"principal": null,
"codMoneda": "AMD",
"codFormaJuridica": null
}
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",
"tipo": "A",
"domicilio": null,
"personaContacto": null,
"email": null,
"nombre": null,
"codIdioma": "es",
"codNacionalidad": null,
"poblacion": null,
"codPostal": null,
"codPais": "05",
"telefonos": null,
"fax": null,
"codFormaPago": null,
"formaFiscal": null,
"noEnviarEmail": null,
"noEnviarCorrespondencia": null,
"precioEspecial": null,
"notificacion": null,
"dni": null,
"principal": null,
"codMoneda": "AMD",
"codFormaJuridica": null
}'
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": 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 | Sí | 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 | Sí | 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 | Sí |
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 | Sí | 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 }