I'm in the process of having a developer create an integration between Gravity Forms (for WordPress) and CCB. I'm sharing my thoughts out loud here in hopes that others will contribute any ideas they might have, make me aware of potential roadblocks, etc.
Forms API Challenge
The first challenge is that the Forms API is read-only, which means that I cannot directly write form data to the CCB database. This is no small mountain to climb and there is not an entirely satisfactory way to accomplish this integration without the Forms API allowing writes. Still, lets see what we can do:
Obstacle #1: Data Needs to Be Synced to CCB
There is some data which absolutely must be synced to CCB, but as far as I can tell, little of this actually needs to be passed through the Forms API. Instead, we can directly input this data via the various APIs - for example, we can update individual user profile information, group membership, and event attendance, etc. all using the relevant APIs.
This is not ideal, but the until writable Form API fix seems to be that we'll store our data in two locations - one within Gravity Forms and the other in CCB. Some data from Gravity Forms will not be synced with CCB.
Obstacle #2: Reporting On Non-Synced Data
This raises a second issue, how do church staff manage reporting on data that has not been synced? First, we by and large hope that the data has been synced as outlined above. But secondly, we use the CCB API to create a SSO using one's CCB username/pass. In this way, while they will have to go to a different link to access this reporting, it will not require a separate username/password.
The link could be added within CCB on the splash page after login, within a group, etc.
Obstacle #3: Payments Integration
Not every form, but surely some, will require payment integration. We could use a Gravity Forms integrated payment provider and then use the API to pass in the record of the transaction, or we could pass of the payment information to a CCB form and allow it to handle the payment processing.
The main difficulty here is that with self-hosting via Gravity Forms we may increase the PCI requirements for our organization. On the other hand, we don't have a good way to auto-fill information into a CCB form if we redirect there.
Obstacle #4: Process / Queue Integration
CCB's API does allow for adding/editing/reading from the processes and queues. Using this functionality we can programmatically add the relevant processes/queues based on the results being transferred in from Gravity Forms.
Obstacle #5: End User Profile Auto-Fill
Another obstacle is that CCB allows a user's information to be auto-filled in forms if they are logged in. How can we accomplish this with Gravity Forms?
Unfortunately, I don't see any way to successfully check logged in status with CCB, so we'll have to force folks to login again. This is a nuisance, but not insurmountable. Once the user has authenticated using CCB credentials, we can pull the same info. into Gravity Forms that CCB itself pulls into its forms.
What Am I Missing?
What am I missing? Any suggestions? Roadblocks? I'd love to hear them.
Talk about utilizing the CCB API. Feel free to share your code so others can take advantage of your enhancements!
3 posts • Page 1 of 1
I wonder if it's possible to submit the CCB forms programatically via HTTP POST instead of through the API.
That is a good idea...I may see if we can try that in the second iteration of the WP plugin we are building now.