Je souhaite utiliser ce service OnWebChange pour surveiller le moment où un site Web change et modifier le mien en conséquence. Il me notifierait via un rappel d'URL à l'URL de mon site Web avec une méthode HTTP POST. Quels outils/API/plugins est-ce que j'utilise pour "attraper" ces POST? J'ai beaucoup cherché et trouvé seulement comment faire un POST, mais pas les "attraper" quand POST provient d'un autre site web. Si j'avais accès à Apache, je pourrais installer un module pour vider POST, mais j'utilise Wordpress sans accès.
C'est assez simple, utilisez simplement l'URL de votre site web :)
Après cela, déclenchez simplement une action lorsque la page est chargée via la méthode HTTP POST
et raccrochez avec un rappel.
add_action( 'wp_loaded', function() {
if ( $_SERVER['REQUEST_METHOD'] === 'POST' ) {
// fire the custom action
do_action('onchangeapi', new PostListener($_POST));
}
} );
Et maintenant la classe d'auditeur
class PostListener {
private $valid = false;
/**
* @param array $postdata $_POST array
*/
public function __construct(array $postdata) {
$this->valid = $this->validatePostData($postdata);
}
/**
* Runs on 'onchangeapi' action
*/
public function __invoke() {
if ($this->valid) {
// do whatever you need to do
exit();
}
}
/**
* @param array $postdata $_POST array
* @return bool
*/
private function validatePostData(array $postdata) {
// check here the $_POST data, e.g. if the post data actually comes
// from the api, autentication and so on
}
}