## Administración del catálogo de proveedores
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 proveedores
Obtiene un array con la información de proveedores que corresponde a los parámetros suministrados.
### Solicitud
```
Method: GET
https://factudesk.api.induxsoft.net/{p_rfc|p_nic}/proveedores/?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",
"sys_dtcreated": "Fecha de creación",
"sys_timestamp": "Fecha",
"sys_recver": 0,
"sys_deleted": true/false,
"sys_lock": 0,
"codigo": "Codigo del proveedor",
"rfc": "RFC del proveedor",
"nombrefiscal": "Nombre fiscal del proveedor",
"nombre_comercial": "Nombre comercial del proveedor",
"curp": "CURP del proveedor",
"email": "Correo electrónico",
"fax": "",
"telefono": "Teléfono",
"contacto": "",
"domicilios": [{
"calle": "Calle",
"numext": "Número exterior",
"numint": "Número interior",
"colonia": "Colonia",
"referencia": "Referencia",
"localidad": "Localidad",
"codpos": "Código postal",
"pkmunicipio": "sys_pk del municipio",
"municipio": "Código del municipio",
"pkestado": "sys_pk del estado",
"estado": "Código del estado",
"pkpais": "sys_pk del pais",
"pais": "Código del pais",
"sys_pk": Clave primaria del domicilio
},
...
]
},
...
]
}
```
## Consultar un proveedor
Obtiene la información del proveedor que correspondiente.
### Solicitud
```
Method: GET
https://factudesk.api.induxsoft.net/{p_rfc|p_nic}/proveedores/{sys_pk}/?ids=p_ids&uid=p_uid&pwd=p_wd
```
```
Respuesta
{
"success":true,
"data":{
"sys_pk": Clave primaria interna,
"sys_guid": "GUID de la fila",
"sys_dtcreated": "Fecha de creación",
"sys_timestamp": "Fecha",
"sys_recver": 0,
"sys_deleted": true/false,
"sys_lock": 0,
"codigo": "Codigo del proveedor",
"rfc": "RFC del proveedor",
"nombrefiscal": "Nombre fiscal del proveedor",
"nombre_comercial": "Nombre comercial del proveedor",
"curp": "CURP del proveedor",
"email": "Correo electrónico",
"fax": "",
"telefono": "Teléfono",
"contacto": "",
"domicilios": [{
"calle": "Calle",
"numext": "Número exterior",
"numint": "Número interior",
"colonia": "Colonia",
"referencia": "Referencia",
"localidad": "Localidad",
"codpos": "Código postal",
"pkmunicipio": "sys_pk del municipio",
"municipio": "Código del municipio",
"pkestado": "sys_pk del estado",
"estado": "Código del estado",
"pkpais": "sys_pk del pais",
"pais": "Código del pais",
"sys_pk": Clave primaria del domicilio
},
...
]
}
```
## Agregar un proveedor
Agrega un proveedor a la base de datos del emisor
### Solicitud
```
Method: POST
https://factudesk.api.induxsoft.net/{p_rfc|p_nic}/proveedores/?ids=p_ids&uid=p_uid&pwd=p_wd
Payload
{
"codigo":"Código del proveedor",
"nombrefiscal":"Nombre fiscal del proveedor",
"rfc":"RFC del proveedor",
"contacto":"",
"curp":"CURP",
"email":"Correo electrónico",
"fax":"",
"nombrecomercial":"Nombre comercial",
"telefono":"Número telefónico"
}
```
### Respuesta
```
{
"success":true,
"data":{
"sys_pk": Clave primaria interna,
"sys_guid": "GUID de la fila",
"sys_dtcreated": "Fecha de creación",
"sys_timestamp": "Fecha",
"sys_recver": 0,
"sys_deleted": true/false,
"sys_lock": 0,
"codigo": "Codigo del proveedor",
"rfc": "RFC del proveedor",
"nombrefiscal": "Nombre fiscal del proveedor",
"nombre_comercial": "Nombre comercial del proveedor",
"curp": "CURP del proveedor",
"email": "Correo electrónico",
"fax": "",
"telefono": "Teléfono",
"contacto": "",
"domicilios": [{
"calle": "Calle",
"numext": "Número exterior",
"numint": "Número interior",
"colonia": "Colonia",
"referencia": "Referencia",
"localidad": "Localidad",
"codpos": "Código postal",
"pkmunicipio": "sys_pk del municipio",
"municipio": "Código del municipio",
"pkestado": "sys_pk del estado",
"estado": "Código del estado",
"pkpais": "sys_pk del pais",
"pais": "Código del pais",
"sys_pk": Clave primaria del domicilio
},
...
]
}
}
```
## Modificar un proveedor
Actualiza información de un proveedor 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}/proveedores/{p_sys_pk}/?ids=p_ids&uid=p_uid&pwd=p_wd
{
"curp": "CURP del proveedor",
"email": "Correo electrónico",
"telefono": "Teléfono"
}
```
* ```p_sys_pk``` Sys_pk del proveedor
## Agregar un domicilio fiscal a un proveedor
Agrega un domicilio fiscal a un proveedor
### Solicitud
```
Method: POST
https://factudesk.api.induxsoft.net/{p_rfc|p_nic}/proveedores/{p_sys_pk}/domicilios/?ids=p_ids&uid=p_uid&pwd=p_wd
{
"numint":"Número interior",
"numext":"Número exterior",
"municipio":"Código o sys_pk del municipio",
"codpos":"Código postal",
"calle":"Calle"
}
```
* p_sys_pk. sys_pk del proveedor a Modificar
### Respuesta
```
{
"success":true,
"data":{
...datos del nuevo domicilio
}
}
```
## Actualizar un domicilio fiscal a un proveedor
Actualiza información de un domicilio de un proveedor 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}/proveedores/{p_sys_pk}/domicilios/{p_sys_pk}?ids=p_ids&uid=p_uid&pwd=p_wd
{
...datos del domicilio...
}
```
* p_sys_pk. sys_pk del proveedor a Modificar
* p_sys_pk. Clave primaria del domicilio
### Respuesta
```
{
"success":true,
"data":{
...datos del domicilio
}
}
```
## Eliminar un domicilio fiscal a un proveedor
Elimina un domicilio de un proveedor en la base de datos del emisor
### Solicitud
```
Method: DELETE
https://factudesk.api.induxsoft.net/{p_rfc|p_nic}/proveedores/{p_sys_pk}/domicilios/{p_sys_pk}?ids=p_ids&uid=p_uid&pwd=p_wd
```
* p_sys_pk. Clave primaria del proveedor
* p_sys_pk. Clave primaria del domicilio
### Respuesta
```
{
"success":true,
"data":null
}
```
## Eliminar un proveedor
Elimina un proveedor en la base de datos del emisor
### Solicitud
```
Method: DELETE
https://factudesk.api.induxsoft.net/{p_rfc|p_nic}/proveedores/{p_sys_pk}?ids=p_ids&uid=p_uid&pwd=p_wd
```
* p_sys_pk. Clave primaria del proveedor
### Respuesta
```
{
"success":true,
"data":null
}
```