{"id":48710,"date":"2021-09-29T12:45:18","date_gmt":"2021-09-29T10:45:18","guid":{"rendered":"https:\/\/kinsta.com\/?p=4181"},"modified":"2023-10-11T15:43:14","modified_gmt":"2023-10-11T14:43:14","slug":"api-http-wordpress","status":"publish","type":"post","link":"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/","title":{"rendered":"Utiliser l&rsquo;API HTTP de WordPress"},"content":{"rendered":"<p><a href=\"https:\/\/codex.wordpress.org\/HTTP_API\">L&rsquo;API HTTP<\/a> de WordPress se compose d&rsquo;un tas de fonctions qui vous aideront \u00e0 faire des appels HTTP beaucoup plus facilement. Plus besoin de bidouiller avec file_get_contents ou cURL, juste une seule interface unifi\u00e9e. C&rsquo;est g\u00e9nial pour interagir avec les API tierces, en particulier les REST API comme Twitter, Facebook, MailChimp et d&rsquo;autres.<\/p>\n<ul>\n<li><a href=\"#basics-of-http\">Les bases du HTTP<\/a><\/li>\n<li><a href=\"#restful-apis\">\u00c0 propos des API <\/a>Restful<\/li>\n<li><a href=\"#wordpress-http-api\">Utilisation de l&rsquo;API HTTP de WordPress<\/a><\/li>\n<\/ul>\n<h2 id=\"basics-of-http\">Les bases du HTTP<\/h2>\n<p>Nous avons tous d\u00e9j\u00e0 vu HTTP en action. En fait, si c&rsquo;est votre toute premi\u00e8re visite sur le web et que c&rsquo;est la premi\u00e8re chose que vous lisez, vous avez d\u00e9j\u00e0 vu HTTP faire sa magie. HTTP est un protocole r\u00e9seau utilis\u00e9 pour livrer tous les fichiers et toutes les donn\u00e9es (ressources) sur Internet.<\/p>\n<p>Il y a essentiellement deux parties \u00e0 l&rsquo;\u00e9quation : la <strong>requ\u00eate HTTP<\/strong> et la <strong>r\u00e9ponse HTTP<\/strong>, ou transaction. La requ\u00eate et la r\u00e9ponse ont une structure tr\u00e8s similaire, elles comportent toutes deux quatre parties :<\/p>\n<ul>\n<li>Une ligne initiale<\/li>\n<li>Z\u00e9ro ligne d&rsquo;en-t\u00eate ou plus<\/li>\n<li>Une ligne vide<\/li>\n<li>Un contenu de corps facultatif<\/li>\n<\/ul>\n<h3>La ligne initiale<\/h3>\n<p>Les requ\u00eates utilisent la ligne initiale pour envoyer trois informations : le nom de la m\u00e9thode, le chemin et la version HTTP. Par exemple, en consultant la page principale du blog Kinsta, vous verrez ceci dans la ligne initiale de la requ\u00eate.<\/p>\n<pre><code class=\"language-bash\">GET \/blog\/ HTTP\/1.1<\/code><\/pre>\n<p>Les r\u00e9ponses fournissent \u00e9galement trois \u00e9l\u00e9ments d&rsquo;information, bien qu&rsquo;ils soient quelque peu diff\u00e9rents : La version HTTP, le code de r\u00e9ponse et une description de la r\u00e9ponse. Lorsque vous fa\u00eetes une requ\u00eate au blog principal de Kinsta, celui-ci envoie une r\u00e9ponse HTTP avec la ligne initiale suivante :<\/p>\n<pre><code class=\"language-bash\">HTTP\/1.0 200 OK<\/code><\/pre>\n<h3>Les en-t\u00eates<\/h3>\n<p>Les en-t\u00eates contiennent divers \u00e9l\u00e9ments d&rsquo;information sur la requ\u00eate ou la r\u00e9ponse. HTTP 1.1 d\u00e9finit 46 types d&rsquo;en-t\u00eates mais un seul est obligatoire (uniquement pour les requ\u00eates), l&rsquo;en-t\u00eate \u00ab Host \u00bb. Regardez la capture d&rsquo;\u00e9cran de mes outils de d\u00e9veloppement Chrome qui montre certains des en-t\u00eates envoy\u00e9s avec une requ\u00eate au blog principal de Kinsta :<\/p>\n<p><a href=\"https:\/\/kinsta.com\/wp-content\/uploads\/2015\/07\/Screen-Shot-2015-07-22-at-13.48.11.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full \" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2015\/07\/Screen-Shot-2015-07-22-at-13.48.11.png\" alt=\"HTTP request headers sent\" width=\"572\" height=\"167\"><\/a><\/p>\n<h3>Corps<\/h3>\n<p>Le corps contient g\u00e9n\u00e9ralement des donn\u00e9es sur la ressource demand\u00e9e. Si vous envoyez une requ\u00eate GET au blog principal de Kinsta, vous devriez recevoir le HTML n\u00e9cessaire pour rendre la page (la ressource) dans le contenu du corps.<\/p>\n<h3>Plus d&rsquo;informations<\/h3>\n<p>C&rsquo;est tout ce que vous avez besoin de savoir pour l&rsquo;instant sur HTTP. Nous nous concentrerons principalement sur le nom de la m\u00e9thode (GET,POST,etc), les en-t\u00eates et le corps. Si vous voulez en savoir plus, je vous recommande <a href=\"http:\/\/www.jmarshall.com\/easy\/http\/\" target=\"_blank\" rel=\"noopener noreferrer\">l&rsquo;explication de HTTP par James Marshall<\/a>, c&rsquo;est une introduction tr\u00e8s bien \u00e9crite pour vos besoins en HTTP.<\/p>\n<h2 id=\"restful-apis\">\u00c0 propos des API Restful<\/h2>\n<p>Les API Restful, ou la m\u00e9thodologie REST, ont pour but de fournir un moyen simple et standard d&rsquo;interagir avec une application (vous pouvez en savoir plus sur les <a href=\"https:\/\/kinsta.com\/fr\/blog\/api-rest-wordpress\/\" target=\"_blank\" rel=\"noopener noreferrer\">bases de l&rsquo;API REST de WordPress<\/a>). Elle est souvent utilis\u00e9e en conjonction avec HTTP pour cr\u00e9er un syst\u00e8me d&rsquo;interactions tr\u00e8s compr\u00e9hensible. Elle est bas\u00e9e sur les <strong>chemins<\/strong> et les <strong>verbes HTTP<\/strong>.<\/p>\n<p>Les verbes HTTP sont les m\u00eames que les noms de m\u00e9thodes que nous avons vus pr\u00e9c\u00e9demment, les plus courants sont : GET, POST, PUT, DELETE. Je pense que PUT est le seul verbe ambigu ici, consid\u00e9rez-le comme une commande de mise \u00e0 jour. En utilisant ces verbes avec des chemins, nous pouvons construire un syst\u00e8me significatif :<\/p>\n<p><code>GET \/post\/1\/<\/code> serait utilis\u00e9 pour r\u00e9cup\u00e9rer l&rsquo;article avec l&rsquo;ID de 1. <code>DELETE \/post\/1\/<\/code> serait utilis\u00e9 pour supprimer le m\u00eame article. Nous pourrions \u00e9galement utiliser <code>PUT \/post\/1\/<\/code> pour le mettre \u00e0 jour, en fournissant des informations pertinentes dans le corps de la requ\u00eates et les en-t\u00eates.<\/p>\n<p>Je suis s\u00fbr que vous pouvez voir que juste en ajoutant une version HTTP \u00e0 nos codes ci-dessus, nous avons en fait la ligne initiale d&rsquo;une transaction HTTP, ce qui n&rsquo;est qu&rsquo;une des raisons pour lesquelles ce syst\u00e8me est si puissant.<\/p>\n<h2 id=\"wordpress-http-api\">Utiliser l&rsquo;API HTTP de WordPress<\/h2>\n<p>Arm\u00e9s de toutes ces connaissances, nous pouvons facilement comprendre comment fonctionne l&rsquo;API HTTP de WordPress. Les quatre m\u00e9thodes utilis\u00e9es pour faire des requ\u00eates et intercepter les r\u00e9ponses sont les suivantes :<\/p>\n<ul>\n<li><code>wp_remote_get()<\/code><\/li>\n<li><code>wp_remote_post()<\/code><\/li>\n<li><code>wp_remote_head()<\/code><\/li>\n<li><code>wp_remote_request()<\/code><\/li>\n<\/ul>\n<p>Les deux premi\u00e8res fonctions sont auto-explicatives, elles utilisent respectivement les m\u00e9thodes GET et POST dans la requ\u00eate. La troisi\u00e8me fonction utilise la m\u00e9thode HEAD, dont nous n&rsquo;avons pas encore parl\u00e9. Cette m\u00e9thode est utilis\u00e9e pour r\u00e9cup\u00e9rer uniquement les en-t\u00eates d&rsquo;une r\u00e9ponse. Cela peut permettre d&rsquo;\u00e9conomiser <strong>beaucoup<\/strong> de ressources si nous avons juste besoin de quelques m\u00e9tadonn\u00e9es sur une ressource. La derni\u00e8re fonction est une fonction g\u00e9n\u00e9rique, vous pouvez sp\u00e9cifier la m\u00e9thode que vous souhaitez utiliser dans les param\u00e8tres de la fonction.<\/p>\n<p>Il existe cinq fonctions suppl\u00e9mentaires que nous pouvons utiliser pour r\u00e9cup\u00e9rer des parties sp\u00e9cifiques de la r\u00e9ponse. Ce sont essentiellement des raccourcis pour naviguer dans la masse de donn\u00e9es que nous recevons :<\/p>\n<ul>\n<li><code>wp_remote_retrieve_body()<\/code><\/li>\n<li><code>wp_remote_retrieve_header()<\/code><\/li>\n<li><code>wp_remote_retrieve_headers()<\/code><\/li>\n<li><code>wp_remote_retrieve_response_code()<\/code><\/li>\n<li><code>wp_remote_retrieve_response_message()<\/code><\/li>\n<\/ul>\n<h3>Notre premi\u00e8re requ\u00eate HTTP<\/h3>\n<p>Faisons un test rapide en r\u00e9cup\u00e9rant les informations d&rsquo;en-t\u00eate du blog Kinsta. Vous pouvez faire cela n&rsquo;importe o\u00f9 dans une extension ou un th\u00e8me, mais vous devez \u00e9videmment vous trouver dans un environnement de test pour vous assurer que vous n&rsquo;envoyez pas de texte ind\u00e9sirable sur un site en production.<\/p>\n<pre><code class=\"language-php\">$response = wp_remote_head( 'https:\/\/kinsta.com\/blog\/' );\nvar_dump( $response )<\/code><\/pre>\n<p>Comme vous pouvez le voir dans la r\u00e9ponse que nous obtenons ci-dessous, la section body est vide (puisque nous utilisons la m\u00e9thode HEAD) et tous les en-t\u00eates sont affich\u00e9s. Pour r\u00e9cup\u00e9rer uniquement les en-t\u00eates sans tous les autres membres du tableau, nous pouvons utiliser la fonction <code>wp_remote_retrieve_headers()<\/code>.<\/p>\n<pre><code class=\"language-php\">array (size=5)\n  'headers' =&gt; \n    array (size=13)\n      'server' =&gt; string 'nginx' (length=5)\n      'date' =&gt; string 'Wed, 22 Jul 2015 14:22:07 GMT' (length=29)\n      'content-type' =&gt; string 'text\/html; charset=UTF-8' (length=24)\n      'connection' =&gt; string 'close' (length=5)\n      'vary' =&gt; string 'Accept-Encoding' (length=15)\n      'x-pingback' =&gt; string 'https:\/\/kinsta.com\/xmlrpc.php' (length=29)\n      'x-powered-by' =&gt; string 'HHVM\/3.8.0' (length=10)\n      'link' =&gt; string '; rel=\"https:\/\/github.com\/WP-API\/WP-API\"' (length=68)\n      'x-frame-options' =&gt; string 'DENY' (length=4)\n      'x-content-type-options' =&gt; string 'nosniff' (length=7)\n      'strict-transport-security' =&gt; string 'max-age=31536000' (length=16)\n      'x-kinsta-cache' =&gt; string 'HIT' (length=3)\n      'content-encoding' =&gt; string 'gzip' (length=4)\n  'body' =&gt; string '' (length=0)\n  'response' =&gt; \n    array (size=2)\n      'code' =&gt; int 200\n      'message' =&gt; string 'OK' (length=2)\n  'cookies' =&gt; \n    array (size=0)\n      empty\n  'filename' =&gt; null<\/code><\/pre>\n<h3>Comprendre les API<\/h3>\n<p><a href=\"https:\/\/kinsta.com\/wp-content\/uploads\/2015\/07\/twitter-wordpress-api.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full \" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2015\/07\/twitter-wordpress-api.png\" alt=\"twitter wordpress api\" width=\"800\" height=\"185\"><\/a> Le plus gros obstacle que je vois pour les d\u00e9veloppeurs est la quantit\u00e9 de nouvelles choses qu&rsquo;ils doivent mettre en place pour qu&rsquo;un appel d&rsquo;API fonctionne. Vous devez conna\u00eetre HTTP, comment faire des requ\u00eates et aussi comment vous authentifier correctement, sans cela, chaque appel \u00e9chouera. Regardons un exemple \u00e0 travers l&rsquo;API de Twitter puisqu&rsquo;ils ont une excellente documentation.<\/p>\n<p>Nous allons examiner <a href=\"https:\/\/dev.twitter.com\/oauth\/application-only\">l&rsquo;authentification uniquement par application<\/a> (qui est un flux plus facile), je vais suivre les m\u00eames \u00e9tapes que celles propos\u00e9es par Twitter. Avant de commencer, assurez-vous de <a href=\"https:\/\/apps.twitter.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">cr\u00e9er une application Twitter<\/a>.<\/p>\n<p>Vous devriez pouvoir ajouter le code ci-dessous n&rsquo;importe o\u00f9 dans un th\u00e8me ou une extension mais, comme pr\u00e9c\u00e9demment, assurez-vous d&rsquo;utiliser un site de test !<\/p>\n<h4>\u00c9tape 1 : Encoder la cl\u00e9 et le secret du consommateur<\/h4>\n<p>Une fois que vous avez cr\u00e9\u00e9 une application, vous devriez avoir une cl\u00e9 et un secret du consommateur \u00e0 port\u00e9e de main. Pour faciliter les choses, cr\u00e9ons des constantes qui d\u00e9tiennent ces informations pour nous.<\/p>\n<pre><code class=\"language-php\">define( 'TWITTER_CONSUMER_KEY', '12disnir382jeqwdasd23wdasi' ) ;\ndefine( 'TWITTER_CONSUMER_SECRET', '23wdajskduhtrq2c32cuq9r8uhuf' )<\/code><\/pre>\n<p>Les trois \u00e9tapes de la cr\u00e9ation d&rsquo;une version cod\u00e9e de ces constantes sont pr\u00e9sent\u00e9es dans la documentation :<\/p>\n<ul>\n<li>Codage URL de la cl\u00e9 du consommateur et du secret du consommateur<\/li>\n<li>Concatenez-les avec deux points<\/li>\n<li>Encodez la cha\u00eene enti\u00e8re en Base64<\/li>\n<\/ul>\n<p>En PHP, ce sera assez facile \u00e0 faire, c&rsquo;est parti !<\/p>\n<pre><code class=\"language-php\">\n$key = urlencode( TWITTER_CONSUMER_KEY ) ;\n$secret = urlencode( TWITTER_CONSUMER_SECRET ) ;\n$concatenated = $key . ':' . $secret ;\n$encoded = base64_encode( $concatenated ) ;\n<\/code><\/pre>\n<h4>\u00c9tape 2 : Obtenir un jeton porteur (Bearer)<\/h4>\n<p>Au lieu d&rsquo;utiliser votre mot de passe r\u00e9el, vous envoyez \u00e0 Twitter votre cha\u00eene cod\u00e9e (qui utilise vos informations d&rsquo;identification API) et vous recevez un jeton temporaire qui est valable pendant une dur\u00e9e d\u00e9termin\u00e9e. Pour cela, nous allons faire une requ\u00eate HTTP, voici ce que Twitter a \u00e0 dire :<\/p>\n<ul>\n<li>La requ\u00eate doit \u00eatre une requ\u00eate HTTP POST.<\/li>\n<li>La requ\u00eate doit inclure un en-t\u00eate Authorization avec la valeur Basic .<\/li>\n<li>La requ\u00eate doit inclure un en-t\u00eate Content-Type avec la valeur de application\/x-www-form-urlencoded;charset=UTF-8.<\/li>\n<li>Le corps de la requ\u00eate doit \u00eatre grant_type=client_credentials.<\/li>\n<\/ul>\n<p>Commen\u00e7ons par les bases. Nous savons que nous avons besoin d&rsquo;une requ\u00eate POST et nous utiliserons donc <code>wp_remote_post()<\/code>. La fonction prend deux param\u00e8tres; le premier est l&rsquo;URL, le second contient des arguments facultatifs. L&rsquo;URL sera <code>https:\/\/api.twitter.com\/oauth2\/token<\/code>, nous utiliserons le deuxi\u00e8me param\u00e8tre pour g\u00e9rer tous les autres besoins.<\/p>\n<pre><code class=\"language-php\">$args = array(\n    'headers' =&gt; array(\n        'Authorization' =&gt; 'Basic ' . $encoded,\n        'Content-Type' =&gt; 'application\/x-www-form-urlencoded;charset=UTF-8'\n    ),\n    'body' =&gt; 'grant_type=client_credentials'\n);\n$response = wp_remote_post( 'https:\/\/api.twitter.com\/oauth2\/token', $args );\n<\/code><\/pre>\n<p>Les en-t\u00eates doivent \u00eatre ajout\u00e9s sous forme de tableau, le type d&rsquo;en-t\u00eate \u00e9tant la cl\u00e9, la valeur \u00e9tant la valeur du membre du tableau; Le corps doit \u00eatre une cha\u00eene. En cas de succ\u00e8s, vous devriez voir une r\u00e9ponse similaire \u00e0 celle ci-dessous.<\/p>\n<pre><code class=\"language-php\">array (size=5)\n  'headers' =&gt; \n    array (size=23)\n      'cache-control' =&gt; string 'no-cache, no-store, must-revalidate, pre-check=0, post-check=0' (length=62)\n      'content-disposition' =&gt; string 'attachment; filename=json.json' (length=30)\n      'content-encoding' =&gt; string 'deflate' (length=7)\n      'content-length' =&gt; string '142' (length=3)\n      'content-type' =&gt; string 'application\/json;charset=utf-8' (length=30)\n      'date' =&gt; string 'Wed, 22 Jul 2015 14:47:37 GMT' (length=29)\n      'expires' =&gt; string 'Tue, 31 Mar 1981 05:00:00 GMT' (length=29)\n      'last-modified' =&gt; string 'Wed, 22 Jul 2015 14:47:37 GMT' (length=29)\n      'ml' =&gt; string 'A' (length=1)\n      'pragma' =&gt; string 'no-cache' (length=8)\n      'server' =&gt; string 'tsa_b' (length=5)\n      'set-cookie' =&gt; string 'guest_id=v1%3A14375720938219946; Domain=.twitter.com; Path=\/; Expires=Fri, 21-Jul-2017 14:47:37 UTC' (length=100)\n      'status' =&gt; string '200 OK' (length=6)\n      'strict-transport-security' =&gt; string 'max-age=631138519' (length=17)\n      'x-connection-hash' =&gt; string 'd8b10926f99dwef93rd7edbe5a71a97a' (length=32)\n      'x-content-type-options' =&gt; string 'nosniff' (length=7)\n      'x-frame-options' =&gt; string 'SAMEORIGIN' (length=10)\n      'x-response-time' =&gt; string '34' (length=2)\n      'x-transaction' =&gt; string 'ef0ebwefweece62ef' (length=16)\n      'x-tsa-request-body-time' =&gt; string '0' (length=1)\n      'x-twitter-response-tags' =&gt; string 'BouncerCompliant' (length=16)\n      'x-ua-compatible' =&gt; string 'IE=edge,chrome=1' (length=16)\n      'x-xss-protection' =&gt; string '1; mode=block' (length=13)\n  'body' =&gt; string '{\"token_type\":\"bearer\",\"access_token\":\"AAAAAAAAAAAAAAAAAAAAAFoafQAAAAAAqg%2BxmuH83hjsod6crH5bKTUX9Arc%3D5dWpp0XCTDjyiXxMC7LDLg8JbzPdGlCsJi2R1qjY1FMksTAFyG\"}' (length=155)\n  'response' =&gt; \n    array (size=2)\n      'code' =&gt; int 200\n      'message' =&gt; string 'OK' (length=2)\n  'cookies' =&gt; \n    array (size=1)\n      0 =&gt; \n        object(WP_Http_Cookie)[303]\n          public 'name' =&gt; string 'guest_id' (length=8)\n          public 'value' =&gt; string 'v1:143757645770219946' (length=21)\n          public 'expires' =&gt; int 1500648457\n          public 'path' =&gt; string '\/' (length=1)\n          public 'domain' =&gt; string '.twitter.com' (length=12)\n  'filename' =&gt; null<\/code><\/pre>\n<p>Le point fort de tout cela est le jeton d&rsquo;acc\u00e8s qui se trouve dans le corps de la r\u00e9ponse. R\u00e9cup\u00e9rons-le maintenant \u00e0 l&rsquo;aide des fonctions pratiques de WordPress. En continuant avec notre exemple pr\u00e9c\u00e9dent, nous pourrions r\u00e9cup\u00e9rer le jeton d&rsquo;acc\u00e8s en utilisant le code suivant:<\/p>\n<pre><code class=\"language-php\">$body = wp_remote_retrieve_body( $response );\n$body = json_decode( $body, true );\n$access_token = $body['access_token'];<\/code><\/pre>\n<h4>\u00c9tape 3 : Utiliser le jeton porteur (bearer)<\/h4>\n<p>La derni\u00e8re \u00e9tape consiste simplement \u00e0 utiliser ce jeton porteur dans tous les autres appels d&rsquo;API. Nous devons l&rsquo;ajouter en tant qu&rsquo;en-t\u00eate \u00ab Authorization \u00bb avec la valeur : <code>Bearer [bearer_token]<\/code>. Faisons un appel d&rsquo;API simple qui r\u00e9cup\u00e9rera les derniers tweets d&rsquo;un utilisateur en utilisant le chemin <a href=\"https:\/\/dev.twitter.com\/rest\/reference\/get\/statuses\/user_timeline\" target=\"_blank\" rel=\"noopener noreferrer\">user_timeline.<\/a><\/p>\n<pre><code class=\"language-php\">$url = 'https:\/\/api.twitter.com\/1.1\/statuses\/user_timeline.json?screen_name=danielpataki&count=3';\n$args = array(\n    'headers' =&gt; array(\n        'Authorization' =&gt; 'Bearer ' . $access_token,\n    ),\n);\n\n$response = wp_remote_get( $url, $args );\n$tweets = json_decode( wp_remote_retrieve_body($response), true )\n<\/code><\/pre>\n<p>\u00c0 la fin de tout cela, la variable <code>$tweets<\/code> contiendra un tableau de tweets. Vous pouvez utiliser diverses propri\u00e9t\u00e9s de ce tableau pour afficher le tweet ou manipuler les donn\u00e9es.<\/p>\n<h2>Conclusion<\/h2>\n<p>Comme vous pouvez le voir, utiliser l&rsquo;API HTTP de WordPress pour se connecter \u00e0 des services externes n&rsquo;est pas si difficile. De nombreuses API modernes sont construites autour des m\u00eames principes REST &#8211; une fois que tu en avez appris une, vous vous familiariserez tr\u00e8s vite avec les autres.<\/p>\n<p>Gardez \u00e0 l&rsquo;esprit que chaque fois que la documentation vous demande d&rsquo;utiliser le corps, utilisez le corps et lorsqu&rsquo;elle demande des en-t\u00eates, ajoutez-en autant que n\u00e9cessaire. Ensuite, regardez la r\u00e9ponse, convertissez-la en tableau, r\u00e9cup\u00e8rez les donn\u00e9es dont vous avez besoin et utilisez-les, c&rsquo;est aussi simple que cela.<\/p>\n<p>Si quelqu&rsquo;un a d\u00e9j\u00e0 travaill\u00e9 avec une API particuli\u00e8rement bonne ou mauvaise, ou si vous avez des trucs et astuces pour utiliser l&rsquo;API HTTP de WordPress, fa\u00eetes-le nous savoir dans les commentaires !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&rsquo;une des choses que j&rsquo;aime dans WordPress, ce sont tous les outils qu&rsquo;il te donne. Certains d&rsquo;entre eux sont bien connus et tr\u00e8s utilis\u00e9s, comme les options et les API de m\u00e9ta. D&rsquo;autres sont sous-utilis\u00e9s, alors qu&rsquo;ils offrent d&rsquo;excellentes fonctionnalit\u00e9s qui pourraient nous faciliter la vie. Aujourd&rsquo;hui, je vais me pencher sur l&rsquo;une d&rsquo;entre elles, l&rsquo;API HTTP.<\/p>\n","protected":false},"author":18,"featured_media":48714,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[405,33],"topic":[953,1039],"class_list":["post-48710","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-api","tag-wordpress","topic-api","topic-conseils-wordpress"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Utiliser l&#039;API HTTP de WordPress<\/title>\n<meta name=\"description\" content=\"L&#039;API HTTP de WordPress vous aidera \u00e0 faire des appels HTTP beaucoup plus facilement. Voici un tutoriel complet sur la fa\u00e7on de l&#039;utiliser dans WordPress.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Utiliser l&#039;API HTTP de WordPress\" \/>\n<meta property=\"og:description\" content=\"L&#039;API HTTP de WordPress vous aidera \u00e0 faire des appels HTTP beaucoup plus facilement. Voici un tutoriel complet sur la fa\u00e7on de l&#039;utiliser dans WordPress.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstafrance\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-29T10:45:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-11T14:43:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2021\/09\/wordpress-http-api.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Daniel Pataki\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"L&#039;API HTTP de WordPress vous aidera \u00e0 faire des appels HTTP beaucoup plus facilement. Voici un tutoriel complet sur la fa\u00e7on de l&#039;utiliser dans WordPress.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2021\/09\/wordpress-http-api.png\" \/>\n<meta name=\"twitter:creator\" content=\"@danielpataki\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_fr\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Pataki\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/\"},\"author\":{\"name\":\"Daniel Pataki\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/b162216499225e1a4cdd35518f8ef0ff\"},\"headline\":\"Utiliser l&rsquo;API HTTP de WordPress\",\"datePublished\":\"2021-09-29T10:45:18+00:00\",\"dateModified\":\"2023-10-11T14:43:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/\"},\"wordCount\":1755,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2021\/09\/wordpress-http-api.png\",\"keywords\":[\"API\",\"WordPress\"],\"articleSection\":[\"D\u00e9veloppement WordPress\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/\",\"url\":\"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/\",\"name\":\"Utiliser l'API HTTP de WordPress\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2021\/09\/wordpress-http-api.png\",\"datePublished\":\"2021-09-29T10:45:18+00:00\",\"dateModified\":\"2023-10-11T14:43:14+00:00\",\"description\":\"L'API HTTP de WordPress vous aidera \u00e0 faire des appels HTTP beaucoup plus facilement. Voici un tutoriel complet sur la fa\u00e7on de l'utiliser dans WordPress.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2021\/09\/wordpress-http-api.png\",\"contentUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2021\/09\/wordpress-http-api.png\",\"width\":800,\"height\":500,\"caption\":\"Utiliser l'API HTTP de WordPress\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Conseils WordPress\",\"item\":\"https:\/\/kinsta.com\/fr\/sujets\/conseils-wordpress\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Utiliser l&rsquo;API HTTP de WordPress\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/fr\/#website\",\"url\":\"https:\/\/kinsta.com\/fr\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstafrance\/\",\"https:\/\/x.com\/kinsta_fr\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/b162216499225e1a4cdd35518f8ef0ff\",\"name\":\"Daniel Pataki\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2a44c1ab807766aeaa5c8d76d4c5ea66?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2a44c1ab807766aeaa5c8d76d4c5ea66?s=96&d=mm&r=g\",\"caption\":\"Daniel Pataki\"},\"description\":\"Hi, my name is Daniel, I'm the CTO here at Kinsta. You may know me from Smashing Magazine, WPMU Dev, Tuts+ and other WordPress\/Development magazines. Aside from WordPress and PHP I spend most of my time around Node, React, GraphQL and other technologies in the Javascript space. When not working on making the best hosting solution in the Universe I collect board games, play table football in the office, travel or play guitar and sing in a pretty bad band.\",\"sameAs\":[\"http:\/\/danielpataki.com\",\"https:\/\/x.com\/danielpataki\"],\"url\":\"https:\/\/kinsta.com\/fr\/blog\/author\/danielpataki\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Utiliser l'API HTTP de WordPress","description":"L'API HTTP de WordPress vous aidera \u00e0 faire des appels HTTP beaucoup plus facilement. Voici un tutoriel complet sur la fa\u00e7on de l'utiliser dans WordPress.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/","og_locale":"fr_FR","og_type":"article","og_title":"Utiliser l'API HTTP de WordPress","og_description":"L'API HTTP de WordPress vous aidera \u00e0 faire des appels HTTP beaucoup plus facilement. Voici un tutoriel complet sur la fa\u00e7on de l'utiliser dans WordPress.","og_url":"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstafrance\/","article_published_time":"2021-09-29T10:45:18+00:00","article_modified_time":"2023-10-11T14:43:14+00:00","og_image":[{"width":800,"height":500,"url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2021\/09\/wordpress-http-api.png","type":"image\/png"}],"author":"Daniel Pataki","twitter_card":"summary_large_image","twitter_description":"L'API HTTP de WordPress vous aidera \u00e0 faire des appels HTTP beaucoup plus facilement. Voici un tutoriel complet sur la fa\u00e7on de l'utiliser dans WordPress.","twitter_image":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2021\/09\/wordpress-http-api.png","twitter_creator":"@danielpataki","twitter_site":"@kinsta_fr","twitter_misc":{"\u00c9crit par":"Daniel Pataki","Dur\u00e9e de lecture estim\u00e9e":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/"},"author":{"name":"Daniel Pataki","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/b162216499225e1a4cdd35518f8ef0ff"},"headline":"Utiliser l&rsquo;API HTTP de WordPress","datePublished":"2021-09-29T10:45:18+00:00","dateModified":"2023-10-11T14:43:14+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/"},"wordCount":1755,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/fr\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2021\/09\/wordpress-http-api.png","keywords":["API","WordPress"],"articleSection":["D\u00e9veloppement WordPress"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/","url":"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/","name":"Utiliser l'API HTTP de WordPress","isPartOf":{"@id":"https:\/\/kinsta.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2021\/09\/wordpress-http-api.png","datePublished":"2021-09-29T10:45:18+00:00","dateModified":"2023-10-11T14:43:14+00:00","description":"L'API HTTP de WordPress vous aidera \u00e0 faire des appels HTTP beaucoup plus facilement. Voici un tutoriel complet sur la fa\u00e7on de l'utiliser dans WordPress.","breadcrumb":{"@id":"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/#primaryimage","url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2021\/09\/wordpress-http-api.png","contentUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2021\/09\/wordpress-http-api.png","width":800,"height":500,"caption":"Utiliser l'API HTTP de WordPress"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/fr\/blog\/api-http-wordpress\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Conseils WordPress","item":"https:\/\/kinsta.com\/fr\/sujets\/conseils-wordpress\/"},{"@type":"ListItem","position":3,"name":"Utiliser l&rsquo;API HTTP de WordPress"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/fr\/#website","url":"https:\/\/kinsta.com\/fr\/","name":"Kinsta\u00ae","description":"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es","publisher":{"@id":"https:\/\/kinsta.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/fr\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstafrance\/","https:\/\/x.com\/kinsta_fr","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/b162216499225e1a4cdd35518f8ef0ff","name":"Daniel Pataki","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2a44c1ab807766aeaa5c8d76d4c5ea66?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2a44c1ab807766aeaa5c8d76d4c5ea66?s=96&d=mm&r=g","caption":"Daniel Pataki"},"description":"Hi, my name is Daniel, I'm the CTO here at Kinsta. You may know me from Smashing Magazine, WPMU Dev, Tuts+ and other WordPress\/Development magazines. Aside from WordPress and PHP I spend most of my time around Node, React, GraphQL and other technologies in the Javascript space. When not working on making the best hosting solution in the Universe I collect board games, play table football in the office, travel or play guitar and sing in a pretty bad band.","sameAs":["http:\/\/danielpataki.com","https:\/\/x.com\/danielpataki"],"url":"https:\/\/kinsta.com\/fr\/blog\/author\/danielpataki\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/48710","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/comments?post=48710"}],"version-history":[{"count":8,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/48710\/revisions"}],"predecessor-version":[{"id":48749,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/48710\/revisions\/48749"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/48710\/translations\/en"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/48710\/translations\/de"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/48710\/translations\/it"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/48710\/translations\/es"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/48710\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/48710\/translations\/fr"},{"href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/48710\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/media\/48714"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/media?parent=48710"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/tags?post=48710"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/topic?post=48710"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}