Mysterious Custom Integration sync error: "Document can't have '.' in field names"

I have logged and checked every packet that my custom integration app sends to Fibery, and found that:

  • The only JSON key in containing a period, in any packet that was sent from the integration app, was in the pagination section of data endpoint responses, part of an email address:
    image

I know this isn’t the real issue because this occurs elsewhere without any problem (in the pagination section).

I have analyzed every packet sent by my integration app –
Here is the uniquified list of every single JSON key from every single packet sent by the integration app:

"Closed_Time":
"Created_By z":
"Created_By":
"Created_Time":
"Description":
"Due_Date":
"Modified_By":
"Modified_Time":
"Owner":
"Priority":
"Send_Notification_Email":
"Status":
"Subject":
"Tag":
"Tasks":
"What_Id":
"Who_Id":
"_id":
"accept":
"accept-encoding":
"account":
"accuburn@rivashost.net":
"app":
"auth":
"body":
"calls_modifiedSince":
"cardinality":
"connection":
"content-length":
"content-type":
"deals_modifiedSince":
"enabled":
"fields":
"filter":
"filters":
"hasNext":
"headers":
"host":
"id":
"ignore":
"items":
"key":
"lastSynchronizedAt":
"lastUpdatedOn":
"masterAccountId":
"modifiedBefore":
"modifiedSince":
"more_records":
"name":
"nextPageConfig":
"next_page_token":
"onlyClients":
"operationId":
"optional":
"originalName":
"owner":
"page":
"page_token_expiry":
"pagination":
"password":
"readonly":
"relation":
"reqType":
"request":
"requestedType":
"response":
"result":
"schema":
"status":
"subType":
"targetFieldId":
"targetName":
"targetType":
"title":
"type":
"types":
"user-agent":
"username":
"x-correlationid":
"x-forwarded-for":
"x-forwarded-proto":
"x-pagekite-port":
"x-powered-by":
"z_id":
"zoho_acct":

ALL of these keys also occur in syncs that do not cause any issues.

So I suspect the error message is not accurate. Please tell me - what does it actually mean?

The only thing I can see in the data that looks even close is that some “name” fields include a period – could that be an issue??

Hello, @Matt_Blais

Please don’t use “.” in field names of nextPageConfig. It is not allowed by our sync api. Email has “.” so please don’t use the email as a field name for config.

Thanks,
Oleg

Apparently this really was the issue – now that I filter out “.” from nextPageConfig keys, the error has stopped occurring.

This is very odd, since I have been using this format for over a year without any issues until recently… and then somewhat randomly.