Sincronizacion completa

Si quiero tener todos los objetos sincronizados contra otro sistema, existe un endpoint especial que permite listar unicamente 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.

GET https://api.persat.com.ar/v1/listclientobjvaluesupdated/obj_id

Path Parameters

NameTypeDescription

obj_id*

Number

Identificador del tipo de objeto. Heladeras por ej.

Query Parameters

NameTypeDescription

offset

number

Mismo concepto de SQL para la paginación. En caso de no enviarse el valor será 0 (cero)

limit*

number

Mismo concepto de SQL para la paginación. Max: 100

last_updated*

IsoDate

Fecha UTC a partir de la cual buscar. Formato yyyy-MM-ddTHH:mm:ss.SSSZ

Headers

NameTypeDescription

Authorization*

String

Bearer API_KEY

Ejemplo de consulta

En este ejemplo queremos listar todos los objetos de tipo Heladera que hayan sufrido una modificacion o hayan sido creados a partir de last_updated incluido.

IMPORTANTE:

last_updated: Es una fecha UTC.

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/listclientobjvaluesupdated/2?offset=0&limit=2&last_updated=2022-05-19T08:00:00.000Z

Analizando la Respuesta

{
    "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

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.

Last updated