WSMailUpImport.NewImportProcess
NewImportProcess prepares an import process but it does not start it. You can use StartProcess method to make it start by specifying idProcess value that is returned by NewImportProcess.
Please note that you cannot activate more than one import process at the same time, however you can prepare many import processes with NewImportProcess and then call StartImportProcesses method that starts all of them in a sequential manner.
Method parameters
NewImportProcess(int idList, int listGUID, idGroup, string xmlDoc, string idGroups, int importType,
int mobileInputType, bool asPending, bool ConfirmEmail, bool asOptOut, bool forceOptIn,
bool replaceGroups, int idConfirmNL)
Creates a new import process for the contacts listed in the xmlFeed.
- idList: list identifier
- listGUID: GUID of the list
- xmlDoc: an XML string containing the contacts to be imported (see paragraph "XML feed" below)
- idGroups: group identifiers separated by comma (more than a group for each list is possible)
- importType: import type (default value=3)
- mobileInputType: mobile number input type ((see paragraph "XML feed" below)
- 1= include international code
- 2= international code and phone number in two different fields
- asPending: If "true" it subscribes (or unsubscribes, if "asOptOut=true") also the recipients that were pending in specified MailUp list before import. Please note that the name of this parameter is misleading, see table in StartImportProcesses page for details (default value=false)
- ConfirmEmail: If "true" sets subscription status of specified recipients as "pending" and sends them a confirmation email. Status change to "pending" and email sending applies to either brand new recipients or to recipients that were already subscribed or pending to the specified list before import. See table in StartImportProcesses page for details (default value=false)
- asOptOut: Imports recipients as "unsubscribed" when set to "true", regardless if they were previously subscribed into specified MailUp list. If you want to cancel subscription (i.e. unsubscribe) also for the recipients that were previously pending, you should set both "asOptOut=true" and "asPending=true". See table in StartImportProcesses page for details (default value=false)
- forceOptIn: If "true" it enables change of subscription status even if a recipient was "unsubscribed" before import. It can be used to force "subscribed" or "pending" status for previously unsubscribed recipients, please note that this status change does not apply when recipient was automatically unsubscribed due to hard bounce or complaints feedback loop. See table inStartImportProcesses page for details (default value=false)
- replaceGroups: replaces groups (default value=false)
- idConfirmNL: confirmation newsletter ID (default value=0, confirmation request created automatically)
If the import process is created successfully, then an "idProcess" value identifying it is returned; if not, a ReturnCode is returned.
Please refer to WSMailUpImport.StartImportProcesses for details about allowed data format of each parameter. In particular, please pay attention to the constraints that are described "XML structure" in section for xmlDoc parameter.
Â
Sample ReturnCode
<mailupMessage> <mailupBody> <ReturnCode>17</ReturnCode> </mailupBody> </mailupMessage>
Error codes
Error code | Description |
---|---|
-400 | unrecognized error |
-401 | xmlDoc is empty |
-402 | convert xml to csv failed |
-403 | create new import process failed |
-410 | cannot create confirmation email |
XML feed
The XML structure for importing subscribers is shown below:
<subscribers> <subscriber email="user@myprovider.com" Prefix="+001" Number="8889624587" Name=""> <campo1>first name</campo1> <campo2>last name</campo2> <campo3>MailUp</campo3> </subscriber> </subscribers>
Phone numbers can be specified in two ways:
- Single field
<subscriber email="user@myprovider.com" Prefix="" Number="+0018889624587" Name="">
- Two fields
<subscriber email="user@myprovider.com" Prefix="+001" Number="8889624587" Name="">
Ruby Example
# Refer to https://mailup.atlassian.net/wiki/display/mailupapi/MailUp+RubyGem for gem information. require 'mailup' m = MailUp::Import.new('username', 'password', 'console_url') m.new_import_process(:listID => 123456, :listGUID => 123456, :xmlDoc => "XML_STRING", ...) # => <?xml version=\"1.0\" encoding=\"windows-1252\" ?><mailupMessage><mailupBody><ReturnCode>17</ReturnCode></mailupBody></mailupMessage>