Guidelines for development of Selzy and CMS/CRM integration
Integration possibilities
The section bellow describes the guidelines for development of a module (plug-in) for CMS & CRM systems that will provide integration between your CMS or CRM system and Selzy.
If you follow the guidelines described below in the development, you will have a module in your system that will enable your users to:
- register with Selzy or link an existing Selzy account to the module;
- import email and other lead fields from your system to Selzy for further sending emails to them;
- create messages for a campaign;
- send the emails created to the imported email addresses;
- receive the campaign statistics: the number of delivered and read letters, and the click-through statistics.
If you have any questions regarding this document in the development, or you want to develop an integration that will differ from the one described above, you can contact us at [email protected], - and we will provide you with advice.
Guidelines for development in terms of functionalities
When developing integrations, you will use API Selzy.
IMPORTANT
To track users of your integration and diagnose errors that will occur, you need to add the platform parameter in each (!) call of the API method. Parameter values are the name of your system in Latin letters without spaces and special characters, previously agreed on with the manager.
To agree on the parameter, send a request to [email protected] with a brief description of your system.
Example of a call with this parameter:
The list creation method has the following format GET.
https://api.selzy.com/en/api/createList?format=json&api_key=***&title=***
When calling this method, you need to add a parameter, with which the request is sent.
https://api.selzy.com/en/api/createList?format=json&api_key=***&title=***&platform=MySite
Login of the existing Selzy user
- Display the form with the API key field and information on how to get and enable it in Selzy.
- When submitting the form, call the getLists method.
- If the method returns information about the lists without errors, display the message «You have successfully logged in».
- Go to «Selection of the list and additional fields to import contacts».
User registration
- Display the form with the Email & Password fields.
- When confirming the filling out form, send data from the form fields using the register method.
- If the method has been successful, you will receive the API user key.
- Save the received API key in your application.
- Display the message to the user that the registration has been successful.
- Go to «Selection of the list and additional fields to import contacts».
Selection of the list and additional fields to import contacts
- Display the «Select a list to import contacts or create a new one», window, which displays the names of the lists obtained using the getLists method and the window to enter the name of the new list.
- If the user has selected a list, you should save his id in your system.
- If the user has entered the name of the new list, you should create it in Selzy using the createList method and save the id of the list in your system.
- Display the «List has been selected» message.
- After confirmation that the message has been read, display a window with mapping (matching fields of your system and Selzy) of the contact fields of your system and Selzy. The window should display the fields available for importing from your system and the Selzy fields. Selzy fields can be obtained using the getFields. method. If the user wants to create a new field in Selzy, use the createField createField method.
- When mapping the fields, you need to match the field types.
- After the fields have been mapped by the user, you need to display a message about the successful completion of mapping.
- Go to «Creating a message for a campaign».
We advise you to import contacts immediately before creating a campaign.
Creating a message for a campaign
- Getting the list of confirmed user addresses using getCheckedEmail.
- If the user wants to send emails from an address that has not been previously confirmed, confirm the sender's address using the validateSender method.
- After calling the validateSender method, display the message «Confirmation letter has been sent to your address, you can send emails from this address after clicking the link».
- Creating an email to be sent using the createEmailMessage method. When creating a message, specify the list selected in the «Selection of the list and additional fields to import contacts» step. Use attachments parameter to add attachments to email. The maximum attachment size is 500 Kb
- Save the message id received.
- Suggest checking the display of the message in the user's mailbox. If the user agrees, send a test message using the sendTestEmail method.
Mailing campaign on the message created and obtaining statistics
- The user can select one of the ways to send the message:
-immediately;
- schedule sending. - If the user has confirmed sending, your system should import the contacts into the selected list in the «Selection of the list and additional fields to import contacts» step using the importContacts method. When you call importContacts method, the fields parameter should contain the Selzy fields that you are going to import your data to, and the data parameter should contain the data from the fields in your system. You can’t import more than 500 contacts per call. Once the data has been imported, display the successful import message.
- Call the createCampaign method, in which you should transfer:
- message_id
- the identifier of the message created in the «Creating a message for a campaign» step;
- start_time - set the sending time depending on the selected sending method;
- contacts_url - optional parameter used when you need to send a campaign to a particular segment of your list rather than to the whole one; it contains the link to the file with contacts to receive the campaign;
- track_read = 1;
- track_links = 1. - If the user chooses to send the campaign immediately, display the message “Your campaign has been sent”, if they choose to schedule sending, display the message “Your campaign has been scheduled”.
Getting campaign status and statistics
- You can get the current campaign status using the getCampaignStatus.
- You can get the campaign statistics using the getCampaignCommonStats.