codice di errore API di mailerlite 422 per l'endpoint degli abbonati

Oggi stavo implementando l'interfacciamento tra PiCockpit.com e l'API di Mailerlite (che utilizziamo per il nostro software di newsletter).

https://api.mailerlite.com/api/v2/subscribers

Ho ricevuto il seguente messaggio di errore:

{"error":{"code":422, "message": "Entità non elaborabile"}}.

La richiesta POST restituiva 422 come codice di stato.

Purtroppo c'è poca documentazione al riguardo su Mailerlite. La mia implementazione era corretta (a proposito, questo è Crystal Lang):

	get "/test" do |env|
	  body = "{"email": \"[email protected]\"}"
	  mette corpo
      response = HTTP::Client.post("https://api.mailerlite.com/api/v2/subscribers",
      		intestazioni: HTTP::Headers{
      			"X-MailerLite-ApiKey" => "MAILERLITE_APIKEY",
      			"Content-Type": "application/json"
      			},
      		body: body)
  	  se response.status_code != 201
  	  	puts "newsletter_subscription :: codice di errore #{response.status_code}"
  	  	puts response.body
  	  altrimenti
  	  	puts "newsletter_subscription :: OK"
  	  	mette response.body
  	  fine
	fine

dove MAILERLITE_APIKEY è la chiave API creata nel backend:

https://dashboard.mailerlite.com/integrations/api

(Fare clic su "Genera nuovo token", che viene visualizzato solo una volta).

Come risolvere il problema 422 quando si chiama l'endpoint abbonati dell'API di Mailerlite

Il supporto di mailerlite mi ha fornito la soluzione:

Alcuni indirizzi e-mail vengono rifiutati, ad esempio gli indirizzi e-mail che sono support@. Ciò è dovuto al fatto che il tasso di rimbalzo è più alto per questi indirizzi.

Come si presenta una risposta di successo?

Con un indirizzo e-mail diverso, la risposta è la seguente:

{"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":"paese", "valore":"", "tipo": "TEXT"},{"chiave": "città", "valore":", "tipo": "TEXT"},{"chiave": "telefono", "valore":", "tipo": "TEXT"},{"chiave": "stato", "valore":", "tipo":”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″}

Il codice di risposta è 201, "creato".

Assumeteci

Se avete bisogno di assistenza per lo sviluppo del backend o del frontend, potete affidarvi a noi. Contattate per maggiori informazioni.