Import custom field options from one Infusionsoft app to another - infusionsoft

I am trying to find a way to update a custom field automatically within multiple Partner Infusionsoft apps when I manually update the field with new options within our main Infusionsoft app.
The idea is to avoid manually logging into every Partner Infusionsoft app that we manage, individually, to update the custom field options so that they match our main app custom field options when it is updated. The custom field is constantly being updated with new options that need to be mirrored within all of our partner apps.
The process would not need to be entirely automatic. We could manage using a trigger to update the rest of the apps whenever we have manually updated the custom field in our main app.
Can anyone please steer me in the right direction or tell me if this isn't even possible?

Yes this is possible with the API. Unfortunately there isn't a REST webhook for when a custom field is modified, so it would require a constant poll against what you would consider the master application. Constantly check the custom field and see if it's values changed. This is the rest documentation for that:
https://developer.infusionsoft.com/docs/rest/#!/Contact/retrieveContactModelUsingGET
That will include all the possible options for the field.
Unfortunately you can't modify a custom field in the newer REST API so you will have to use xmlrpc. The rest API only let's you create according to the documentation.
Here are the docs for the endpoint you would use with xmlrpc to update all the other apps to match the master application.
https://developer.infusionsoft.com/docs/xml-rpc/#data
https://developer.infusionsoft.com/docs/table-schema/
DataFormField is the custom field information. You would use the data endpoint to modify the values.
Be careful when you are polling the master application to not go over usage limits and apply best practices.

Related

Palantir Foundry - Is it possible to retrieve the user that last updated an uploaded table?

I want to create a historical dataset from a snapshot uploaded table in Palantir Foundry. I want to add into that table the user who did the upload. Is that possible?
Can't find on the docs info about doing this.
TransformInput object doesn't contain that information.
You could use an API call to the Foundry build service to get the information about the latest update performed on the input dataset but that might give you wrong information if there were multiple updates from different people since you last ran the transform. This also requires Palantir to allow calling Foundry APIs from your repository if it's not already enabled.

Foundry user attribute not changing in UI after API update

I have changed an attribute of a user using Foundry's providerId APIs. When I query by using the APIs, I get the new attributes but the Foundry UI is still displaying the old attribute. Is this a kind of caching? Or is there an action I should take to trigger this change to take action?
You need the user to login to foundry after you make the provider change. The actual user login flow from the new provider updates the user.

Pass Mediawiki "wgUserName" to Google Tag Manager

I have an install of Mediawiki for my company which I have tracking page activity currently, but I also want to be able to track page activity per user.
Ideally, I'd like to pass the wgUserName into Google Tag Manager as the userid that Google Analytics sees.
How can I pass the wgUserName into the data layer from the wiki? I just need to get that into Tag Manager.
Thanks!
I don't think you'll need the data layer for this, according to https://www.mediawiki.org/wiki/Manual:Interface/JavaScript
You can access the config via: mw.config and the value for "wgUserName" can be found with "mw.config.get("wgUserName")"
Thus all you need to do in GTM is create a Custom JavaScript variable and reference it:

JSON storage via API

I'm hoping to store a JSON file and access it through javascript in a Qualtrics survey. The information does not need to be password protected and I don't want to include any credentials in the Qualtrics survey.
I've been using links to anonymous gists eg. (https://gist.githubusercontent.com/anonymous/591cf9b1dd8fa70d97451cd1569f89be/raw/9984f8f22929d29d6f612189212059bce5157ca4/a_file), but every time I update a gist, that link changes. So, every time I want to change the contents of the gist, I need to copy the new link into the Qualtrics survey Javascript (unfortunately, I can't do this automatically easily in Qualtrics).
I'd like to be able to post the JSON somewhere that I can update programmatically without changing the link. Does anyone have suggests of an API I can use for this purpose? Thanks a lot!
Why not use github's api to get your gist's content by using the gists id.
So for
https://gist.githubusercontent.com/anonymous/591cf9b1dd8fa70d97451cd1569f89be/raw/9984f8f22929d29d6f612189212059bce5157ca4/a_file
the id would be 591cf9b1dd8fa70d97451cd1569f89be and then you can make get requests to https://api.github.com/gists/591cf9b1dd8fa70d97451cd1569f89be. You may need to have public gists though, not anonymous gists to be able to update a gist and use it's id to track changes.

Securely registering a new Wordpress user with a custom Zapier action (via JSON API?)

I want to use Zapier to register a new Wordpress user — the trigger will be a new purchase on Gumroad.
This plugin — https://wordpress.org/plugins/json-api-user/ — allows you to register users using a public JSON interface, eg by hitting
https://example.com/api/user/register/?username={{email}}&email={{email}}&nonce=blahblahblah
I'm new to all this, but know that I can get Zapier to insert the purchaser's email from Gumroad into {{email}}.
My question is, how can I do this in a secure way?
(At the moment anyone can hit example.com.com/api/get_nonce/?controller=user&method=register and get the key they need)
And maybe it can even be done without using Zapier?
I'm assuming that the nonce is only good for a short period of time, like a couple minutes? If so, what you want to do is lock down the /api/get_nonce/ endpoint to require a password. That way only authenticated users can get a nonce, which can then be used to create the user.
As for how Zapier fits in, it's a bit complicated to custom build a two-request process like this. You would have to make your own app on the Developer Platform do the nonce call and then the user creation.
I use the following plugin to create users (via Zapier) on my WordPress sites after someone signed up on my Teachable school: WP Webhooks Pro
This plugin allows me to either POST the data to my WordPress site via JSON, XML or a simple form data. In my case, I don't need a nonce, since the plugin generates API keys that I can use to push my data to.