HTTP Client
Connectez-vous à des services externes et interagissez avec eux via leurs API.

Click to watch tutorial video - 03:08
Le schéma GraphQL intègre des champs globaux pour exécuter des requêtes HTTP vers un serveur web et récupérer leur réponse.
Il permet de se connecter à des API REST, des API GraphQL et des API génériques, et de récupérer et décoder tout type de données (y compris HTML, XML et CSV).
API REST : cette requête se connecte à la WP REST API d'un site externe, pour récupérer ses articles :
query {
postData: _sendJSONObjectItemHTTPRequest(input: {
url: "https://some-wp-rest-api.com/wp-json/wp/v2/posts/1/"
})
}...produisant cette réponse :
{
"data": {
"postData": {
"id": 1,
"date": "2019-08-02T07:53:57",
"date_gmt": "2019-08-02T07:53:57",
"guid": {
"rendered": "https:\/\/newapi.getpop.org\/?p=1"
},
"modified": "2021-01-14T13:18:39",
"modified_gmt": "2021-01-14T13:18:39",
"slug": "hello-world",
"status": "publish",
"type": "post",
"link": "https:\/\/newapi.getpop.org\/uncategorized\/hello-world\/",
"title": {
"rendered": "Hello world!"
},
"content": {
"rendered": "\n<p>Welcome to WordPress. This is your first post. Edit or delete it, then start writing!<\/p>\n\n\n\n<p>I’m demonstrating a Youtube video:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Introduction to the Component-based API by Leonardo Losoviz | JSConf.Asia 2019\" width=\"750\" height=\"422\" src=\"https:\/\/www.youtube.com\/embed\/9pT-q0SSYow?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/div><figcaption>This is my presentation in JSConf Asia 2019<\/figcaption><\/figure>\n",
"protected": false
},
"excerpt": {
"rendered": "<p>Welcome to WordPress. This is your first post. Edit or delete it, then start writing! I’m demonstrating a Youtube video:<\/p>\n",
"protected": false
},
"author": 1,
"featured_media": 0,
"comment_status": "closed",
"ping_status": "open",
"sticky": false,
"template": "",
"format": "standard",
"meta": [],
"categories": [
1
],
"tags": [
193,
173
]
}
}
}API GraphQL : cette requête se connecte à l'API GraphQL de GitHub pour récupérer une liste de dépôts :
query FetchGitHubRepositories(
$login: String!
$githubAccessToken: String!
) {
_sendGraphQLHTTPRequest(input:{
endpoint: "https://api.github.com/graphql",
query: """
query GetRepositoriesByOwner($login: String!) {
repositoryOwner(login: $login) {
repositories(first: 100) {
nodes {
id
name
description
}
}
}
}
""",
variables: [
{
name: "login",
value: $login
}
],
options: {
auth: {
password: $githubAccessToken
}
}
})
}API générique : cette requête se connecte à un flux RSS WordPress et décode le XML en objet JSON :
query {
_sendHTTPRequest(input: {
url: "https://wordpress.com/blog/2024/07/16/wordpress-6-6/feed/rss/?withoutcomments=1"
}) {
body
rssJSON: _strDecodeXMLAsJSON(
xml: $__body
)
}
}