Contactos

(blue star) Índice

[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,
    "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

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

Cadena de caracteres

Único carácter

C

<estado>

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

Cadena de caracteres

Único carácter

B

<serie>

Serie del contacto

No

Números enteros

<delegacion>

Código de la delegación

Cadena de caracteres

10 caracteres

0

<riesgo>

Nivel de riesgo

Cadena de caracteres

Único carácter

B

<potencial>

Nivel de potencial

Cadena de caracteres

Único carácter

R

<descuento>

Descuento aplicado

Decimal

0.00

<lineaTasasFacturar>

Línea de tasas a facturar

Booleano

true

<facturarPorExpediente>

Facturar por expediente

Booleano

false

<iva>

Decimal

0

<facturacionMensual>

Indica si la facturación es mensual

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

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

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

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>,
  "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

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

<domicilio>

Domicilio

No

Cadena de caracteres

<personaContacto>

Persona de contacto

No

Cadena de caracteres

<email>

Email

No

Cadena de caracteres

<nombre>

Nombre

No

Cadena de caracteres

<codIdioma>

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

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

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

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

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>,
  "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

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

<domicilio>

Domicilio

No

Cadena de caracteres

<personaContacto>

Persona de contacto

No

Cadena de caracteres

<email>

Email

No

Cadena de caracteres

<nombre>

Nombre

No

Cadena de caracteres

<codIdioma>

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

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

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

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

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
}
Artículo siguiente

Peticiones