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.