# Insertar objeto

Para insertar un objeto en cliente, se debe enviar un POST como el que se especifica a continuación.

<mark style="color:green;">`POST`</mark> `https://api.persat.com.ar/v1/clientobjvalue`

#### Headers

| Name                                            | Type   | Description      |
| ----------------------------------------------- | ------ | ---------------- |
| Authorization<mark style="color:red;">\*</mark> | String | Bearer API\_KEY  |
| Content-Type<mark style="color:red;">\*</mark>  | String | application/json |

#### Request Body

| Name                                          | Type   | Description                                                                                                                                                         |
| --------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| uid\_client<mark style="color:red;">\*</mark> | String | Identificador del cliente                                                                                                                                           |
| obj\_id<mark style="color:red;">\*</mark>     | Number | Identificador del esquema/plantilla del Objeto en cliente. Por ej: Puedeo tener tanto Heladeras como Matafuegos. Este obj\_id es para identificar el tipo de objeto |
| fields<mark style="color:red;">\*</mark>      | Object | Los campos del objeto a insertar. Ver en el ejemplo en esta misma seccion                                                                                           |

{% tabs %}
{% tab title="200: OK La consulta se ejecutó con éxito" %}

```json
{
    "success": true,
    "data": {
        "uid_client": "AABC9098",
        "obj_id": 2,
        "fields": {
            "1": "AABCSA090AA",
            "4": "No frost",
            "3": "1500",
            "6": "",
            "7": "",
            "8": ""
        },
        "updated": "2022-05-19T19:15:11.000Z"
    }
}
```

{% endtab %}

{% tab title="400: Bad Request Error en alguno de los campos enviados. userMessage contiene informacipon adicional." %}

```json
{
    "success": false,
    "error": {
        "status": 400,
        "type": "BAD_REQUEST",
        "userMessage": "'field.1' es un campo string obligatorio que identifica el client obj value dentro del cliente"
    }
}
```

{% endtab %}

{% tab title="409: Conflict Ya existe un Objeto en este cliente con el mismo identificador" %}

{% endtab %}
{% endtabs %}

### Ejemplo de request

En este ejemplo insertamos un elemento del tipo 2 (obj\_id) en el cliente "AABC9098". Este obj\_id representa el objeto Heladeras.

### body

```json
{
	"uid_client": "AABC9098",
	"obj_id": 2,
	"fields": {
		"1": "AABCSA090AA",
		"4": "No frost",
		"3": "1500"
	}
}
```

El **field.1** es obligatorio y es el identificador de la heladera. Debe ser unico por cliente. Los otros campos son los que se corresponden a la plantilla/esquema (obj\_id) y no son obligatorios.&#x20;

{% hint style="info" %}
Los valores a insertar son siempre strings, mas alla de que en la definición de la plantilla del objeto sean de tipo Numero, email, etc.&#x20;

Por el momento, no se realizan validaciones durante la inserción o modificación de estos campos.&#x20;
{% endhint %}

### Analizando la Respuesta

En caso que no haya ningun error, obtenemos

```json
{
    "success": true,
    "data": {
        "uid_client": "AABC9098",
        "obj_id": 2,
        "fields": {
            "1": "AABCSA090AA",
            "4": "No frost",
            "3": "1500",
            "6": "",
            "7": "",
            "8": ""
        },
        "updated": "2022-05-19T19:15:11.000Z"
    }
}
```

**updated:** Es la fecha de inserción o modificación en UTC

{% hint style="info" %}
Notese que se reciben varios fields extra (6,7,8) que no enviamos durante la creación, pero que estan definidos en la plantilla del objeto. Entonces fueron completados con valor ""
{% endhint %}
