mailerlite API-Fehlercode 422 für den Endpunkt subscribers
Heute habe ich die Schnittstelle zwischen PiCockpit.de und die Mailerlite API (die wir für unsere Newsletter-Software verwenden).
https://api.mailerlite.com/api/v2/subscribers
Ich habe die folgende Fehlermeldung erhalten:
{"error":{"code":422, "message": "Unprocessable entity"}}
Die POST-Anfrage gab 422 als Statuscode zurück.
Leider gibt es nur wenig Dokumentation darüber auf Mailerlite. Meine Implementierung war korrekt (dies ist übrigens Crystal Lang):
get "/test" do |env|
body = "{\"email\": \"[email protected]"}"
puts body
response = HTTP::Client.post("https://api.mailerlite.com/api/v2/subscribers",
headers: HTTP::Headers{
"X-MailerLite-ApiKey" => "MAILERLITE_APIKEY",
"Content-Type": "application/json"
},
body: body)
if response.status_code != 201
puts "newsletter_anmeldung :: Fehlercode #{response.status_code}"
puts response.body
sonst
puts "newsletter_abonnement :: OK"
puts response.body
end
end
wobei MAILERLITE_APIKEY der API-Schlüssel ist, den Sie im Backend erstellen:
https://dashboard.mailerlite.com/integrations/api
(Klicken Sie auf "Neues Token generieren", es wird Ihnen nur einmal angezeigt).
Behebung von 422 beim Aufruf des Abonnenten-Endpunkts der Mailerlite-API
Der mailerlite Support hat mir die Lösung gegeben:
Bestimmte E-Mail-Adressen werden abgelehnt - z. B. E-Mail-Adressen mit der Adresse support@. Dies ist darauf zurückzuführen, dass die Bounce-Rate bei diesen Adressen höher ist.
Wie sieht eine erfolgreiche Antwort aus?
Mit einer anderen E-Mail-Adresse sieht die Antwort wie folgt aus:
{"id":2348923942342834, "name":"", "email": "[email protected]", "sent":0, "opened":0, "opened_rate":0, "clicked":0, "clicked_rate":0, "type": "unconfirmed", "country_id":"", "signup_ip":null, "signup_timestamp":null, "confirmation_ip":null, "confirmation_timestamp":null, "fields":[{"key": "last_name", "value":"", "type": "TEXT"},{"key": "company", "value":"", "type": "TEXT"},{"key":"Land", "Wert":"", "Typ": "TEXT"},{"Schlüssel": "Stadt", "Wert":"", "Typ": "TEXT"},{"Schlüssel": "Telefon", "Wert":"", "Typ": "TEXT"},{"Schlüssel": "Bundesland", "Wert":"", "Typ":”TEXT”},{“key”:”z_i_p”,”value”:””,”type”:”TEXT”}],”date_subscribe”:”2022-05-19 12:09:24″,”date_unsubscribe”:null,”date_created”:”2022-05-19 12:09:24″,”date_updated”:”2022-05-19 12:09:24″}
Der Antwortcode lautet 201, "erstellt".
Mieten Sie uns
Wenn Sie Unterstützung für Ihre Backend- oder Frontend-Entwicklung benötigen, können Sie uns beauftragen. Nehmen Sie Kontakt auf für weitere Informationen.