FAQ

Here you'll find the frequently asked questions by our clients, and possible solutions to help you with your query.

This is constantly updated and refined, so please check back frequently for updates.

Click a question to show the response.

API

Getting a system login setup for use with our API is as easy as emailing/contacting your customer success manager here @pure360 or contacting our support team via the widget when logged in or via support@pure360.com. API logins are free to use, and the first step in the development progress.
Discuss this with us, your development is unique and you, the customer, are unique to us. The Pure360 communities paramount goal is offering solutions that meet your needs. So get in touch with your customer success manager here @pure360 or contact our support team via the widget when logged in or via support@pure360.com. Our experts will evaluate what you are looking to achieve, whether this is a testing setup, or advice on the best way to proceed.
To use our API with VS 2013 using the same method as our tutorials check out our tutorial : Tutorial : Configuring VS 2013 with a web reference
This is on the cards and something we are striving to offer as soon as possible. Expect some updates in the very near future! For now consider using the language specific cUrl library and use our interfaces references to build these requests manually found here.
We highly recommend where passing data into our API that are external variables (i.e. listName) to use the base64 writable variable (suffixed with _base64), and base 64 encode the content placed in that variable. See the SOAP reference for specific details.

Lists and Recipients

This is highly dependant upon the amount of recipients you are looking to optout if you're managing recipients on an as and when basis..

i.e. A user clicks a link to OPTOUT on your website, your website processes this and triggers an OPTOUT on our platform.

  • The best solution for this is to use our HTTP Interfaces to trigger this.
  • Have a look at our List Builder interface.
  • All web languages include the ability to trigger web requests via cURL or a language specific library.

Or if you are looking to run a periodic batch job you have two options:
Firstly...

  • Our SOAP API offers the ability to create, append (not applicable here) and replace contact lists.
  • Have a look at our bus_facade_campaign_list reference for details on this specific aspect.
  • You want to make sure the list of contacts you are looking to upload contain just email addresses.
  • The list MUST be called __OPTOUT__
  • If the list exists a validation error will be returned. If this is the case consider setting the UPLOAD TRANSACTION TYPE to REPLACE.

Secondly, you can apply the same principle as the SOAP list upload via the Automated List Upload interface.

If you are looking to create a signup form, first we'd recommend taking a look at our HTTP interface documentation.

  • The interfaces concept breaks down a signup form in conjunction with the list builder interface.
  • Once you understand the concept, you can check out the full reference : List Builder Interface
  • Our platform can accept these requests via cURL using server side development.
  • Requests via the list builder will trigger signup automations associated with the target list.

  • Firstly take a look at bus_facade_campaign_list reference
  • Let's assume you have a simple pasteFile:
    "test@test.com,bob,2013-11-24 08:09:12"
    a single record with an email address, name and the date they signed upto the website
  • Ok so we can see that the email address is the first element so is indexed at 0
  • The alternate signup date is at, by the same theory, indexed at 2
  • So when updating the list bean of the new list in the list store we need to ensure we pass in the variable "signUpDate" with the value 2 in the entityData
  • REMEMBER : The date must be formatted as either "yyyy-mm-dd hh:mm:ss" or "yyyy-mm-dd"
  • Firstly take a look at bus_facade_campaign_list reference
  • Let's assume you have a simple pasteFile:
    "test@test.com,bob,20/01/1972"
    a single record with an email address, name and the recipients date of birth
  • We can see that the email address is the first element so is indexed at 0
  • The date of birth is, by the same theory, indexed at 2
  • So when updating the list bean of the new list in the list store we need to ensure we set up the custom field correctly
  • This is the second field of custom data, so we need to set "field2Col" to 2, and "field2Name" to "DOB"
  • However in this case we need to pass in an additional variable called "field2DataFormat" with the value "dd/mm/yyyy"
    (or whatever the date format is : see the facade for more information)
  • This one is really simple so say you have
    "test@test.com,bob,c++,php,java"
    a Single record with an email address, name and 3 areas of iterest
  • So if we want to encapsulate those 3 areas of interest in to a custom field called "interests" we simply need to encase these values in " "
  • "test@test.com,bob,\"c++,php,java\""
    As you can see in this example the inner quotes have been escaped for clarity purposes

Emails and SMS

This question comes up from time to time. Luckily we have incorporated a relatively straightforward process of retrieving this via SOAP.
  • First you'll want to either LOAD an existing email into the bean store, or CREATE and UPDATE an email entity bean in the bean store
  • Next we want to use a unique process only availiable via the email facade bus_facade_campaign_email
  • Specifically we want to consider the generateSpamReport which takes in a single key value pair in the entity data, that being the beanId of the bean in the bean store
  • Like all our process requests we want to send the following:
    handleRequest(String contextId, "bus_facade_campaign_email", "generateSpamReport", Array/Hashtable entityData, null);
  • This will load the results of the spam check into the result data element of the result Array/Hashtable
  • With some simple parsing you should be able to read these out and use them as required - i.e. writing back to a log
This question comes up from time to time, and although there is no direct functionality included in the API (i.e. a move method), we have however written a great tutorial here on how to copy messages from profile to profile: Tutorial : How to copy a message between profiles
The principle is as follows:
  • Call the login process on bus_facade_context for both of the profiles, source and destination
  • This will create a separate session for each of these in the bean store
  • In the source session, perform a search process on bus_facade_campaign_email and store the returned idData. Passing no entity data will return all of the ids for all of the emails.
  • For each of these ids load the email into the bean store, this will return the entity as an associative array or a set of key value pairs (hashtable)
  • Using the bus_facade_campaign_email reference,remove all of the read-only elements from this data structure
  • Create an empty email bean in the bean store of the destination session
  • Using the returned beanId update this bean with all the writeable and required variables, using the data from the current source email data structure
  • Perform a store on the new bean in the destination bean store, writing this back to the system
  • Repeat for all of the source emails (ids)
  • Logout of both the source and destination
  • First you'll want to LOAD an existing email into the bean store
  • Next we want to use a process availiable via the email facade bus_facade_campaign_email
  • Specifically we want to use the remove process using the beanId in the bean store as the entity data (reference) for the process
  • Like all our process requests we want to send the following:
    handleRequest(String contextId, "bus_facade_campaign_email", "remove", Array/Hashtable entityData, null);
  • This will remove the email from the bean store, and write the changes back to the platform removing that entity from the profile.

Deliveries and One to One sends

Occasionally you might find yourself in the position where you would like to send a unique message to a recipient, yet not store this message in the platform.
For instance you might be generating a one off message to a certain recipient that won't be reused, or used as part of a full campaign
  • Firstly if you are generating this via a HTTP Interface you'll want to check out : One 2 One Interface reference.
  • Alternatively you will want to look at the SOAP version : bus_facade_campaign_one2one
  • There are two ways of sending a one to one, firstly you can specify either the message_messageName in the post request to the one 2 one interface or in the process data of the SOAP request - using an existing message
  • Alternatively you can specify a new message, the plain text, the html, subject line, template etc.
  • This custom message will ONLY be used for this send, not stored by the system