Estou construindo uma integração de mailchimp e eles exigem uma chamada POST com código JSON.
Não, estou usando este código que realmente funciona :
$data = wp_remote_post($url, array(
'headers' => array('Content-Type' => 'application/json; charset=utf-8'),
'body' => json_encode($array_with_parameters),
'method' => 'POST'
));
Mas, ele retorna um aviso do PHP
Aviso: http_build_query (): O parâmetro 1 deve ser Matriz ou Objeto. Valor incorreto fornecido em ../wp-includes/Requests/Transport/cURL.php na linha 507
Como evitá-lo?
Eu tentei usar apenas a matriz simples no índice 'body', mas o MailChimp retorna um erro de análise JSON.
json
http-api
plugin-mailchimp
wp-remote-post
codificador a
fonte
fonte
Respostas:
Tente definir o
data_format
parâmetro em sua solicitação da seguinte maneira:Parece que o formato pode estar no padrão
query
, nesse caso o WordPress tenta formatar os dados usandohttp_build_query
, o que está causando problemas, já que você já está formatando o corpo como uma string. Aqui está o check-in relevantewp-includes/class-http.php
:Como seu erro vem da linha 507 de
wp-includes/Requests/Transport/cURL.php
, podemos ver que esta é a chamada raiz parahttp_build_query
:fonte