código de erro API mailerlite 422 para endpoint de subscritores
Hoje, eu estava a implementar a interface entre PiCockpit.com e o Mailerlite API (que utilizamos no nosso software de boletim informativo).
https://api.mailerlite.com/api/v2/subscribers
Recebi a seguinte mensagem de erro:
{"error":{"code":422, "message": "Unprocessable entity"}}}
O pedido POST devolvia 422 como código de estado.
Infelizmente, há pouca documentação sobre isso no Mailerlite. A minha implementação estava correcta (a propósito, esta é a Crystal Lang):
obter "/test" do |env|
corpo = "e-mail": \"[email protected]""}
coloca corpo
resposta = HTTP::Client.post("https://api.mailerlite.com/api/v2/subscribers",
cabeçalhos: HTTP::Cabeçalhos{
"X-MailerLite-ApiKey" => "MAILERLITE_APIKEY",
"Content-Type": "aplicação/json": "aplicação/json".
},
corpo: corpo)
se resposta.status_code != 201
coloca "newsletter_subscrição :: código de erro #{response.status_code}".
coloca o response.body
senão
coloca "newsletter_subscrição :: OK".
coloca o response.body
fim
fim
onde MAILERLITE_APIKEY é a chave API que se cria no backend:
https://dashboard.mailerlite.com/integrations/api
(Clique em "Gerar novo símbolo", é-lhe apresentado apenas uma vez).
Como corrigir 422 ao chamar o ponto final dos subscritores do Mailerlite API
O apoio de mailerlite deu-me a solução:
certos endereços de correio electrónico são rejeitados - por exemplo, endereços de correio electrónico que são suporte@. Isto deve-se ao facto de a taxa de rejeição ser mais elevada neles.
Como se parece uma resposta bem sucedida?
Com um endereço de correio electrónico diferente, a resposta tem este aspecto:
{"id":2348923942342834, "name":"", "email": "[email protected]", "sent":0, "open":0, "open_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":"país", "valor":"", "tipo": "TEXT"},{"chave": "cidade", "valor":"", "tipo": "TEXT"},{"chave": "telefone", "valor":"", "tipo": "TEXT"},{"chave": "estado", "valor":"", "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″}
O código de resposta é 201"criado".
Contrate-nos
Se precisar de apoio para o seu desenvolvimento backend ou frontend, pode contratar-nos. Entre em contacto para mais informações.