# La route https://ws.chanel.com/mailsend Concernant cette route, j'ai essayé de mettre un dump ("essayer d'affichier un message") sur le code de la route "**/mailsend**" sur le serveur de l'UAT, dans la fonction **mail_post**. ```php // www/controllers/mailsend.php //... public function mail_post(){ die("CE CI EST UN MESSAGE DE TEST SUR LE MAILSEND"); // le dump $this->load->config("email_validation"); // to get no reply address $this->load->config("mailsend"); $this->load->library('form_validation'); //... } ``` et quand on visite la route https://uat-ws.chanel.com/mailsend, on ne voir pas le message "**CE CI EST UN MESSAGE DE TEST SUR LE MAILSEND**". Par contre si fait le même dump sur la route https://uat-ws.chanel.com/subscribe/submit ```php // www/controllers/subscribe.php //... function submit_post() { die("CE CI EST UN MESSAGE DE TEST SUR LE SUBSCRIBE"); // le dump // Authorization //$this->_check_authorization('subscribe_submit'); // Get & check parameters //... } ``` on voir bien notre dump sur le serveur de l'UAT. J'ai aussi changé la réponse XML de l'erreur on modifiant la méthode **response_error** dans la classe **REST_Controller** que les deux route subscribe et mailsend utilisent pour retourner une erreur. J'ai changé dans le code ci-dessous, le nompe de la balise xml **code** en **codee** ```php // www/vendor/chanel/common_libs/libraries/REST_Controller.php /** * Send a response error * @param $url * @param $data * @return void */ public function response_error($http_code, $code_erreur, $description = '', $invalid_param = null) { $this->_format_xml_basenode = "failed"; $this->_format_xml_itemname = "param"; $headline['platform'] = APPLICATION; $headline['service'] = $this->uri->uri_string(); $headline['codee'] = $code_erreur; //le changement if ($description != '') { $headline['description'] = $description; } if ((is_array($invalid_param)) && (!empty($invalid_param))) { $headline['validation'] = $invalid_param ; } add_log('error', $code_erreur, $headline, $http_code); $this->response($headline, $http_code); } ``` et quant on teste sur l'UAT les deux routes: - https://uat-ws.chanel.com/mailsend ```xml <failed> <platform>backend</platform> <service>mailsend</service> <code>WRONG_PARAMETERS</code> <description>Validation error WS</description> </failed> ``` - https://uat-ws.chanel.com/subscribe/submit ```xml <failed> <platform>backend</platform> <service>subscribe/submit</service> <codee>WRONG_PARAMETERS</codee> <validation> <param> <name>locale</name> <value/> <message>MISSING PARAMETER LOCALE</message> </param> </validation> </failed> ``` Et comme on voit sur les deux réponse, nous avons bien la balise **codee** qui a apparu que sur la route **/subscribe/submit** Pour conclure, la route **/mailsend** n'est pas géré côté PHP au contraire la route **/subscribe/submit**, et Mouhssine (l'ex dev) m'a confirmé qu'on support côté php que la **newsletter** (**/subscribe/submit**) que pour la chine