Sincronizacion completa
Si quiero tener todos los elementos de una Master Db sincronizados contra otro sistema, existe un endpoint especial que permite listar únicamente los elementos que hayan sido modificados a partir de una fecha particular. Entonces, sobre todo para cuando hay muchos elementos, es posible ir haciendo actualizaciones parciales.
GET
https://api.persat.com.ar/v1/masterdbvalues/mdb_id
Path Parameters
mdb_id*
Number
Identificador de la Master db
Query Parameters
offset
number
Mismo concepto de SQL para la paginación. En caso de no enviarse se considerará 0 (cero)
limit*
number
Mismo concepto de SQL para la paginación. Max: 100
last_updated*
IsoDate
Fecha a partir de la cual buscar. Formato yyyy-MM-ddTHH:mm:ss.SSSZ
Headers
Authorization*
String
Bearer API_KEY
Ejemplo de consulta
En este ejemplo queremos listar todos los elementos de la Master Db de Productos que hayan sufrido una modificación o hayan sido creados a partir de last_updated incluido.
mdb_id = 4
last_updated = 19 de Mayo de 2022 a las 08:00 UTC
https://api.persat.com.ar/v1/masterdbvalues/4?offset=0&limit=2&last_updated=2022-05-19T08:00:00.000Z
Analizando la Respuesta
paging: Es un objeto JSON que contiene los datos de la consulta offset y limit tal cual se recibieron, y luego presenta el total de elementos en la Master Db encontrados, y la cantidad devueltos en esta consulta particular. De esta forma podemos ir trayendo de forma paginada todos los elementos modificados o creados a partir de last_updated
data: Es un array de Objetos JSON, en donde cada item es el elemento en la Master Db. Los campos de ese elemento son los mismos que cuando hacemos la consulta Obtener Elemento
Procedimimento para la Sincronizacion
El procedimiento correcto para hacer la sincronización de un listado con muchos elementos en una Master Db 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 elementos. 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