> For the complete documentation index, see [llms.txt](https://docs.api.persat.com.ar/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.api.persat.com.ar/entidades-basicas/master-db/insertar-elemento.md).

# Insertar elemento

Para insertar un elemento en una Master Db en Persat, 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/masterdbvalues`

#### 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                                          |
| ----------------------------------------- | ------ | ---------------------------------------------------- |
| mdb\_id<mark style="color:red;">\*</mark> | Number | Identificador de la Master Db. Por ejemplo Productos |
| fields<mark style="color:red;">\*</mark>  | Object | JSON Object con los campos del elemento a insertar.  |

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

```json
{
    "success": true,
    "data": {
        "mdb_id": 4,
        "fields": {
            "1": "DEST-123AALK",
            "2": "Destornillador perillero",
            "5": "Rojo"
            "6": ""
        },
        "updated": "2022-05-20T13:43:46.000Z"
    }
}
```

{% endtab %}

{% tab title="404: Not Found La master db especificada no existe" %}

```json
{
    "success": false,
    "error": {
        "status": 404,
        "type": "NOT_FOUND",
        "userMessage": "No existe el mdb_id: 23213123123"
    }
}
```

{% endtab %}

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

```javascript
{
    "success": false,
    "error": {
        "status": 400,
        "type": "BAD_REQUEST",
        "userMessage": "'field.1' es un campo string obligatorio que identifica el master db obj value"
    }
}
```

{% endtab %}

{% tab title="409: Conflict Conflicto. Ya existe otro elemento con este field.1" %}

```javascript
{
    "success": false,
    "error": {
        "status": 409,
        "type": "CONFLICT",
        "userMessage": "Ya existe un master db value con este field.1"
    }
}
```

{% endtab %}
{% endtabs %}

### Ejemplo de request

En este ejemplo insertamos un elemento en la Master db de Productos (mdb\_id: 4). El **fields.1** es obligatorio y debe ser único, ya que pasa a ser el identificador del elemento insertado.

### body

```json
{
    "mdb_id": 4,
    "fields": {
        "1": "DEST-123AALK",
        "2": "Destornillador perillero",
        "5": "Rojo"
    }
}
```

{% hint style="info" %}
Los valores a insertar son siempre strings, mas alla de que en la definición de la Master db sean de tipo Número, email, link, etc.&#x20;

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

### Analizando la Respuesta

En caso que no haya ningun error, obtenemos

```json
{
    "success": true,
    "data": {
        "mdb_id": 4,
        "fields": {
            "1": "DEST-123AALK",
            "2": "Destornillador perillero",
            "5": "Rojo"
            "6": ""
        },
        "updated": "2022-05-20T13:43:46.000Z"
    }
}
```

La respuesta contiene al elemento insertado como se puede ver en [Obtener elemento](/entidades-basicas/master-db/obtener-elemento.md)

{% hint style="info" %}
Nótese que la Master Db tiene definido un field "6", que no enviamos durante la inserción, pero si lo recibimos en la respuesta como vacío ""&#x20;

El único campo de los fields obligatorio es el **fields.1** ya que es el identificador unico del elemento en la db
{% endhint %}
