Dropbox webhooks seem to go conspicuously out of their way to be mysterious in nature. When we receive a webhook, we use a cursor that we're responsible for maintaining to enumerate entries in a directory that the events are supposed to be for, but there appears to be no way of reading the specific events that induced the change. Is there a way of determining if we're receiving the first message versus a duplicate, or are we just keeping track of the ID and version of every file?
I'm assuming that the only way of determine a create versus an update is to check the version, correct?
What does a rename look like? Is a rename considered to be a different operation from a move?
Also, I tried posting this message last night, the forum didn't like any of my tags, and then I got blocked all night for posting the same message more than once in an hour. I'd have complained about it elsewhere, but there's no way to just post website bugs, and the chatbot kept crashing when I selected "Other".
What if there's an update with the exact same data? Does the version change, in this case?
Are we allowed to have duplicate filenames in a single directory?
Is it okay to persist the entry IDs? What about the IDs of files that were deleted? Those events appear to not have the ID, only the name.
I'm confused about managing the various types of account that can induce webhook events based on all of the forum entries I've seen from other eually confused developers. What's the best documentation for understanding how to best manage events from individual accounts versus team accounts?
Is there a simple entry-type name exposed via the Python library? I'm assuming that such a name is probably returned by the API and used by the library to determine which entity classes to use. Do all of the entity classes share a base-class? Are there attributes that we can expect every entry to have? The documentation doesn't do much to expose this.
Thank you.
I find it queer that the documentation and so many of the forum entries reference the ten-second deadline for the response, and yet we're given no information on the actual events and are instead required to go and get the account/team information, lookup our cursor, page through the entries, update the cursor, and return before that deadline. This isn't even processing the data, which can be done asynchronously, but just establishing the minimum information in order to do so. Plus, we have to lock over each account number, in order to properly manage the cursor, which further endangers the deadline. The whole process would be simpler and faster if we just had the information that we're sure to need just given to us directly as well as the actual events that triggered the event rather than only having access to listing directories.
It's the first API for which the adjective "coy" comes to mind.
Also, last night I tried posting this message, but the forum didn't like my tags and then prevented me from posting that first message the rest of the night with the following error: "Post flooding detected (community received posts of a unique message more than 1 times within 3,600 seconds)". I couldn't report it because the website has no general "bug submission" or contact form, and when I tried engaging the chatbot with the "Other" option, it kept telling me it had an error and needed to be restarted.
I just updated this post to include the last paragraph above, and the forum said it saved it but then dropped it. I needed to make the same change twice. The forum software is a little buggy...