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ámetroDescripciónObligatorioEjemplo
<id>Identificador del contacto6450

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>'
HeaderDescripciónObligatorio
<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ámetroDescripciónObligatorioTipo parámetroLongitud máxima parámetroEjemplo
<codigo>Código del contactoNoCadena de caracteres10 caracteres58634
<tipo>Tipo del contacto. Consultar petición [GET] /tipos/contactos para más informaciónCadena de caracteresÚnico carácterC
<estado>Estado del contacto. Consultar petición [GET] /estados para más informaciónCadena de caracteresÚnico carácterB
<serie>Serie del contactoNoNúmeros enteros  
<delegacion>Código de la delegaciónCadena de caracteres10 caracteres0
<riesgo>Nivel de riesgoCadena de caracteresÚnico carácterB
<potencial>Nivel de potencialCadena de caracteresÚnico carácterR
<descuento>Descuento aplicadoDecimal 0.00
<lineaTasasFacturar>Línea de tasas a facturarBooleano true
<facturarPorExpediente>Facturar por expedienteBooleano false
<iva> Decimal 0
<facturacionMensual>Indica si la facturación es mensualBooleano true
<codEmpresa>Código de empresaNoCadena de caracteres  
<codGrupo>Código de grupoNoCadena de caracteres  
<codCompania>Código de compañíaNoCadena de caracteres  
<codTarifa>Código de tarifaNoCadena de caracteres  
<codResponsable>Código de responsableNoCadena de caracteres  
<pyme>Indicador de PymeNoCadena 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ámetroDescripciónObligatorioEjemplo
<size>Número de elementos por páginaNo10
<number>Número de páginaNo2

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>'
HeaderDescripciónObligatorio
<body>Conjunto de filtros a aplicar sobre la búsquedaNo

Body (request)

