# Administración del catálogo de conceptos

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 conceptos

Obtiene un array con la información de conceptos que corresponde a los parámetros suministrados.

### Solicitud
```
Method: GET 
https://factudesk.api.induxsoft.net/{p_rfc|p_nic}/conceptos/?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 único",
			"descripcion": "Descripción del concepto",
			"iva": porcentaje de iva,
			"ieps":porcentaje de ieps,
			"notas": "Nota",
			"precio": Precio unitario,
			"unidad": "Unidad",
			"ieps_despues_iva": true/false,
			"claveproductosat": "Clave del producto SAT",
			"claveunidadsat": "Clave unidad SAT",
			"aplicaretencion": true/false,
			"ivaretencion": IVA retenido,
			"iepsretencion": IEPS retenido,
			"exentoiva": true/false,
			"ieps_cuota": true/false,
			"objetoimp": "Objeto de Impuesto"
            
        },
        ...
    ]
}
```

## Consultar un concepto

Obtiene la información del concepto que correspondiente.

### Solicitud

```
Method: GET 
https://factudesk.api.induxsoft.net/{p_rfc|p_nic}/conceptos/{p_codigo}/?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": "código único",
			"descripcion": "Descripción del concepto",
			"iva": porcentaje de iva,
			"ieps":porcentaje de ieps,
			"notas": "Nota",
			"precio": Precio unitario,
			"unidad": "Unidad",
			"ieps_despues_iva": true/false,
			"claveproductosat": "Clave del producto SAT",
			"claveunidadsat": "Clave unidad SAT",
			"aplicaretencion": true/false,
			"ivaretencion": IVA retenido,
			"iepsretencion": IEPS retenido,
			"exentoiva": true/false,
			"ieps_cuota": true/false,
			"objetoimp": "Objeto de Impuesto"
	}
}
```

## Agregar un concepto
Agrega un concepto a la base de datos del emisor

### Solicitud
```

Method: POST
https://factudesk.api.induxsoft.net/{p_rfc|p_nic}/conceptos/?ids=p_ids&uid=p_uid&pwd=p_wd

Payload
{
     "codigo": "código único",
	"descripcion": "Descripción del concepto",
	"iva": porcentaje de iva,
	"ieps":porcentaje de ieps,
	"notas": "Nota",
	"precio": Precio unitario,
	"unidad": "Unidad",
	"ieps_despues_iva": true/false,
	"claveproductosat": "Clave del producto SAT",
	"claveunidadsat": "Clave unidad SAT",
	"aplicaretencion": true/false,
	"ivaretencion": IVA retenido,
	"iepsretencion": IEPS retenido,
	"exentoiva": true/false,
	"ieps_cuota": true/false,
	"objetoimp": "Objeto de Impuesto"
}
```
### 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": "código único",
			"descripcion": "Descripción del concepto",
			"iva": porcentaje de iva,
			"ieps":porcentaje de ieps,
			"notas": "Nota",
			"precio": Precio unitario,
			"unidad": "Unidad",
			"ieps_despues_iva": true/false,
			"claveproductosat": "Clave del producto SAT",
			"claveunidadsat": "Clave unidad SAT",
			"aplicaretencion": true/false,
			"ivaretencion": IVA retenido,
			"iepsretencion": IEPS retenido,
			"exentoiva": true/false,
			"ieps_cuota": true/false,
			"objetoimp": "Objeto de Impuesto"
	}
}
```

## Modificar un concepto

Actualiza información de un concepto 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}/conceptos/{p_codigo}/?ids=p_ids&uid=p_uid&pwd=p_wd

{
  "descripcion":"Descripción",
  "notas":"Notas",
  "iva":porcentaje de iva
}
```

* ```p_codigo``` Código de un concepto

### 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": "código único",
			"descripcion": "Descripción del concepto",
			"iva": porcentaje de iva,
			"ieps":porcentaje de ieps,
			"notas": "Nota",
			"precio": Precio unitario,
			"unidad": "Unidad",
			"ieps_despues_iva": true/false,
			"claveproductosat": "Clave del producto SAT",
			"claveunidadsat": "Clave unidad SAT",
			"aplicaretencion": true/false,
			"ivaretencion": IVA retenido,
			"iepsretencion": IEPS retenido,
			"exentoiva": true/false,
			"ieps_cuota": true/false,
			"objetoimp": "Objeto de Impuesto"
	}
}
```



## Eliminar un concepto

Elimina un concepto en la base de datos del emisor


### Solicitud
```
Method: DELETE
https://factudesk.api.induxsoft.net/{p_rfc|p_nic}/conceptos/{p_codigo}?ids=p_ids&uid=p_uid&pwd=p_wd

```

* ```p_codigo``` Código de un concepto

### Respuesta
```
{
    "success":true,
    "data":null
}
```