Subskrybenci – zarządzanie wieloma subskrybentami w pojedynczym żądaniu
Za pomocą poniższych metod można wykonywać dokładnie te same działania co przy zarządzaniu pojedynczymi subskrybentami, ale w żądaniu można przesłać do 100 subskrybentów naraz.
Dodawanie wielu subskrybentów
Metoda dodaje wielu subskrybentów jeśli nie było ich w liście subskrypcyjnej lub aktualizuje ich status i dane jeśli nie był w statusie „Aktywny” oraz „Do aktywacji”. W przypadku dodania tylko części z adresów (np. jeden z adresów jest niepoprawny) zostaje zwrócony kod 200 oraz dane dotyczące błędnego/błędnych adresów.
W przypadku nie dodania żadnego subskrybenta zostanie zwrócony błąd 422.
Wywołanie:
POST /rest/subscriber/addMultiple
Dane w POST:
subscribers | Wymagane | Tablica z adresami email i polami dodatkowymi w postaci
{"email" : "adres_email", "custom_fields": { "tag personalizacji pola 1" : "wartość", "tag personalizacji pola 1" : "wartość" } } Pole ”custom_fields” nie jest obowiązkowe. |
|
---|---|---|---|
list | Wymagane | Hash list subskrypcyjnej | |
state | Opcjonalne | Status jaki chcemy nadać subskrybentowi, jeśli pole będzie puste zostanie nadany status „Do aktywacji”, lista dostępnych statusów w dziale „Kody Statusów Subskrybentów” | |
confirm | Opcjonalne | Czy do subskrybenta ma być wysłany email potwierdzający. Możliwe wartości to 0 oraz 1. Jeśli pole będzie puste zostanie wysłany email z potwierdzeniem. To pole jest ignorowane (email nie zostanie wysłany) jeśli nadamy subskrybentowi status inny niż „Do aktywacji”. |
Przykładowy request:
{"list":"id_hash",
"subscribers" : [{"email":"tester1@freshmail.pl",
"custom_fields":{"imie":"Hanna",
"kod_promocyjny":"abcde"} },
{"email":"tester2@freshmail.pl",
"custom_fields":{"imie":"Anna",
"kod_promocyjny":"efgh"} },
{"email":"tester3@freshmail.pl",
"custom_fields":{"imie":"Agata",
"kod_promocyjny":"wxyz"}}]}
Kody błędów:
1331 | Nie udało się dodać/aktualizować żadnego subskrybenta | |
---|---|---|
1332 | Lista subskrypcyjna nie istnieje lub brak hash'a listy | |
1333 | Subskrybent jest na czarnej liście | |
1335 | Próbowano nadać niepoprawny status subskrybenta | |
1336 | Nie przekazano adresów email do dodania | |
1399 | Za dużo subskrybentów w jednym żądaniu – limit 100 |
Przykład częściowych błędów, wysłany request:
{"list":"4zcnmd2ski",
"subscribers":[{"email":"poprawny@adres.email.pl"},
{"email":"niepoprawny adres email"}]}
Zwracane dane (kod odpowiedzi 200):
{"status":"OK",
"data":{
"inserted":1,
"not_inserted":1,
"errors":[{"email":"niepoprawny adres email",
"error":"Email address not correct",
"code":1301}]}}
Kody błędów zwracane dla poszczególnych subskrybentów są identyczne jak kody błędów dla metody /rest/subscriber/add
Modyfikowanie danych wielu subskrybentów
Metoda aktualizuje status i dane wielu subskrybentów
Wywołanie:
POST /rest/subscriber/editMultiple
Dane w POST:
subscribers | Wymagane |
Tablica z adresami email i polami dodatkowymi w postaci {"email" : "adres_emaiil", "custom_fields": { "tag personalizacji pola 1" : "wartość", "tag personalizacji pola 1" : "wartość" } } Pole ”custom_fields” nie jest obiwiązkowe. |
|
---|---|---|---|
list | Wymagane | Hash list subskrypcyjnej | |
state | Opcjonalne | Status jaki chcemy nadać subskrybentowi, jeśli pole będzie puste aktualny status subskrybenta nie zostanie zmieniony |
Kody błędów:
1331 | Nie udało się dodać/aktualizować żadnego subskrybenta | |
---|---|---|
1332 | Lista subskrypcyjna nie istnieje lub brak hash'a listy | |
1335 | Próbowano nadać niepoprawny status subskrybenta | |
1336 | Nie przekazano adresów email do zaktualizowania | |
1399 | Za dużo subskrybentów w jednym żądaniu – limit 100 |
Zwracane dane/informacje o błędach są identyczne jak w przypadku metody /rest/subscriber/addMultiple
Modyfikowanie pól dodatkowych wszystkich subskrybentów
Metoda aktualizuje wybrane pole dodatkowe i ustawia ustaloną wartość dla wszystkich subskrybentów
Wywołanie:
POST /rest/subscriber/updateFieldValue
Dane w POST:
listHash | Wymagane |
Hash list subskrypcyjnej |
|
---|---|---|---|
tag | Wymagane |
Tag pola dodatkowego (np. kod_promocyjny) |
|
value | Wymagane |
Wartość jak zostanie ustawiona w danym polu dodatkowym dla wszystkich subskrybentów |
|
url | Wymagane |
Adres www na który ma zostać wysłana odpowiedź po zakończeniu procesu aktualizacji |
Zwracane dane:
id | id procesu |
---|
Kody błędów:
1381 | Pole dodatkowe nie istnieje | |
---|---|---|
1382 | Brak hasha listy lub tag'a pola dodatkowego | |
1383 | Niepoprawny adres url | |
1384 | Zbyt duża liczba znaków w polu „value” - max. 255 | |
1385 | Pole „value” jest wymagane | |
1386 | Proces aktualizacji tego pola wciąż trwa, poczekaj na jego zakończenie |
Przykład odpowiedzi niepoprawnej:
{"status":"ERROR",
"errors":[{
"message":"Niepoprawny adres url",
"code":1383
}]}
Przykład odpowiedzi poprawnej (kod odpowiedzi 200):
{"status":"OK",
"data":{
"id":5
}}
Po procesie aktualizacji zostanie wysłane żądanie na wskazany adres URL. Odpowiedz będzie żądaniem typu POST, w treści żądania znajdą się następujące dane:
id | id procesu | |
---|---|---|
updated | ilość zaktualizowanych pól subskrybentów |
Przykładowe żądanie:
{"status":"OK",
"data":{ "id":5,
"updated":150
}}
W odpowiedzi skrypt oczekuje kody ze statusem „OK”:
{"status":"OK"}
Jeśli powyższa odpowiedz nie będzie poprawna, skrypt ponowi kilka razy próbę komunikacji, przy większej ilości błędów nastąpi zaniechanie wysyłania kolejnych żądań.
Pobieranie danych wielu subskrybentów
W przypadku gdy request jest częściowo niepoprawny (np. część adresów email nie istnieje) lub całkowicie niepoprawny (np. żaden z adresów email nie istnieje) zostaje zwrócony kod 200 oraz dane dotyczące błędnego/błędnych adresów.W przypadku gdy request jest całkowicie niepoprawny (np. żaden z adresów email nie istnieje) zostaje zwrócony kod 422 wraz z wiadomością błędu.
Wywołanie:
POST/rest/subscriber/getMultiple
Dane w GET:
subscribers | Wymagane |
Tablica z adresami email użytkowników: { {"email":"tester1@freshmail.pl"}, {"email":"tester2@freshmail.pl"}, {"email":"tester3@freshmail.pl"} } |
|
---|---|---|---|
list | Wymagane | Hash list subskrypcyjnej |
Zwracane dane:
Adres email subskrybenta | ||
state | Status subskrybenta (zgodny z opisem w dziale „Kody Statusów Subskrybentów”) | |
custom_fields | Pola dodatkowe wraz z wartościami | |
errors | Tablica z błędami (w przypadku gdy któryś z adresów nie istnieje) |
Kody błędów:
1336 | Nie przekazano adresów email do dodania | |
---|---|---|
1341 | Lista subskrypcyjna nie istnieje | |
1342 | Tablica z subskrybentami jest pusta | |
1399 | Za dużo subskrybentów w jednym żądaniu – limit 100 |
Kasowanie wielu subskrybentów
Metoda kasuje subskrybentów z listy subskrypcyjnej
Wywołanie:
POST /rest/subscriber/deleteMultiple
Dane w POST:
subscribers | Wymagane | Tablica z adresami email użytkowników:
{ {"email":"tester1@freshmail.pl"}, {"email":"tester2@freshmail.pl"}, {"email":"tester3@freshmail.pl"} } |
|
---|---|---|---|
list | Wymagane | Hash list subskrypcyjnej |
Kody błędów:
1351 | Lista subskrypcyjna nie istnieje | |
---|---|---|
1352 | Żaden z subskrybentów nie istnieje/nie został skasowany | |
1399 | Za dużo subskrybentów w jednym żądaniu – limit 100 |
Zwracane dane/informacje o błędach są identyczne jak w przypadku metody /rest/subscriber/addMultiple
Dodawanie subskrybentów do listy odbiorców blokowanych
Metoda dodaje adresy subskrybentów do listy odbiorców blokowanych.
Wywołanie:
POST /rest/subscriber/addBlocks
Dane w POST:
emails | Wymagane | Tablica z adresami email użytkowników:
{ {"email":"tester1@freshmail.pl"}, {"email":"tester2@freshmail.pl"}, {"email":"tester3@freshmail.pl"} } |
---|
Zwracane dane:
stats['added'] | Ilość dodanych odbiorców | |
---|---|---|
stats['existing'] | Ilość już istniejących odbiorców | |
stats['incorrect'] | Ilość błędnych odbiorców | |
Incorrect_mails | Tablica z błędnymi adresami (w przypadku gdy jakiś mail był błędny) |
Kody błędów:
1301 | Adresy odbiorców są niepoprawne | |
---|---|---|
1336 | Nie przekazano adresów odbiorców do dodania | |
1343 | Format przekazanych danych jest niepoprawny |
Kasowanie subskrybentów z listy odbiorców blokowanych
Metoda kasuje subskrybentów z listy odbiorców blokowanych. Akcja możliwa jedynie przy adresach zablokowanych własnoręcznie
Wywołanie:
POST /rest/subscriber/removeBlocks
Dane w POST:
emails | Wymagane | Tablica z adresami email użytkowników:
{ {"email":"tester1@freshmail.pl"}, {"email":"tester2@freshmail.pl"}, {"email":"tester3@freshmail.pl"} } |
---|
Zwracane dane:
stats['removed'] | Ilość skasowanych odbiorców | |
---|---|---|
stats['not_existing'] | Ilość nieistniejących odbiorców | |
stats['incorrect'] | Ilość błędnych odbiorców |
Kody błędów:
1336 | Nie przekazano adresów odbiorców do dodania | |
---|---|---|
1343 | Format przekazanych danych jest niepoprawny |