Questions about the integrations API

Hi,

I’m working on an integration using the integrations API (a new and improved version of my fairly janky Python script for syncing Zotero to Fibery), and I’ve got a couple questions:

  1. On the Fibery web interface, there is an option to “force full sync”. Is there a way for my app to know if that option has been used? It caches a “last modified” version on its server so that it can use Zotero’s sync API to avoid unnecessary work. It seems like if somebody tries to force a full sync, it should probably clear that cache and re-sync everything (or maybe I’m misunderstanding what “force full sync” is supposed to do).

  2. Currently, my integration uses two databases (one called Literature which holds papers/books/etc. and one called Author which holds authors of those works). Everything is working great with the Literature database. However, only authors from the first page in the pagination are ending up in the author database. This could totally be me doing something dumb, but as far as I can tell, I’m sending all of the pages of authors back to Fibery in the same way (I verified that they all end up in response objects). So I just wanted to check and see whether any possible explanation jumps out at you. One possible source of problems is that there may be duplicate authors between the different chunks of paginated data; zotero doesn’t give me a way to just query authors, so the only way to get them is by querying a chunk of papers/books/etc. and returning the authors of works in that group. Will Fibery handle duplicates okay, or should I just not be using pagination for authors in the first place?

  3. Is the current account token a sensitive piece of information that I should be being careful with? I’m currently using it to keep track of which user my “last modified version” cache is for, in case others want to start using my integration too, but I don’t know if that’s a bad idea.

Thanks so much for providing the integrations API! Aside from these small hiccups, I’m really loving it!

Hello, @seaotternerd

Please find the answers below

  1. The request body will contain field lastSynchronizedAt which will be equal to null if Force Full Sync is occured.
  2. Fibery is handling duplications. But please note the fibery entity will be updated by last duplicate record from incoming dataset.
  3. We suggest to not store tokens. Please use accountId which is included into request body.

Please let us know about any questions.

Thanks,
Oleg

1 Like

Thanks! That’s super helpful. Just to double check: I’m not seeing accountId in the request body. Is account._id the right field?