Please upload csv-files with addresses or target group definitions (with customer IDs or eMail addresses) to /upload/manual. Click on Adresses > Lists, choose action Import addresses and follow the given instructions. You can find a manual in article “How to import addresses?”.
A set of standard fields is set up. Individual fields can be defined. When choosing a field description, please take into consideration that these can be used as variables in all e-mail components and that the name scheme should be standardized.
Generally, two types of automatic imports exist:
The complete positive database is available and synchronized on a daily basis. The selection of target groups takes place in promio.connect or via import of target group definitions (customer ID, eMail, internal promio.connect ID, one-columned csv).
Target groups are imported as sub parts of the total database. Here the following options are available:
Client | client number |
Test file | This file must correspond exactly to the files that will be uploaded later, regarding charset, formatting (csv, bz2, Z), data structure (number + order of columns, separator, field delimiter). |
E-mail address/es | For receiving of status mails (logfiles) of all import processes. |
Address management feature | custID OR mail; can be chosen differing from client configuration. |
Time of import | Process is checking whether a file has been uploaded: daily at x o'clock OR every 5 minutes. |
Creating a new target group | Per import OR adding to a auto target group. |
If auto target group | 1) Adding OR replacing of the auto target group - possible methods: - replace - replaceNoResubscribes - add - addNoResubscribes 2) if auto target group is replaced: Unsubscribing of all users that are not included in the current file?* * Please note: this is not recommended and only possible if user data are synchronized completely and every night because users will be added to the blacklist. |
File structure / Nomenclature:
This is the standard file structure which can be extended for individual purposes.
Fieldname | Fieldtype | Standard | Comment |
b2b_user_id | int(8) | 0 | internal client ID: [xxxx] |
id | int(9) | internal customer ID. System field of promio.connect. | |
varchar(255) | e-mail address | ||
nick | varchar(255) | nickname | |
vorname | varchar(255) | first name | |
name | varchar(255) | surname | |
gender | tinyint(1) | 0 | 1=male, 2=female |
mailerror | tinyint(1) | 0 | Internal last bounce status. System field of promio.connect. |
unsubscribe | tinyint(1) | 0 | Internal unsubscribe status. System field of promio.connect. |
source | tinyint(1) | 0 | Internal import marker. System field of promio.connect. |
strasse | varchar(255) | street | |
plz | varchar(255) | postal code | |
ort | varchar(255) | place | |
custID | varbinary(255) | external customer ID | |
country | varchar(255) | de, at, ch, … | |
reg_datetime | datetime | 0000-00-00 00:00:00 | Time of registration |
reg_ip | varchar(255) | Registration IP | |
tsCreated | timestamp | 0000-00-00 00:00:00 | Timestamp of creation of data set. System field of promio.connect. |
tsLastUpdate | timestamp | on update CURRENT_TIMESTAMP | Timestamp of last update of data set. System field of promio.connect. |
agr | tinyint(3) | 0 | Advertisement agreement (1=given) |
tel | varchar(255) | phone number | |
birthday | date | 0000-00-00 | birthday |
pm_image | varchar(255) | Link to an image of person (address research). Can be filled manually. | |
pm_reputation_score | tinyint(1) | Internal reputation score. System field of promio.connect. | |
special_1 | varchar(255) | Free variable for future use | |
special_2 | varchar(255) | Free variable for future use | |
special_3 | varchar(255) | Free variable for future use | |
special_4 | varchar(255) | Free variable for future use | |
special_5 | varchar(255) | Free variable for future use | |
special_6 | varchar(255) | Free variable for future use | |
special_7 | varchar(255) | Free variable for future use | |
special_8 | varchar(255) | Free variable for future use | |
special_9 | varchar(255) | Free variable for future use | |
special_10 | varchar(255) | Free variable for future use | |
html_version | tinyint(1) | format of view of email | |
test_flag | tinyint(1) | 0 | internal marker for test user |
test_letter_id | int(6) | 0 | internal marker for test user |
Fieldname | Fieldtype | Standard | Comment |
b2b_user_id | int(8) | 0 | internal client ID: [xxxx] |
id | int(9) | internal customer ID | |
varchar(255) | e-mail address | ||
nick | varchar(255) | nickname | |
vorname | varchar(255) | first name | |
name | varchar(255) | surname | |
gender | tinyint(1) | 0 | 1=male, 2=female |
strasse | varchar(255) | street | |
plz | varchar(255) | postal code | |
ort | varchar(255) | city | |
custID | varbinary(255) | external customer ID | |
country | varchar(255) | de, at, ch, … | |
reg_datetime | datetime | 0000-00-00 00:00:00 | Registration date |
reg_ip | varchar(255) | Registration IP | |
agr | tinyint(3) | 0 | Advertisement agreement (1=given) |
tel | varchar(255) | phone number | |
birthday | date | 0000-00-00 | birthday |
special_1 | varchar(255) | Free variable for future use | |
special_2 | varchar(255) | Free variable for future use |
After the automatic import of a target group, you can trigger additional tasks by invoking an API call. A common application is the automatic set-up of an e-mail with subsequent delivery.
This requires configuring an automatic import process through promio.net support.
To do so, you must provide the two files user.csv und action.json in a ZIP archive.
This ZIP file must be named according to the agreed upon naming scheme and provided in the SFTP folder /upload/auto for automatic processing.
Contains the data configured for automatic import.
adress1@mail.de adress2@mail.de
Contains campaign and target group information in JSON format.
These are used after the automatic import for the execution of REST API calls.
{ "clientId": 10105, "campaign": { "name": "My campaign", "code": "ABC-123-DEF", "clientId": 12125, "newsletterId": 82384 }, "message": { "templateId": 2861485, "format": "html", "name": "My message", "sendFromId": 12944, "sendFromName": "promio.net newsletter", "locale": "de_DE", "creative": { "content": "<html>\n <head>\n <title>My first message</title>\n </head>\n <body>\n <p>Hello World!</p>\n </body>\n</html>\n", "subject": "My subject" }, "text": { "content": "Hello World.\n" } }, "targetGroup": { "filter": { "includes": [ 315089 ], "excludes": [ { "type": "list", "id": 100898 } ] }, "limit": { "amount": 50000, "type": "mostActive" } }, "delivery": { "schedule": { "scheduledForDeliveryAt": "2025-03-01 12:00" }, "start": { "mailsPerHourLimit": 5000, "resetStatistics": true, "refreshAutoTargetGroup": true }, "sendTest": { "recipients": [ { "custId": "abc-1234", "mail": "max.mustermann@musterdomain.de", "lastName": "Mustermann", "firstName": "Max", "gender": 1, "street": "Musterstraße 4", "city": "Musterstadt", "countryCode": "DE", "postcode": "12345", "birthday": "1986-02-12", "phoneNumber": 4912345678 } ] } } }
Important:
The source code in creative and text must be “prepared” for json.
The following (external) website provides information on how to escape, as well as an option to have source text escaped automatically: https://www.freeformatter.com/json-escape.html
Example of creating a message via HTML source code (incl. start delivery):
{ "clientId": 10105, "campaign": { "name": "My campaign" }, "message": { "format": "html", "name": "My message", "sendFromId": 12944, "sendFromName": "promio.net newsletter", "creative": { "content": "<html>\n <head>\n <title>My first message</title>\n </head>\n <body>\n <p>Hello World!</p>\n </body>\n</html>\n", "subject": "My subject" } }, "delivery": { "schedule": { "scheduledForDeliveryAt": "2025-03-01 12:00" }, "start": { } } }
Example of creating a message via template (without start delivery):
{ "clientId": 10105, "campaign": { "name": "My campaign" }, "message": { "name": "My message", "templateId": 2861485 } }