Í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 }