ΠΠ±Π·ΠΎΡ
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ API
ΠΠ΅Π±Ρ
ΡΠΊΠΈ
ΠΠ΅Π±Ρ
ΡΠΊ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ°ΡΡΡΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΡΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ? #
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° email-Π°Π΄ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΡΠΎΠΏ-ΡΠΏΠΈΡΠΎΠΊ (Suppression list) ΠΊΠ°Π½Π°Π»Π° ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈΠ· Π½Π΅Π³ΠΎ. ΠΠ΄ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠΏΠΈΡΠΎΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΡΠ»Π΅ ΠΆΠ΅ΡΡΠΊΠΎΠ³ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°, ΠΆΠ°Π»ΠΎΠ±Ρ Π½Π° ΡΠΏΠ°ΠΌ, ΠΎΡΠΏΠΈΡΠΊΠΈ ΠΈΠ»ΠΈ ΡΡΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. Π ΡΡΠ½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π² Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Haskimail ΠΈΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ API.
ΠΠ΄ΡΠ΅Ρ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈΠ· ΡΡΠΎΠΏ-ΡΠΏΠΈΡΠΊΠ° Π²ΡΡΡΠ½ΡΡ β ΠΏΡΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ Π² Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Haskimail ΠΈΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ API.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π°Π΄ΡΠ΅ΡΠ° ΠΈΠ· ΡΡΠΎΠΏ-ΡΠΏΠΈΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ API.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ Π² ΠΏΠΎΠ»Π΅ ChangedAt ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ISO 8601.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° URL Π²Π΅Π±Ρ
ΡΠΊΠ° Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ°ΡΡΡΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ #
Π§Π΅ΡΠ΅Π· Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Haskimail
ΠΠΎΠΉΠ΄ΠΈΡΠ΅ Π² Π°ΠΊΠΊΠ°ΡΠ½Ρ Haskimail, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ Π‘Π΅ΡΠ²Π΅Ρ ΠΈ ΠΠ°Π½Π°Π», Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ Β«ΠΠ΅Π±Ρ
ΡΠΊΠΈΒ». ΠΠ°ΠΆΠΌΠΈΡΠ΅ Β«ΠΠΎΠ±Π°Π²ΠΈΡΡ Π²Π΅Π±Ρ
ΡΠΊΒ», Π²Π²Π΅Π΄ΠΈΡΠ΅ URL Π² ΠΏΠΎΠ»Π΅ Β«URL Π²Π΅Π±Ρ
ΡΠΊΠ°Β» ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ»Π°ΠΆΠΎΠΊ Π½Π°ΠΏΡΠΎΡΠΈΠ² ΡΠΎΠ±ΡΡΠΈΡ Β«ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈΒ» (Subscription Change)./p>
Π§Π΅ΡΠ΅Π· API
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅ SUBSCRIPTION CHANGE Ρ ΠΏΠΎΠΌΠΎΡΡΡ API ΠΊΠ°ΠΊ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π²Π΅Π±Ρ
ΡΠΊΠ°, ΡΠ°ΠΊ ΠΈ ΠΏΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ.
ΠΠ°Π½Π½ΡΠ΅ Π²Π΅Π±Ρ
ΡΠΊΠ° Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ°ΡΡΡΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ#
ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ JSON-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ POST-Π·Π°ΠΏΡΠΎΡΠΎΠΌ Π½Π° Π²Π°Ρ URL Π²Π΅Π±Ρ
ΡΠΊΠ°, ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΠΏΡΠ°Π²Π°.
- ΠΠΎΠ»Π΅ SuppressSending ΠΈΠ½ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ, Π±ΡΠ»Π° Π»ΠΈ ΡΡΠΎ Π΄Π΅Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡ (true) ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½Π°Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡ (false).
- MessageID Π±ΡΠ΄Π΅Ρ null Π΄Π»Ρ ΡΡΡΠ½ΡΡ
ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Ρ Origin ΡΠ°Π²Π½ΡΠΌ Customer ΠΈΠ»ΠΈ Admin, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ
Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΉ.
- ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ SuppressionReason: HardBounce, SpamComplaint ΠΈΠ»ΠΈ ManualSuppression.
- ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΠΎΡΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ Ρ SuppressionReason, ΡΠ°Π²Π½ΡΠΌ ManualSuppression.
- ΠΠΎΠ»Ρ SuppressionReason ΠΈ Tag Π±ΡΠ΄ΡΡ null, Π° ΠΏΠΎΠ»Π΅ Metadata β ΠΏΡΡΡΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° SuppressSending = false (ΠΏΠΎΠ²ΡΠΎΡΠ½Π°Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡ).
- ΠΠΎΠ»Π΅ Origin ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: Recipient (ΠΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ), Customer (ΠΠ»ΠΈΠ΅Π½Ρ), Admin (ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ).
- ChangedAt β Π²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠ΅ΡΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ.
ΠΡΠΈΠΌΠ΅Ρ JSON Π΄Π°Π½Π½ΡΡ
Π²Π΅Π±Ρ
ΡΠΊΠ°
{
"RecordType":"SubscriptionChange",
"MessageID": "883953f4-6105-42a2-a16a-77a8eac79483",
"ServerID":123456,
"MessageStream": "outbound",
"ChangedAt": "2020-02-01T10:53:34.416071Z",
"Recipient": "bounced-address@wildbit.com",
"Origin": "Recipient",
"SuppressSending": true,
"SuppressionReason": "HardBounce",
"Tag": "my-tag",
"Metadata": {
"example": "value",
"example_2": "value"
}
}
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π΅Π±Ρ
ΡΠΊΠ° Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ°ΡΡΡΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ curl #
ΠΡΠ»ΠΈ Π²Ρ Π²Π΅Π΄Π΅ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΠΈΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ URL Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ API, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ POST-Π·Π°ΠΏΡΠΎΡΠ°, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠΏΡΠ°Π²Π°. ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ <your-url> Π½Π° API-ΠΌΠ°ΡΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ URL Π²Π°ΡΠ΅Π³ΠΎ Π²Π΅Π±Ρ
ΡΠΊΠ°. ΠΡΠΎΡ curl-Π·Π°ΠΏΡΠΎΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²Π°Ρ URL ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π·Π°ΠΏΡΠΎΡΡ Π² ΡΠΎΠΌ ΠΆΠ΅ JSON-ΡΠΎΡΠΌΠ°ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ²Π΅ΡΡ Haskimail.
ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ·ΠΎΠ²Π° curl
curl <your-url> \
-X POST \
-H "Content-Type: application/json" \
-d '{
"RecordType": "SubscriptionChange",
"MessageID": "883953f4-6105-42a2-a16a-77a8eac79483",
"ServerID": 4509041,
"MessageStream": "outbound",
"ChangedAt": "2020-02-01T10:53:34.416071Z",
"Recipient": "hard-bounce@wildbit.com",
"Origin": "Customer",
"SuppressSending": true,
"SuppressionReason": "HardBounce",
"Tag": "my-tag",
"Metadata": {
"example": "value",
"example_2": "value"
}
}'
ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΈ ΡΡΠ°ΡΡΡΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ #
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π΅Π±Ρ
ΡΠΊ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ:
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ Π²Π΅Π±Ρ
ΡΠΊ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
Π²Π΅Π±Ρ
ΡΠΊΠΎΠ² Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠΎΠ² ΠΈ ΠΆΠ°Π»ΠΎΠ± Π½Π° ΡΠΏΠ°ΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΎ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΡΡ
Π°Π΄ΡΠ΅ΡΠ°Ρ
.
- ΠΠ΅ΡΡΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.
- Π£Π²Π΅Π΄ΠΎΠΌΠ»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π΅Π³ΠΎ Π°Π΄ΡΠ΅Ρ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΈΠ»ΠΈ Π½Π΅Π°ΠΊΡΠΈΠ²Π΅Π½.