Probleme $Post Json et PHP

Petit nouveau ! | 1 Messages

06 déc. 2021, 13:39

Bonjour à tous,

Par avance je vous remercie de votre aide, nouveau sur le forum je ne sais si l'on doit d'abord passer par la case présentation comme sur d'autre forum, donc par avance merci de m'excuser si cela est le cas. :wink:

Depuis plusieurs nombreuses heures / jours, je cherche à poster les variables json en php et à contrôler la réponse de l'api afin de poursuivre l'envoi des données afin d'inscrire l'utilisateur. (Sachant qu'en parallèle je mets a jours mes bases de données slq).

Mes données semblent bien partir, hors l'api semblerait il refuse mes données ????

L'un de vous saurait il me dire si mon code de la ma gestion d'envoi et la gestion de la réponse est juste (La je rame depuis un bon moment à savoir si le problème viendrait de l'api ou si le problème vient tout simplement de mon code) :!: :?: .

En Json je suis sensé envoyer :

Code : Tout sélectionner

EmailModel{ email string($email) partnerId string partnerPassword string }


et en retour avoir une réponse Code: 200 Description: Success Links: No links
Si la réponse est valide ( 200) je peux donc continuer mon envoi de données :

Code : Tout sélectionner

ClientInfoModel{ countryCode* string partnerId* string partnerPassword* string }


avec en retour avoir une réponse Code: 200 Description: Success Links: No links

Et ainsi de suite....

Voici mon code php:

Code : Tout sélectionner

<?php $checkcandidatealready = $absUrlClient.'/api/register/checkcandidate'; $selectclientinfo = $absUrlClient.'/api/register/selectclientinfo'; $insertcandidate = $absUrlClient.'/api/register/insertcandidate'; /* Check candidate send data */ $data = array( 'email' => $Email, 'partnerId' => $partnerId, 'partnerPassword' => $partnerPassword, ); /* Creation des options de contexte */ $options = array( 'http' => array( 'method' => 'POST', 'header' => "Content-Type: application/json", 'ignore_errors' => false, 'timeout' => 10, 'content' => json_encode($data), ), ); /* Creation du contexte HTTP */ $context = stream_context_create($options); /* Execution de la requete */ file_get_contents($checkcandidatealready, false, $context); /* Check checkcandidate response */ function get_http_response_code($checkcandidatealready) { $headers = get_headers($checkcandidatealready); return substr($headers[0], 9, 3); } $get_http_response_code = get_http_response_code($checkcandidatealready); if ( $get_http_response_code == 200 ) { print "<br />step one<br /> ".$options."<br />".var_dump(http_response_code()); /* Check selectclientinfo */ $data2 = array( 'countryCode' => $countryCode, 'partnerId' => $partnerId, 'partnerPassword' => $partnerPassword, ); /* Creation des options de contexte */ $options2 = array( 'http' => array( 'method' => 'POST', 'header' => "Content-Type: application/json", 'ignore_errors' => false, 'timeout' => 10, 'content' => json_encode($data2), ), ); /* Creation du contexte HTTP */ $context2 = stream_context_create($options2); /* Execution de la requete */ file_get_contents($selectclientinfo, false, $context2); /* Check selectclientinfo response */ function get_http_response_code($selectclientinfo) { $headers = get_headers($selectclientinfo); return substr($headers[0], 9, 3); } $get_http_response_code = get_http_response_code($selectclientinfo); if ( $get_http_response_code == 200 ) { print "<br />step two <br />".$options2."<br />".$get_http_response_code; /* Check insert candidate */ $data3 = array( 'email' => $Email, 'firstName' => $Forename, 'lastName' => $Name, 'keywords' => $Keywords, 'location' => $location, 'countryCode' => $countryCode, 'clientIds' => $clientIds, 'ip' => $IP, 'userConsentedForSelectAllClients' => true, 'partnerId' => $partnerId, 'partnerPassword' => $partnerPassword, ); /* Creation des options de contexte */ $options3 = array( 'http' => array( 'method' => 'POST', 'header' => "Content-Type: application/json", 'ignore_errors' => false, 'timeout' => 10, 'content' => json_encode($data3), ), ); /* Creation du contexte HTTP */ $context3 = stream_context_create($options3); /* Execution de la requete */ file_get_contents($insertcandidate, false, $context3); /* Check insertclientinfo response */ function get_http_response_code($insertcandidate) { $headers = get_headers($insertcandidate); return substr($headers[0], 9, 3); } $get_http_response_code = get_http_response_code($insertcandidate); if ( $get_http_response_code == 200 ) { header(sprintf("Location: %s", $addmailing)); exit(); }else{ header(sprintf("Location: %s", $errormailing)); exit(); } } } ?>