I was recently asked to develop a site that would collect customer contact information and schedule attendance at upcoming seminars, and then interface the data to Infusionsoft using their API. However, I had not previously heard of Infusionsoft, and was able to broaden my knowledge a bit by doing this project. The critical coding was done in PHP.
I began by making an account on Infusionsoft's developer site and familiarizing myself with the parts of the API that I expected I'd have to use. I found code examples on their GitHub for several different programming languages. This allowed me to see how Infusionsoft intended for the API to work.
Although the documentation was useful in getting me started, when questions started to arrise, I discovered that Infusionsoft's forum was down for maintenance. A month later the forum was still down, so I had to google the majority of my questions.
The problem that gave me the most trouble, dealt with the tokens that Infusionsoft uses for it's Oauth2 authentication. The API is built in a way that the user is required to supply a valid login everytime they require a token. This was a problem for this particular project, due to the majority of the intended users not being members of Infusionsoft.
To solve this problem, I ended up saving a valid token on the server, thus allowing for users to utilize the site without needing to be a member. I then had the site refresh the supplied token everytime the site ran a query, assuring that a up to date token is always available.