# Domiciliaciones

Esta API proporciona un mecanismo para gestionar las domiciliaciones.

Endpoint: https://pix.api.induxsoft.net/domiciliaciones/

En las respuestas, `success` llega como número (`1` éxito, `0` error); en caso de error, `message` describe la causa.

## Crear una domiciliación

Aunque las propiedades `ctm` y `uid` son opcionales, debe indicarse alguno de ellos y no ninguno.

### Solicitud

```
POST {endpoint}
Authorization: basic base64(owner:claveAPI)
{
    "ctm": "", //Identificador de una cuenta maestra. **Opcional**
    "uid": "", //Identificador de un usuario (perfil). **Opcional**
    "source_type": "", //Identificador para el tipo de servicio que se domiciliará. **Requerido**
    "source_id": "", //Identificador del servicio al que se domiciliará. **Requerido*
    "notes": "" //Descripción de la domiciliación. **Requerido**
}
```

### Respuesta

```json
{
	"success":true,
	"data":{/*datos del nuevo registro*/}
}
```

## Eliminar una domiciliación

### Solicitud

```
DELETE {endpoint}/{id_domiciliacion}
Authorization: basic base64(owner:claveAPI)
```

### Respuesta

```json
{
	"success":true,
	"data":null
}
```

## Consultar una domiciliación

> **Diferencia con la implementación (2026-10-19):** con autenticación de sistema (`basic`), `{id_domiciliacion}` puede ser el `sys_pk`, el `sys_guid`, el `uid` del usuario o el `source_id`, y `data` es una **lista** con todas las domiciliaciones que coinciden (no un solo objeto). Con autenticación de usuario (`bearer`), `{id_domiciliacion}` debe ser el `sys_pk` y `data` es un objeto.

### Solicitud

```
GET {endpoint}/{id_domiciliacion}

/* Autenticación a nivel de sistema*/
Authorization: basic base64(owner:claveAPI)

/* Autenticación a nivel del usuario, la domiciliación debe ser de ese usuario*/
Authorization: bearer ids
```

### Respuesta

```json
{
	"success":true,
	"data":
    {
		"sys_pk": id de la domiciliación,
        "sys_guid": "uid de la domiciliación",
        "sys_dtcreated": "fecha de creacion",
        "sys_timestamp": "última modificación",
        "sys_info": null,
        "sys_user": null,
        "sys_lastuser": null,
        "sys_exported": null,
        "sys_dtexported": null,
        "sys_recver": null,
        "sys_deleted": null,
        "sys_lock": null,
        "uid": "uid del usuario",
        "source_type": "tipo de domiciliación",
        "source_id": "identificador de la domiciliación",
        "notes": "notas de la domiciliación"
	}
}
```

## Consultar las domiciliaciones de un usuario

> **Diferencia con la implementación (2026-10-19):** con autenticación de sistema (`basic`), `GET {endpoint}` devuelve **todas** las domiciliaciones; para las de un usuario use `GET {endpoint}/{uid}`. Con autenticación de usuario (`bearer`) se devuelven solo las del usuario de la sesión.

### Solicitud

```
GET {endpoint}

/* Autenticación a nivel de sistema*/
Authorization: basic base64(owner:claveAPI)

/* Autenticación a nivel del usuario, establece el parámetro uid al que corresponda el usuario*/
Authorization: bearer ids
```

### Respuesta

```json
{
	"success":true,
	"data":[{...datos de las domiciliaciones...},...]
}
```