Bonjour
depuis quelques jours je me prend la tête avec un soucis sur api de rue du commerce.
Voici des bout de mon code :
// Creations des offres
$flux_offer=array();
array_push($flux_offer, array('available_ended' => null,
'available_started' => null,
'description' => null,
'internal_description' => null,
'min_quantity_alert' => null,
'price' => 1,
'product_id' => 'SKU001',
'product_id_type' => 'SKU',
'quantity' => 1,
'shop_sku' => 'SKU0001',
'state_code' => '11',
'update_delete' => 'update'));
array_push($flux_offer, array('available_ended' => null,
'available_started' => null,
'description' => null,
'internal_description' => null,
'min_quantity_alert' => null,
'price' => 2,
'product_id' => 'SKU002',
'product_id_type' => 'SKU',
'quantity' => 2,
'shop_sku' => 'SKU0002',
'state_code' => '11',
'update_delete' => 'update'));
// Ouverture d'une instance sur l API RDC
$api=new api_rdc($GLOBALS['config_rdc']['cle_api']);
// Creation des données offers a envoyer a l API RDC
$api->donnees=array(
'offers' => $flux_offer,
);
// POST offers sur api
$post_offers_rdc=$api->post('/offers');
$api=null;
Et voici la fonction post de ma class api
function post($methode)
{
// Mise en forme des données à envoyer
$curl_donnees= json_encode($this->donnees);
// Execution de la requête
$curl=curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://mirakl-api.groupe-rueducommerce.fr/api'.$methode);
curl_setopt($curl, CURLOPT_HTTPHEADER, $this->curl_entetes);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_donnees);
curl_setopt($curl, CURLOPT_CAINFO, $GLOBALS['config_rdc']['chemin_librairies'].'/certificats/mozilla.pem');
var_dump($curl);
$reponse=curl_exec($curl);
$erreur_curl=curl_error($curl);
unset($curl);
// Retour
return $reponse;
}
ET j'ai toujours ce retour :
{ "message" : "Body is required", "status" : 400 }"
Je vois pas le soucis avec mon Json ou mon code si quelqu'un a une idée....
J'ai mis les spec ici : http://www.eurowebcorp.com/rdc/rdc.html
Merci par avance