/ API / Notas de Pedido / BatchSincronización upload/batch

Para aquellas empresas que requieran sincronizar un alto volumen de Notas de Pedido, Bee2Bee ofrece la modalidad de correr un proceso batch periodicamente:

  • se suben a nuestros servidores los archivos XML de Proveedores, Notas de Pedido y Recepciones
  • Bee2Bee ejecuta periódicamente un proceso batch que lee todos los archivos subidos recientemente, y los procesa en orden de llegada.

Ejemplo

Veamos un ejemplo. Supongamos que tiene un archivo provee.xml con los datos de todos sus proveedores, y otro notas.xml con las ordenes para sincronizar en un intervalo de fechas. Puede subir estos archivos mediante la ruta genérica http://www.bee2bee.com.ar/syncro/upload:

curl -u lucas@mephisto.com:knikcata -d ‘@provee.xml’ http://www.bee2bee.com.ar/syncro/upload

que responde con el número de identificación de sincronización

49

mientras que

curl -u lucas@mephisto.com:knikcata -d ‘@notas.xml’ http://www.bee2bee.com.ar/syncro/upload

con respuesta

50

Ahora puede consultar el estado del archivo enviado mediante:

curl -u lucas@mephisto.com:knikcata -H ‘Accept: application/xml’ http://www.bee2bee.com.ar/syncro/49

y obtendrá una respuesta XML con los datos actuales del proceso. Si no se proceso aún:

<logsincro>
  <status>UPLOADED</status>
  <company-id type="integer">1</company-id>
  <content-length type="integer">1142602</content-length>
  <created-at type="datetime">2008-10-02T14:57:05-03:00</created-at>
  ...
</logsincro>

indicando que se subio el archivo, pero aún no se proceso.

En cambio si el archivo fue procesado, la respuesta sería

<logsincro>
  <status>OK</status>
  <company-id type="integer">1</company-id>
  <content-length type="integer">1142602</content-length>
  <created-at type="datetime">2008-10-02T14:57:05-03:00</created-at>
  <summary>Se validaron 2937/5123 ordenes. Se actualizaron 0, agregaron 2937, <br/>borraron 0, no se tocaron 0 registros. Hubieron 0 fallos al escribir o borrar. Tiempo 37.653658</summary>
  <tipo>ORDENES</tipo>
  <uploaded type="integer">5123</uploaded>
  <validated type="integer">2937</validated>
  <errores>{"validation 34684-147"=&gt;"due_date field out of start_date, end_date range!"}</errores>
  ...
</logsincro>

donde se informa el tipo de archivo procesado (‘ORDENES’), la cantidad de ordenes uploaded, cuantas se validaron correctamente validated, y si hubo errores, una lista de los errores observados. Asi mismo se devuelve un resumen sintético de lo actuado.

La periodicidad que se corre el proceso batch la maneja Bee2Bee.