# 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.api.persat.com.ar/entidades-basicas/objetos-en-cliente/insertar-objeto.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
