# Administración del catálogo de clientes
La autenticación puede hacerse con Id de sesión (ids) o con usuario (correo/teléfono) y contraseña (pwd), a través de parámetros en la URL o bien,
con el encabezado ```Authorization: Bearer p_ids```
La determinación de la base de datos del emisor, se realiza por medio del parámetro rfc o nic, se requiere uno de los dos, pero no ambos.
Parámetros generales
* ```p_rfc```. RFC del emisor
* ```p_nic```. NIC del emisor
* ```p_ids```. Identificador de sesión del usuario
* ```p_uid```. Identificador del usuario, correo o teléfono móvil
* ```p_pwd```. Contraseña correspondiente al p_uid
## Consultar clientes
Obtiene un array con la información de clientes que corresponde a los parámetros suministrados.
### Solicitud
```
Method: GET
https://factudesk.api.induxsoft.net/{p_rfc|p_nic}/clientes/?ids=p_ids&uid=p_uid&pwd=p_wd&filtro=p_filtro&limit=p_limit
```
#### Parámetros
* ```p_filtro```. Texto de filtro para los resultados
* ```p_limit```. Cantidad máxima de filas a devolver, si se omite se asumen 500, el máximo admitido es 2000
### Respuesta
```
{
"success":true,
"data":[
{
"sys_pk": Clave primaria interna,
"sys_guid":"GUID de la fila",
... otros campos de sistema...,
"codigo":"Código del cliente",
"rfc":"RFC del cliente",
"nombre":"Nombre fiscal",
"nombre_comercial":"Nombre comercial",
"curp":"",
...
"domicilios":[
{
"sys_pk":Clave primaria del domicilio",
"cp":"Código postal",
"pais":"Código de país",
"estado":"Código del estado",
"municipio":"Código del municipio",
"localidad":"",
"calle":"",
"num_ext":"",
"num_int":"",
"colonia":"",
"referencia":""
},
...
]
},
...
]
}
```
## Agregar un cliente
Agrega un cliente a la base de datos del emisor
### Solicitud
```
Method: POST
https://factudesk.api.induxsoft.net/{p_rfc|p_nic}/clientes/?ids=p_ids&uid=p_uid&pwd=p_wd
{
...
}
```
### Respuesta
```
{
"success":true,
"data":{
...datos del nuevo cliente
}
}
```
## Modificar un cliente
Actualiza información de un cliente en la base de datos del emisor, solo los datos que se suministran.
En este servicio no se actualizan los domicilios fiscales.
### Solicitud
```
Method: PATCH
https://factudesk.api.induxsoft.net/{p_rfc|p_nic}/clientes/{p_codigo}/?ids=p_ids&uid=p_uid&pwd=p_wd
{
...
}
```
* p_codigo. Código del cliente a Modificar
### Respuesta
```
{
"success":true,
"data":{
...datos del cliente
}
}
```
## Agregar un domicilio fiscal a un cliente
Agrega un domicilio fiscal a un cliente
### Solicitud
```
Method: POST
https://factudesk.api.induxsoft.net/{p_rfc|p_nic}/clientes/{p_codigo}/domicilios/?ids=p_ids&uid=p_uid&pwd=p_wd
{
...datos del domicilio...
}
```
* p_codigo. Código del cliente a Modificar
### Respuesta
```
{
"success":true,
"data":{
...datos del nuevo domicilio
}
}
```
## Actualizar un domicilio fiscal a un cliente
Actualiza información de un domicilio de un cliente en la base de datos del emisor, solo los datos que se suministran.
### Solicitud
```
Method: PATCH
https://factudesk.api.induxsoft.net/{p_rfc|p_nic}/clientes/{p_codigo}/domicilios/{p_sys_pk}?ids=p_ids&uid=p_uid&pwd=p_wd
{
...datos del domicilio...
}
```
* p_codigo. Código del cliente a Modificar
* p_sys_pk. Clave primaria del domicilio
### Respuesta
```
{
"success":true,
"data":{
...datos del domicilio
}
}
```
## Eliminar un domicilio fiscal a un cliente
Elimina un domicilio de un cliente en la base de datos del emisor
### Solicitud
```
Method: DELETE
https://factudesk.api.induxsoft.net/{p_rfc|p_nic}/clientes/{p_codigo}/domicilios/{p_sys_pk}?ids=p_ids&uid=p_uid&pwd=p_wd
```
* p_codigo. Código del cliente a Modificar
* p_sys_pk. Clave primaria del domicilio
### Respuesta
```
{
"success":true,
"data":null
}
```
## Eliminar un cliente
Elimina un cliente en la base de datos del emisor
### Solicitud
```
Method: DELETE
https://factudesk.api.induxsoft.net/{p_rfc|p_nic}/clientes/{p_codigo}?ids=p_ids&uid=p_uid&pwd=p_wd
```
* p_codigo. Código del cliente a Modificar
### Respuesta
```
{
"success":true,
"data":null
}
```