Jump to content
Claris Engage 2025 - March 25-26 Austin Texas ×

This topic is 4900 days old. Please don't post here. Open a new topic instead.

Recommended Posts

Posted

using SMA i am currently registering two functions. xPathParse() and GetURLasText(),

I have about a dozen FM CF and they all pretty much do the same thing. However I am wondering if I could consolidate all my functions in to one plugin and include the two registered functions.

This is to talk directly to MailChimp API to return xml results

The first call is on startup to call a function to register or store your API key provided. you will also need the data center value which is the last 3 characters of the API key.

exmaple: 0cxxef03xxx16ca5e1d09c524xxxc6acbx50-us2

Right now I have a settings table with that data in a field.

The second call is to retrieve a value a list name and ID and store that in the settings table. I store also as a global variable. $$mc_id

d189932607737

Sample List

The the functions calls would pass in a parameter depending on the method section you are issuing listInterestGroupAdd and with that the optional parameters of the URL string could change.

AddGroup ( groupName )


Let ( [

$$mc_url =  "http://"& Right( $$mc_api ;3) & ".api.mailchimp.com/1.3/?method=listInterestGroupAdd&apikey="&  $$mc_api  &"&id="&  $$mc_id &"&group_name="& groupName &"&output=xml" ; 

$$mc_result = GetURLasText( $$mc_url )

];"")

the URL structure is pretty much the same for each method the end result would be to retrieve the actual URL and the XML results perhaps as two separate functions.

returnURL

returnXML

or if there is a better method using the Mail Chimp API the I would be all ears!

http://apidocs.mailchimp.com/

Posted

I didn't look at the mailchip api; this message assumes you would continue using web services to interact with mailchimp.

You will need some sort of persistent storage method in the plug-in, so that you can save your API key in the plug-in on start-up. Unless you want to hard-code your API key in the plug-in, but I wouldn't assume you want to do that. I know of two types of persistent storage for ScriptMaster plug-in's: using an expando, or using compiled classes with static properties. If you do a search on this forum for expando or persistent storage, you should be able to find some examples of the first method. I started an open source project that utilizes classes with static properties, you could use it as a framework to write your own plug-in: https://github.com/dansmith65/ooScriptMaster

With that, I think you should be able to simplify it down to these custom functions:

  • Initialize() - store API key
  • RetrieveId() - I don't quite understand what this does, I'm just taking your word for it that you need it. this is the part that would retrieve a value, list name, and ID
  • GetGroup(groupName) - construct URL, get URL as text

fyi: there is a simpler way to get a URL as text. It may not be better than the example that comes with ScriptMaster, but it is much simpler.

new URL(urlString).getText()

Posted

when you say you are getting URL as text is it actually getting the URL string or the contents as text of the resolved page?

In my case the example i am after is the latter where SM will grab what ever text the url returns such as XML in this case.

but also having a function to return the built URL so you could test it in a browser.

Posted

It is getting the response from the server. I have been using it with Google Distance Matrix API and it works well. GroovyDoc

.toString() will return the built URL for testing in a browser. JavaDoc

This topic is 4900 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.