Código de error 422 de la API de mailerlite para el punto final de los suscriptores
Hoy, estaba implementando la interconexión entre PiCockpit.com y la API de Mailerlite (que utilizamos en nuestro software de boletines).
https://api.mailerlite.com/api/v2/subscribers
Recibí el siguiente mensaje de error:
{"error":{"código":422, "mensaje": "Entidad no procesable"}}
La solicitud POST devolvía 422 como código de estado.
Desgraciadamente hay poca documentación al respecto en Mailerlite. Mi implementación era correcta (por cierto, esto es 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)
si response.status_code != 201
puts "newsletter_subscription :: código de error #{response.status_code}"
puts response.body
else
puts "boletín_suscripción :: OK"
puts response.body
end
end
donde MAILERLITE_APIKEY es la clave de la API que se crea en el backend:
https://dashboard.mailerlite.com/integrations/api
(Haga clic en "Generar nuevo token", sólo se le mostrará una vez).
Cómo arreglar el 422 al llamar al punto final de suscriptores de la API de Mailerlite
El soporte de mailerlite me dio la solución:
ciertas direcciones de correo electrónico son rechazadas - por ejemplo, las direcciones de correo electrónico que son support@. Esto se debe a que la tasa de rebote es mayor en ellas.
¿Cómo es una respuesta exitosa?
Con una dirección de correo electrónico diferente, la respuesta es así:
{"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":"country", "value":"", "type": "TEXT"},{"key": "city", "value":"", "type": "TEXT"},{"key": "phone", "value":"", "type": "TEXT"},{"key": "state", "value":"", "type":”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″}
El código de respuesta es 201, "creado".
Contrate con nosotros
Si necesita soporte para su desarrollo backend o frontend, puede contratarnos. Póngase en contacto con nosotros para obtener más información.