Skip to content

Repository files navigation

MailUp API - How to migrate from SOAP API to REST API

This document can be used as a reference for those who are in the process of migrating their application from MailUp SOAP API to MailUp REST API. If you need more details you can create an issue on this Github project.

As you probably know, MailUp SOAP API methods belong to one of these domains: WSMailUpImport, MailUpSend, MailUpReport and MailUpManage. The following paragraphs map the methods of each domain to the MailUp REST API methods with the corresponding behaviour. There are few cases in which there is not an exact 1:1 matching, a detailed page is available for those exceptions.

WSMailUpImport methods

SOAP Method NameAlternative method using REST API
ANY authentication using the request's headerAuthentication using OAuth 2.0
GetNlLists or GetNlListsUserThe REST API returns only the lists the logged in use has access. Start with GET /ConsoleService.svc/Console/List, then optionally iterate over the returned lists to get groups: GET /ConsoleService.svc/Console/List/{ID_LIST}/Groupsdetails
NewImportProcess, StartProcess and StartImportProcessesAny combination of these SOAP calls is replaced by a single call like POST /ConsoleService.svc/Console/List/{id_List}/Recipients(plain import into a MailUp "list") or POST /ConsoleService.svc/Console/Group/{ID_GROUP}/Recipients (when you want to specify a "group" that belongs to a MailUp "list") details
GetProcessDetailsGET /ConsoleService.svc/Console/Import/{IMPORT_ID} (if you know the import ID) or GET /ConsoleService.svc/Console/Imports (to get all the import tasks) details
CreateGroupPOST ConsoleService.svc/Console/List/{ID_LIST}/Groupdetails
GetIdUser or GetIdWsUserREST API can read only the ID of the user who made the request. Use GET /ConsoleService.svc/Console/Authentication/Info to retrieve the user ID details

MailUpSend methods

Access and account management

SOAP Method NameAlternative method using REST API
Login or LoginFromIdAuthentication using OAuth 2.0
LogoutNo longer required
CreateListPOST /ConsoleService.svc/Console/Listdetails
GetLists or GetListsUserGET /ConsoleService.svc/Console/Listdetails
GetListIdentityNo longer supported (related to a deprecated integration)
DeleteListDELETE /ConsoleService.svc/Console/List/{id_List} details
GetGroupsGET /ConsoleService.svc/Console/List/{ID_LIST}/Groupsdetails
GetIdUserGET /ConsoleService.svc/Console/Authentication/Infodetails
GetFields or GetFields_stGET /ConsoleService.svc/Console/Recipient/DynamicFieldsdetails

SMS

SOAP Method NameAlternative method using REST API
CreateSMSPOST /ConsoleService.svc/Console/Sms/List/{id_List}/Messagedetails
SendSingleSMS, SendSMSFast or SendDirectSMSUse Transactional SMS API to send single SMSs (i.e. "one to one")
SendSMSPOST /ConsoleService.svc/Console/Sms/List/{id_List}/Message/{id_Message}/Send (send to all list's recipients) or POST /ConsoleService.svc/Console/Sms/Group/{id_Group}/Message/{id_Message}/Send (send to a group) details
GetCredits or GetCreditsListsPOST /ConsoleService.svc/Console/Authentication/Detailsdetails
GetSMSPOST /ConsoleService.svc/Console/Sms/List/{id_List}/Messagesdetails
GetSMSDeliveryStatusPOST /ConsoleService.svc/Console/Sms/Sendings/Immediatedetails

Email

SOAP Method NameAlternative method using REST API
SendSingleNewsletterUse Transactional Email API or SMTP+
CreateNewsletterPOST /ConsoleService.svc/Console/List/{id_List}/Emaildetails
CloneMessagePOST /ConsoleService.svc/Console/list/{id_List}/Email/{id_Message}
GetNewslettersGET /ConsoleService.svc/Console/List/{id_List}/Emails
GetMessagesA method that returns only the non-cloned email messages is no more available
GetNewsletterCodeGET /ConsoleService.svc/Console/list/{id_List}/Email/{id_Message}
SendMessageNLHas to be replaced by a sequence of steps details
SendNewsletterPOST /ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}/Send
SendNewsletterFastNewsletters & DEM: first create the email message using POST /ConsoleService.svc/Console/List/{id_List}/Email then send it out with POST /ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}/Send. Transactional (one-to-one) emails: Use Transactional Email API or SMTP+
GetNewsletterDeliveryStatusGET /ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}/SendHistory (past sendouts) GET /ConsoleService.svc/Console/Email/Sendings/Immediate (in progress) GET /ConsoleService.svc/Console/Email/Sendings/Deferred (still planned)
GetNewsletterQueuesGET /ConsoleService.svc/Console/Email/Sendings/Immediate (ongoing) GET /ConsoleService.svc/Console/Email/Sendings/Deferred (planned) GET /ConsoleService.svc/Console/Email/Sendings/Undefined (unplanned)
StartDeliveryPOST /ConsoleService.svc/Console/Email/Sendings/{id_Sending}/Immediate (schedule an immediate dispatch) POST /ConsoleService.svc/Console/Email/Sendings/{id_Sending}/Deferred (schedule a deferred dispatch)
RemoveNewsletterQueueDELETE /ConsoleService.svc/Console/Email/Sendings/{id_Sending} Note: in case of ongoing sending you must must stop it first using POST /ConsoleService.svc/Console/Email/Sendings/{id_Sending}/Stop

MailUpReport methods

SOAP Method NameAlternative method using REST API
Login or LoginFromIdAuthentication using OAuth 2.0
LogoutNo longer required
ReportByUser or ReportByUserENHas to be replaced by a sequence of API calls
ReportByMessage or ReportByMessageENUse GET /MailStatisticsService.svc/Message/{ID_MESSAGE}/List/Recipients (delivered) GET /MailStatisticsService.svc/Message/{ID_MESSAGE}/List/Views (opens) GET /MailStatisticsService.svc/Message/{ID_MESSAGE}/List/Clicks (clicks) details

MailUpManage methods

SOAP Method NameAlternative method using REST API
Login or LoginFromIdAuthentication using OAuth 2.0
LogoutNo longer required
CreateGroupPOST ConsoleService.svc/Console/List/{ID_LIST}/Groupdetails
GetGroupsGET /ConsoleService.svc/Console/List/{ID_LIST}/Groupsdetails
UpdateGroupPUT /ConsoleService.svc/Console/List/{ID_LIST}/Group/{ID_GROUP}details
DeleteGroupDELETE /ConsoleService.svc/Console/List/{ID_LIST}/Group/{ID_GROUP}details
CreateListPOST /ConsoleService.svc/Console/Listdetails
GetLists or GetListsUserGET /ConsoleService.svc/Console/Listdetails
UpdateListPUT /ConsoleService.svc/Console/List/{id_List} details
DeleteListDELETE /ConsoleService.svc/Console/List/{id_List} details
GetIdUserGET /ConsoleService.svc/Console/Authentication/Infodetails

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors