# Sincronizacion completa

Si quiero tener todos los objetos sincronizados contra otro sistema, existe un endpoint especial que permite listar únicamente los objetos que hayan sido modificados a partir de una fecha particular. Entonces, sobre todo para cuando hay muchos objetos, es posible ir haciendo actualizaciones parciales.

<mark style="color:blue;">`GET`</mark> `https://api.persat.com.ar/v1/listclientobjvaluesupdated/obj_id`

#### Path Parameters

| Name                                      | Type   | Description                                         |
| ----------------------------------------- | ------ | --------------------------------------------------- |
| obj\_id<mark style="color:red;">\*</mark> | Number | Identificador del tipo de objeto. Heladeras por ej. |

#### Query Parameters

| Name                                            | Type    | Description                                                                             |
| ----------------------------------------------- | ------- | --------------------------------------------------------------------------------------- |
| offset                                          | number  | Mismo concepto de SQL para la paginación. En caso de no enviarse el valor será 0 (cero) |
| limit<mark style="color:red;">\*</mark>         | number  | Mismo concepto de SQL para la paginación. Max: 100                                      |
| last\_updated<mark style="color:red;">\*</mark> | IsoDate | Fecha UTC a partir de la cual buscar. Formato yyyy-MM-ddTHH:mm:ss.SSSZ                  |

#### Headers

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

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

{% 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": "'offset' debe ser un number >= 0"
    }
}
```

{% endtab %}
{% endtabs %}

### Ejemplo de consulta

En este ejemplo queremos listar todos los objetos de tipo Heladera que hayan sufrido una modificación o hayan sido creados a partir de last\_updated incluido.

{% hint style="info" %}
IMPORTANTE:

**last\_updated:** Es una fecha UTC.
{% endhint %}

Para este ejemplo buscamos todos los objetos de tipo obj\_id = 2 (Heladeras) que hayan sido modificados a partir del 19 de Mayo de 2022 a las 08:00 UTC.

**<https://api.persat.com.ar/v1/**&#x6C;istclientobjvaluesupdate&#x64;**/>**<mark style="color:blue;">2</mark>?offset=0\&limit=2\&last\_updated=2022-05-19T08:00:00.000Z

### Analizando la Respuesta

```json
{
    "success": true,
    "paging": {
        "offset": 0,
        "limit": 2,
        "result": 2,
        "total": 18
    },
    "data": [
        {
            "uid_client": "AAA123",
            "obj_id": 2,
            "fields": {
                "1": "KK895600001",
                "4": "No frost",
                "3": "3000"
                "6": "",
                "7": "",
                "8": "Blanca" 
            },
            "updated": "2022-05-19T09:21:25.000Z"
        },
        {
            "uid_client": "BBB6765",
            "obj_id": 2,
            "fields": {
                "1": "AABCSA090AA",
                "4": "cycle de frost",
                "3": "1500"
                "6": "",
                "7": "",
                "8": "Negra"
            },
            "updated": "2022-05-19T15:50:01.000Z"
        }
    ]
}
```

El resultado es similar al que se explica en [Listar Objetos en un Cliente particular](/entidades-basicas/objetos-en-cliente/listar-objetos-en-un-cliente-particular.md)

## Procedimimento para la Sincronización

El procedimiento correcto para hacer la sincronización de un listado con muchos objetos en cliente es el siguiente:

La primera vez, realizamos un request con el parametro **last\_updated** con una fecha del pasado a la contratación de Persat (ej: 2000-01-01T00:00:00.000Z), e iteramos modificando el offet hasta barrer todos los objetos. Una vez sincronizados guardamos la fecha UTC en que realizamos esta primer sincronización.

Luego, cada vez que queremos sincronizar, repetimos el procedimiento anterior pero indicando en el parámetro **last\_updated** la fecha guardada anteriormente. Finalizado el proceso guardamos la nueva fecha UTC de sincronización y repetimos cada vez que queramos sincronizar.


---

# 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/sincronizacion-completa.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.