{
  "domicilios": [
    {
      "campo": <campo>,
      "valores": <valores>,
      "codigo": <filtro>
    }
  ],
  "titulares": [
    {
      "campo": <campo>,,
      "valores": <valores>,
      "codigo": <filtro>
    }
  ],
  "generales": [
    {
      "campo": <campo>,
      "valores": <valores>,
      "codigo": <filtro>
    }
  ]
}
ParámetroDescripciónObligatorioTipo 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 titularesCadena de caracteres
<valores>Lista de valoresLista de valores
<filtro>Tipo de filtro a aplicar. Consultar petición [GET] /filtros para más informaciónCadena 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"
    }
  ]
}
CampoDescripciónObligatorioTipo parámetro
“apellidos”Filtro sobre el campo apellidos de titulares o domicilios (dependiendo del bloque en el que se encuentre)NoCadena de caracteres
“codigo”Filtro sobre el código de contactoNoCadena de caracteres
“tipo”Filtro sobre el tipo de contactoNoCadena de caracteres
“referencia”Filtro sobre la referencia del contactoNoCadena de caracteres
“pais”Filtro sobre el país del contactoNoCadena de caracteres
“nombre”Filtro sobre el nombre del contactoNoCadena de caracteres
“email”Filtro sobre el email del contactoNoCadena de caracteres
“cif”Filtro sobre el cif del contactoNoCadena de caracteres
“codpostal”Filtro sobre el código postal del contactoNoCadena de caracteres
“codigoArticulo”Filtro sobre los artículos del contactoNoCadena de caracteres
“estado”Filtro sobre el estado del contactoNoCadena de caracteres
“clave”Filtro sobre la clave del contactoNoCadena de caracteres
“riesgo”Filtro sobre el riesgo del contactoNoCadena de caracteres
“grupo”Filtro sobre el grupo del contactoNoCadena de caracteres
“delegacion”Filtro sobre la delegación del contactoNoCadena de caracteres
“empresa”Filtro sobre la empresa del contactoNoCadena 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ámetroDescripció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ámetroDescripciónObligatorioEjemplo
<id>Identificador del contacto6450

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ámetroDescripciónObligatorioEjemplo
<id>Identificador del contacto6450

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ámetroDescripciónObligatorioEjemplo
<id>Identificador del contacto6450

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>'
HeaderDescripciónObligatorio
<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ámetroDescripciónObligatorioTipo parámetroLongitud máxima parámetroEjemplo
<apellidos>ApellidosCadena de caracteres100 caracteresGarcía Fernández
<tipo>Tipo del domicilio. Consultar petición [GET] /tipos/domicilios para más informaciónCadena de caracteresÚnico carácterA
<domicilio>DomicilioNoCadena de caracteres  
<personaContacto>Persona de contactoNoCadena de caracteres  
<email>EmailNoCadena de caracteres  
<nombre>NombreNoCadena de caracteres  
<codIdioma>Idioma. Consultar petición [GET] /idiomas/descripciones para más informaciónCadena de caracteres es
<codNacionalidad>Nacionalidad. Consultar petición [GET] /nacionalidades para más informaciónNoCadena de caracteres  
<poblacion>PoblacíonNoCadena de caracteres  
<codPostal>Código PostalNoCadena de caracteres  
<codPais>Código de Pais.Consultar petición [GET] /paises para más informaciónCadena de caracteres 05
<telefonos>TelefonosNoCadena de caracteres  
<fax>FaxNoCadena de caracteres  
<codFormaPago>Forma de pago. Consultar petición [GET] /formas/pago para más informaciónNoCadena de caracteres  
<formaFiscal>Forma fiscal. Consultar petición [GET] /formas/fiscales para más informaciónNoCadena de caracteresÚnico carácter 
<noEnviarEmail>No enviar emailNoBooleano  
<noEnviarCorrespondencia>No enviar correspondenciaNoBooleano  
<precioEspecial>Precio especialNoDecimalDebe tener hasta 7 enteros y 2 decimales 
<notificacion>NotificacionNoCadena de caracteresÚnico carácter 
<dni>DniNoCadena de caracteres  
<principal>Indica si el domicilio es principalNoBooleano  
<codMoneda>Moneda. Consultar petición [GET] /monedas para más informaciónCadena de caracteres AMD
<codFormaJuridica>Forma jurídica. Consultar petición [GET] /formas/juridicas para más informaciónNoCadena 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ámetroDescripciónObligatorioEjemplo
<id>Identificador del contacto6450
<idDomicilio>Identificador del domicilio a modificar450

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>'
HeaderDescripciónObligatorio
<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ámetroDescripciónObligatorioTipo parámetroLongitud máxima parámetroEjemplo
<apellidos>ApellidosCadena de caracteres100 caracteresGarcía Fernández
<tipo>Tipo del domicilio. Consultar petición [GET] /tipos/domicilios para más informaciónCadena de caracteresÚnico carácterA
<domicilio>DomicilioNoCadena de caracteres  
<personaContacto>Persona de contactoNoCadena de caracteres  
<email>EmailNoCadena de caracteres  
<nombre>NombreNoCadena de caracteres  
<codIdioma>Idioma. Consultar petición [GET] /idiomas/descripciones para más informaciónCadena de caracteres es
<codNacionalidad>Nacionalidad. Consultar petición [GET] /nacionalidades para más informaciónNoCadena de caracteres  
<poblacion>PoblacíonNoCadena de caracteres  
<codPostal>Código PostalNoCadena de caracteres  
<codPais>Código de Pais.Consultar petición [GET] /paises para más informaciónCadena de caracteres 05
<telefonos>TelefonosNoCadena de caracteres  
<fax>FaxNoCadena de caracteres  
<codFormaPago>Forma de pago. Consultar petición [GET] /formas/pago para más informaciónNoCadena de caracteres  
<formaFiscal>Forma fiscal. Consultar petición [GET] /formas/fiscales para más informaciónNoCadena de caracteresÚnico carácter 
<noEnviarEmail>No enviar emailNoBooleano  
<noEnviarCorrespondencia>No enviar correspondenciaNoBooleano  
<precioEspecial>Precio especialNoDecimalDebe tener hasta 7 enteros y 2 decimales 
<notificacion>NotificacionNoCadena de caracteresÚnico carácter 
<dni>DniNoCadena de caracteres  
<principal>Indica si el domicilio es principalNoBooleano  
<codMoneda>Moneda. Consultar petición [GET] /monedas para más informaciónCadena de caracteres AMD
<codFormaJuridica>Forma jurídica. Consultar petición [GET] /formas/juridicas para más informaciónNoCadena 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ámetroDescripciónObligatorioEjemplo
<id>Identificador del contacto de tipo cliente6450

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ámetroDescripciónObligatorioEjemplo
<id>Identificador del contacto de tipo cliente6450

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>'
HeaderDescripciónObligatorio
<body>Información del titular que queremos crear

Body (request)

{
  "nombre": <nombre>,
  "apellidos": <apellidos>
}
ParámetroDescripciónObligatorioTipo parámetroLongitud máxima parámetroEjemplo
<nombre>Nombre del titularNoCadena de caracteres50 caracteresJuan
<apellidos>Apellidos del titularCadena de caracteres250 caracteresGarcí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