{"id":83391,"date":"2026-05-26T09:47:41","date_gmt":"2026-05-26T08:47:41","guid":{"rendered":"https:\/\/kinsta.com\/fr\/?p=83391&#038;preview=true&#038;preview_id=83391"},"modified":"2026-05-29T13:29:56","modified_gmt":"2026-05-29T12:29:56","slug":"automatiser-wordpress-salesforce-api-kinsta","status":"publish","type":"post","link":"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/","title":{"rendered":"Comment automatiser la mise en production de WordPress depuis Salesforce en utilisant l&rsquo;API Kinsta ?"},"content":{"rendered":"<p>Lorsqu&rsquo;une transaction est conclue dans Salesforce, le site qu&rsquo;elle repr\u00e9sente d\u00e9pend encore d&rsquo;un ensemble distinct d&rsquo;\u00e9tapes manuelles pour \u00eatre mis en ligne. Un <a href=\"https:\/\/kinsta.com\/fr\/blog\/types-de-developpeurs\/\">d\u00e9veloppeur<\/a> doit trouver le bon site client dans <a href=\"https:\/\/kinsta.com\/fr\/mykinsta\/\">MyKinsta<\/a>, cr\u00e9er une sauvegarde et <a href=\"https:\/\/kinsta.com\/fr\/docs\/hebergement-wordpress\/environnement-staging\/\">pousser le staging en production<\/a>, le tout au bon moment.<\/p>\n<p>Gr\u00e2ce \u00e0 l&rsquo;<a href=\"https:\/\/kinsta.com\/fr\/docs\/api-kinsta\/\">API Kinsta<\/a>, vous pouvez connecter ces deux parties du flux de travail afin que l&rsquo;approbation de l&rsquo;accord d\u00e9clenche automatiquement le lancement. Au lieu de d\u00e9pendre d&rsquo;une personne pour effectuer chaque \u00e9tape, le processus s&rsquo;ex\u00e9cute d\u00e8s que l&rsquo;opportunit\u00e9 atteint l&rsquo;\u00e9tape cible.<\/p>\n<p>La configuration est simple : lancez un lot de t\u00e2ches MyKinsta lorsqu&rsquo;une <a href=\"https:\/\/developer.salesforce.com\/docs\/atlas.en-us.object_reference.meta\/object_reference\/sforce_api_objects_opportunity.htm\" target=\"_blank\" rel=\"noopener noreferrer\">opportunit\u00e9 Salesforce<\/a> est mise \u00e0 jour, et supprimez le besoin d&rsquo;intervention manuelle apr\u00e8s le d\u00e9ploiement. Pendant ce temps, votre client b\u00e9n\u00e9ficie d&rsquo;un chemin plus rapide de l&rsquo;approbation \u00e0 un site en ligne, sans attendre les transferts entre les \u00e9quipes.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Ce dont vous avez besoin avant de commencer<\/h2>\n<p>Pour suivre ce tutoriel, vous avez besoin d&rsquo;un <a href=\"https:\/\/kinsta.com\/fr\/inscription\/\">compte Kinsta<\/a> avec un site WordPress qui poss\u00e8de \u00e0 la fois un <a href=\"https:\/\/kinsta.com\/fr\/docs\/hebergement-wordpress\/environnement-staging\/\">environnement de staging<\/a> et un environnement r\u00e9el, un compte Salesforce avec acc\u00e8s \u00e0 <a href=\"https:\/\/trailhead.salesforce.com\/content\/learn\/modules\/record-triggered-flows\/build-a-record-triggered-flow\" target=\"_blank\" rel=\"noopener noreferrer\">Flow Builder<\/a>, et <a href=\"https:\/\/kinsta.com\/knowledgebase\/what-is-node-js\/\">Node.js<\/a> install\u00e9 localement pour l&rsquo;intergiciel.<\/p>\n<p>Pour vous authentifier avec l&rsquo;API Kinsta, naviguez vers <strong>Votre nom<\/strong> &gt; <strong>R\u00e9glages de l&rsquo;entreprise<\/strong> &gt; <strong>Cl\u00e9s API<\/strong> dans <a href=\"https:\/\/my.kinsta.com\/?lang=fr\">MyKinsta<\/a> et cliquez sur <strong>Cr\u00e9er une cl\u00e9 API<\/strong>.<\/p>\n<figure id=\"attachment_209233\" aria-describedby=\"caption-attachment-209233\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-209233 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2026\/04\/api-keys-2.png\" alt=\"Le tableau de bord MyKinsta affiche l'\u00e9cran des cl\u00e9s API.\" width=\"1200\" height=\"419\"><figcaption id=\"caption-attachment-209233\" class=\"wp-caption-text\">Le tableau de bord MyKinsta affiche l&rsquo;\u00e9cran des cl\u00e9s API.<\/figcaption><\/figure>\n<p>Donnez un nom \u00e0 la cl\u00e9, d\u00e9finissez une date d&rsquo;expiration et cliquez sur <strong>G\u00e9n\u00e9rer<\/strong>. La cl\u00e9 ne s&rsquo;affiche qu&rsquo;une seule fois, alors copiez-la avant de fermer la fen\u00eatre modale. Stockez-la dans un fichier <code>.env<\/code> \u00e0 la racine du projet avec l&rsquo;ID<strong>\u00a0de votre<\/strong>\u00a0<strong>entreprise<\/strong>, que vous trouverez dans <strong>R\u00e9glages de l&rsquo;entreprise<\/strong> &gt; <strong>D\u00e9tails de facturation<\/strong>:<\/p>\n<pre><code class=\"language-bash\">KINSTA_API_KEY=your_api_key_here\nKINSTA_COMPANY_ID=your_company_id_here\n<\/code><\/pre>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Une cl\u00e9 API a le m\u00eame niveau d&rsquo;acc\u00e8s que le r\u00f4le qui l&rsquo;a g\u00e9n\u00e9r\u00e9e. Une cl\u00e9 de niveau d\u00e9veloppeur a des autorisations plus restreintes qu&rsquo;une cl\u00e9 g\u00e9n\u00e9r\u00e9e par un propri\u00e9taire ou un administrateur d&rsquo;entreprise. Si une requ\u00eate renvoie une erreur de permission, c&rsquo;est la premi\u00e8re chose \u00e0 v\u00e9rifier.<\/p>\n<\/aside>\n\n<p>Vous avez \u00e9galement besoin d&rsquo;un champ de texte personnalis\u00e9 sur l&rsquo;objet Salesforce Opportunity pour stocker l&rsquo;ID du site Kinsta pour chaque projet client. Allez dans <strong>Configuration<\/strong> &gt; <strong>Gestionnaire d&rsquo;objets<\/strong>, puis dans <strong>Opportunit\u00e9<\/strong> &gt; <strong>Champs et relations<\/strong>.<\/p>\n<figure id=\"attachment_209234\" aria-describedby=\"caption-attachment-209234\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-209234 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2026\/04\/new-fields-relationships.png\" alt=\"Les champs et les relations dans les pages d'options de configuration de Salesforce.\" width=\"1200\" height=\"294\"><figcaption id=\"caption-attachment-209234\" class=\"wp-caption-text\">Les champs et les relations dans les pages d&rsquo;options de configuration de Salesforce.<\/figcaption><\/figure>\n<p>Ici, ajoutez un <strong>libell\u00e9 de champ<\/strong> et Salesforce g\u00e9n\u00e8re un <strong>nom de champ<\/strong> que vous devez noter. D\u00e9finissez la <strong>longueur<\/strong> sur <strong>255<\/strong> et enregistrez vos modifications.<\/p>\n<p>L&rsquo;ID du site est un UUID que Kinsta attribue lors de la cr\u00e9ation. Il apparait dans l&rsquo;URL MyKinsta lorsque vous ouvrez un site, ou vous pouvez le r\u00e9cup\u00e9rer une fois en appelant <code>GET \/sites<\/code> avec votre cl\u00e9 API en place :<\/p>\n<pre><code class=\"language-bash\">https:\/\/my.kinsta.com\/sites\/details\/hyut4927-d324-4044-b794-67ap0rbf20bj\/\u2026\n<\/code><\/pre>\n<p>Vous utilisez l&rsquo;ID du site dans un champ personnalis\u00e9 sur chaque opportunit\u00e9 pour d\u00e9clencher l&rsquo;ensemble du flux de travail.<\/p>\n<h2>Comment automatiser la mise en production de WordPress \u00e0 partir de Salesforce en utilisant l&rsquo;API Kinsta<\/h2>\n<p>Du c\u00f4t\u00e9 de Salesforce, un <a href=\"https:\/\/admin.salesforce.com\/blog\/2023\/what-is-a-record-triggered-flow\" target=\"_blank\" rel=\"noopener noreferrer\">flux d\u00e9clench\u00e9 par enregistrement<\/a> surveille l&rsquo;\u00e9tape de l&rsquo;opportunit\u00e9 et d\u00e9clenche un appel HTTP au moment de la transition de l&rsquo;\u00e9tape.<\/p>\n<p>L&rsquo;intergiciel Node.js re\u00e7oit l&rsquo;ID du site, appelle l&rsquo;API Kinsta pour sauvegarder l&rsquo;environnement de staging, attend que l&rsquo;op\u00e9ration se termine, puis pousse l&rsquo;environnement de staging vers la production. La majeure partie du travail s&rsquo;effectue dans Salesforce pour s&rsquo;assurer que les autorisations et les acc\u00e8s appropri\u00e9s sont d\u00e9finis.<\/p>\n<h3>1. Configurer un identifiant nomm\u00e9<\/h3>\n<p>Salesforce dispose d&rsquo;une m\u00e9thode efficace pour stocker les cl\u00e9s API. Il s&rsquo;agit d&rsquo;un justificatif externe, qui contient le secret r\u00e9el, et d&rsquo;un <a href=\"https:\/\/developer.salesforce.com\/docs\/platform\/named-credentials\/guide\/get-started.html\" target=\"_blank\" rel=\"noopener noreferrer\">justificatif nomm\u00e9<\/a>, qui d\u00e9finit l&rsquo;URL du point de terminaison et s&rsquo;y connecte.<\/p>\n<p>Dans Salesforce, ouvrez l&rsquo;\u00e9cran <strong>Configuration<\/strong> \u00e0 partir du menu d&rsquo;accueil :<\/p>\n<figure id=\"attachment_209236\" aria-describedby=\"caption-attachment-209236\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-209236 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2026\/04\/setup-icon.png\" alt=\"L'ic\u00f4ne de configuration se trouve \u00e0 c\u00f4t\u00e9 d'un certain nombre d'autres options de la barre d'outils.\" width=\"1200\" height=\"425\"><figcaption id=\"caption-attachment-209236\" class=\"wp-caption-text\">L&rsquo;ic\u00f4ne de configuration se trouve \u00e0 c\u00f4t\u00e9 d&rsquo;un certain nombre d&rsquo;autres options de la barre d&rsquo;outils.<\/figcaption><\/figure>\n<p>Ici, recherchez <strong>Named Credentials<\/strong>, ouvrez l&rsquo;onglet <strong>External Credentials<\/strong> et cliquez sur <strong>New<\/strong>. Donnez-lui un nom et une \u00e9tiquette, puis d\u00e9finissez le protocole d&rsquo;authentification sur <strong>Custom<\/strong>. Cela vous permet de d\u00e9finir un en-t\u00eate de jeton Bearer plut\u00f4t que d&rsquo;utiliser un flux OAuth g\u00e9r\u00e9.<\/p>\n<p>Apr\u00e8s l&rsquo;avoir enregistr\u00e9, faites d\u00e9filer jusqu&rsquo;\u00e0 <strong>Principals<\/strong> et cliquez sur <strong>New<\/strong>. Donnez un nom au principal, par exemple <code>KinstaKey,<\/code> et saisissez la cl\u00e9 de l&rsquo;API Kinsta comme valeur.<\/p>\n<figure id=\"attachment_209237\" aria-describedby=\"caption-attachment-209237\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-209237 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2026\/04\/new-credential.png\" alt=\"Champs pour un nom, un libell\u00e9 et un protocole d'authentification.\" width=\"1200\" height=\"613\"><figcaption id=\"caption-attachment-209237\" class=\"wp-caption-text\">Champs pour un nom, un libell\u00e9 et un protocole d&rsquo;authentification.<\/figcaption><\/figure>\n<p>Maintenant, ajoutez un <strong>en-t\u00eate personnalis\u00e9<\/strong> avec le nom <code>Authorization<\/code> et une valeur r\u00e9f\u00e9ren\u00e7ant le principal, de sorte que chaque appel sortant inclut la cl\u00e9 API en tant que jeton Bearer.<\/p>\n<figure id=\"attachment_209239\" aria-describedby=\"caption-attachment-209239\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-209239 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2026\/04\/new-named.png\" alt=\"L'\u00e9cran New Named Credential affiche diff\u00e9rents champs ainsi que des options d'authentification.\" width=\"1200\" height=\"854\"><figcaption id=\"caption-attachment-209239\" class=\"wp-caption-text\">L&rsquo;\u00e9cran New Named Credential affiche diff\u00e9rents champs ainsi que des options d&rsquo;authentification.<\/figcaption><\/figure>\n<p>Une fois le justificatif externe enregistr\u00e9, acc\u00e9dez \u00e0 l&rsquo;onglet <strong>Named Credentials<\/strong>, cliquez sur <strong>New<\/strong>, d\u00e9finissez l&rsquo;URL de votre point de terminaison middleware, remplissez les champs requis et s\u00e9lectionnez le <strong>justificatif externe<\/strong> dans la section <strong>Authentication<\/strong>.<\/p>\n<h4>D\u00e9finir les autorisations des utilisateurs<\/h4>\n<p>Vous devez \u00e9galement activer un <a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=platform.perm_sets_overview.htm&#038;language=en_US&#038;type=5\" target=\"_blank\" rel=\"noopener noreferrer\">ensemble de permissions<\/a> pour le principal du justificatif externe, qui accorde \u00e0 votre profil d&rsquo;utilisateur les autorisations n\u00e9cessaires pour appeler l&rsquo;API Kinsta. Pour cela, allez \u00e0 <strong>Setup<\/strong> &gt; <strong>Permission Sets<\/strong> et cliquez sur <strong>New<\/strong>.<\/p>\n<p>Donnez-lui un nom et enregistrez-le, puis rouvrez l&rsquo;ensemble de permissions et cliquez sur pour modifier l&rsquo;\u00e9cran <strong>External Credential Principal Access<\/strong>. Vous devez d\u00e9placer le External Credential principal dans la liste des autorisations :<\/p>\n<figure id=\"attachment_209240\" aria-describedby=\"caption-attachment-209240\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-209240 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2026\/04\/edit-principal-access.png\" alt=\"L'\u00e9cran External Credential Principal Access (Acc\u00e8s au principal d'accr\u00e9ditation externe) montre une liste d\u00e9sactiv\u00e9e et activ\u00e9e.\" width=\"1200\" height=\"746\"><figcaption id=\"caption-attachment-209240\" class=\"wp-caption-text\">L&rsquo;\u00e9cran External Credential Principal Access (Acc\u00e8s au principal d&rsquo;accr\u00e9ditation externe) montre une liste d\u00e9sactiv\u00e9e et activ\u00e9e.<\/figcaption><\/figure>\n<p>Enfin, enregistrez vos modifications, retournez \u00e0 l&rsquo;ensemble d&rsquo;autorisations et cliquez sur <strong>Manage Assignments<\/strong> dans la barre d&rsquo;outils sup\u00e9rieure :<\/p>\n<figure id=\"attachment_209241\" aria-describedby=\"caption-attachment-209241\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-209241 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2026\/04\/manage-assignments-link.png\" alt=\"Lien G\u00e9rer les affectations dans la barre d'outils Salesforce.\" width=\"1200\" height=\"532\"><figcaption id=\"caption-attachment-209241\" class=\"wp-caption-text\">Lien G\u00e9rer les affectations dans la barre d&rsquo;outils Salesforce.<\/figcaption><\/figure>\n<p>Sur cet \u00e9cran, utilisez <strong>Add Assignment<\/strong> pour vous connecter \u00e0 votre profil d&rsquo;utilisateur et activer l&rsquo;acc\u00e8s \u00e0 l&rsquo;API Kinsta.<\/p>\n<h3>2. Cr\u00e9er un flux d\u00e9clench\u00e9 par l&rsquo;enregistrement sur l&rsquo;objet Opportunit\u00e9<\/h3>\n<p>Ouvrez ensuite le Lanceur d&rsquo;applications Salesforce, recherchez <strong>Flows<\/strong> dans l&rsquo;\u00e9cran qui s&rsquo;affiche, cliquez sur <strong>New<\/strong> et s\u00e9lectionnez <strong>Record-Triggered Flow<\/strong>.<\/p>\n<figure id=\"attachment_209242\" aria-describedby=\"caption-attachment-209242\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-209242 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2026\/04\/record-trigger-flow.png\" alt=\"L'option Record-Triggered Flow aux c\u00f4t\u00e9s d'autres choix pour cr\u00e9er des automatismes.\" width=\"1200\" height=\"677\"><figcaption id=\"caption-attachment-209242\" class=\"wp-caption-text\">L&rsquo;option Record-Triggered Flow aux c\u00f4t\u00e9s d&rsquo;autres choix pour cr\u00e9er des automatismes.<\/figcaption><\/figure>\n<p>Une fois que le g\u00e9n\u00e9rateur de flux s&rsquo;ouvre, d\u00e9finissez les options suivantes :<\/p>\n<ul>\n<li>Choisissez <strong>Opportunity<\/strong> comme objet.<\/li>\n<li>D\u00e9finissez le d\u00e9clencheur pour qu&rsquo;il se d\u00e9clenche lorsqu&rsquo;un enregistrement est mis \u00e0 jour.<\/li>\n<li>S\u00e9lectionnez <strong>All Conditions Are Met (AND)<\/strong> dans le menu <strong>Conditions Requirements<\/strong>.<\/li>\n<li>Dans les nouveaux champs qui s&rsquo;affichent, s\u00e9lectionnez <strong>Stage<\/strong> pour le <strong>champ<\/strong>, l&rsquo;op\u00e9rateur <strong>Equals<\/strong> et <strong>Closed Won<\/strong> pour la <strong>valeur.<\/strong><\/li>\n<li>Sous <strong>When to Run the Flow for Updated Records<\/strong>, s\u00e9lectionnez <strong>Only when a record is updated to meet the condition requirements<\/strong>.<\/li>\n<\/ul>\n<p>L&rsquo;ex\u00e9cution du flux en fonction des mises \u00e0 jour d&rsquo;enregistrement emp\u00eache le d\u00e9ploiement de se d\u00e9clencher plusieurs fois. Si ce n&rsquo;est pas le cas, le flux s&rsquo;ex\u00e9cute lors de chaque enregistrement ult\u00e9rieur apr\u00e8s que l&rsquo;\u00e9tape a \u00e9t\u00e9 modifi\u00e9e.<\/p>\n<figure id=\"attachment_209243\" aria-describedby=\"caption-attachment-209243\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-209243 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2026\/04\/flow-builder.png\" alt=\"\u00c9cran Flow Builder montrant les champs remplis pour un nouveau flux d\u00e9clench\u00e9 par un enregistrement.\" width=\"1200\" height=\"497\"><figcaption id=\"caption-attachment-209243\" class=\"wp-caption-text\">\u00c9cran Flow Builder montrant les champs remplis pour un nouveau flux d\u00e9clench\u00e9 par un enregistrement.<\/figcaption><\/figure>\n<p>Enfin, sous <strong>Optimize the flow for<\/strong>, s\u00e9lectionnez <strong>Actions and Related Records<\/strong>, puis activez le commutateur <strong>Add Asynchronous Path<\/strong> qui rend possible l&rsquo;appel et affiche les deux nouveaux \u00ab chemins \u00bb.<\/p>\n<h3>3. Configurer le chemin asynchrone et ajoutez une action d&rsquo;appel HTTP<\/h3>\n<p>Salesforce n&rsquo;autorise pas les appels HTTP au sein d&rsquo;une transaction de d\u00e9clenchement ouverte. Tout appel doit \u00eatre plac\u00e9 sur le chemin <strong>Run Asynchronously<\/strong>. Les actions plac\u00e9es sur ce chemin s&rsquo;ex\u00e9cutent apr\u00e8s la validation de la transaction d\u00e9clenchante.<\/p>\n<figure id=\"attachment_209244\" aria-describedby=\"caption-attachment-209244\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-209244 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2026\/04\/async-paths.png\" alt=\"Flow Builder montrant deux chemins pour Ex\u00e9cuter imm\u00e9diatement et Ex\u00e9cuter de mani\u00e8re asynchrone.\" width=\"1200\" height=\"767\"><figcaption id=\"caption-attachment-209244\" class=\"wp-caption-text\">Flow Builder montrant deux chemins pour Ex\u00e9cuter imm\u00e9diatement et Ex\u00e9cuter de mani\u00e8re asynchrone.<\/figcaption><\/figure>\n<p>Sur le chemin <strong>Run Asynchronously<\/strong>, ajoutez un \u00e9l\u00e9ment <strong>Action<\/strong> et s\u00e9lectionnez <strong>Create HTTP Callout<\/strong> en bas du panneau de droite.<\/p>\n<figure id=\"attachment_209245\" aria-describedby=\"caption-attachment-209245\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-209245 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2026\/04\/async-action.png\" alt=\"Le panneau Actions de recherche du g\u00e9n\u00e9rateur de flux montrant les interactions avec l'\u00e9l\u00e9ment Action sur un chemin.\" width=\"1200\" height=\"508\"><figcaption id=\"caption-attachment-209245\" class=\"wp-caption-text\">Le panneau Actions de recherche du g\u00e9n\u00e9rateur de flux montrant les interactions avec l&rsquo;\u00e9l\u00e9ment Action sur un chemin.<\/figcaption><\/figure>\n<p>Pour le callout, donnez-lui un nom et faites pointer l&rsquo;URL vers le point de terminaison de votre middleware, en utilisant <code>\/go-live<\/code> comme slug. Vous pouvez utiliser un placeholder URL jusqu&rsquo;\u00e0 ce que le middleware soit d\u00e9ploy\u00e9. Pour le d\u00e9veloppement local, <a href=\"https:\/\/ngrok.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">ngrok<\/a> expose votre port local avec une URL publique. S\u00e9lectionnez \u00e9galement le Named Credential ici.<\/p>\n<p>Une fois que vous avez cliqu\u00e9 sur <strong>Next<\/strong>, assignez une m\u00e9thode <code>POST<\/code> et donnez un libell\u00e9 au callout. En cliquant sur Next, vous devez proposer un exemple de requ\u00eate et de r\u00e9ponse JSON. Pour la requ\u00eate, utilisez ce qui suit :<\/p>\n<pre><code class=\"language-json\">{\n  \"site_id\" : \"fbab4927-e354-4044-b226-29ac0fbd20ca\"\n}\n<\/code><\/pre>\n<p>Si vous s\u00e9lectionnez <strong>Connect with Sample Response<\/strong> dans le panneau suivant, vous pouvez utiliser le bouton <strong>Connect<\/strong> pour tester la connexion jusqu&rsquo;\u00e0 pr\u00e9sent. Cependant, une erreur 502 s&rsquo;affiche jusqu&rsquo;\u00e0 ce que vous \u00e9criviez l&rsquo;intergiciel. Pour l&rsquo;instant, cliquez sur Use Example Response et ajoutez ce qui suit :<\/p>\n<pre><code class=\"language-json\">{\n  \"message\" : \"Received\"\n}\n<\/code><\/pre>\n<p>Plus tard, revenez et connectez-vous si vous souhaitez tester davantage la connexion.<\/p>\n<h3>4. Configurer un corps de requ\u00eate dans Flow Builder<\/h3>\n<p>Vous devez effectuer un travail manuel afin de d\u00e9finir le corps de la requ\u00eate pour l&rsquo;action. La premi\u00e8re \u00e9tape consiste \u00e0 choisir <strong>New Resource<\/strong> dans le menu d\u00e9roulant <strong>Set Request Body<\/strong> :<\/p>\n<figure id=\"attachment_209247\" aria-describedby=\"caption-attachment-209247\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-209247 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2026\/04\/new-resource.png\" alt=\"Flow Builder montrant le menu d\u00e9roulant D\u00e9finir le corps de la demande pour une action.\" width=\"1200\" height=\"515\"><figcaption id=\"caption-attachment-209247\" class=\"wp-caption-text\">Flow Builder montrant le menu d\u00e9roulant D\u00e9finir le corps de la demande pour une action.<\/figcaption><\/figure>\n<p>Ici, entrez un nom (tel que <code>requestBody<\/code>), enregistrez-le, puis s\u00e9lectionnez-le comme <strong>valeur <\/strong>pour le corps de la requ\u00eate. Ensuite, ajoutez un \u00e9l\u00e9ment <strong>Assignment<\/strong> dans le g\u00e9n\u00e9rateur de flux, donnez-lui un libell\u00e9 et un nom, puis ajoutez les \u00e9l\u00e9ments suivants dans les menus d\u00e9roulants <strong>Set Variable Values<\/strong>:<\/p>\n<ul>\n<li><strong>Variable :<\/strong> <code>site_id<\/code><\/li>\n<li><strong>Op\u00e9rateur :<\/strong> \u00c9gal \u00e0<\/li>\n<li><strong>Valeur : <\/strong>Faites d\u00e9filer le sous-menu <strong>Triggering Opportunity<\/strong> jusqu&rsquo;\u00e0 ce que vous atteigniez le <strong>Kinsta Site ID.<\/strong><\/li>\n<\/ul>\n<p>Une fois cette \u00e9tape franchie, la configuration de Salesforce est termin\u00e9e. Il ne vous reste plus qu&rsquo;\u00e0 construire l&rsquo;application Node.<\/p>\n<h3>5. Construire l&rsquo;intergiciel Node.js<\/h3>\n<p>Une fois le flux configur\u00e9, le middleware est l&rsquo;endroit o\u00f9 les appels \u00e0 l&rsquo;API Kinsta sont effectu\u00e9s. D\u00e9marrez un nouveau projet Node.js et installez les d\u00e9pendances :<\/p>\n<pre><code class=\"language-bash\">npm init -y\nnpm install express dotenv\n<\/code><\/pre>\n<p><a href=\"https:\/\/kinsta.com\/fr\/blog\/qu-est-express-js\/\">Express.js<\/a> s&rsquo;occupe du routage et de l&rsquo;analyse des requ\u00eates. <code>dotenv<\/code> charge le fichier <code>.env<\/code> pour que votre cl\u00e9 API soit disponible \u00e0 l&rsquo;ex\u00e9cution sans apparaitre dans votre code source. Ensuite, cr\u00e9ez <code>app.js<\/code> \u00e0 la racine du projet :<\/p>\n<pre><code class=\"language-javascript\">\/\/ app.js\nconst express = require('express');\nrequire('dotenv').config();\nconst app = express();\napp.use(express.json());\n\n\nconst KINSTA_API_URL = 'https:\/\/api.kinsta.com\/v2';\n\n\nconst headers = {\n\u00a0\u00a0'Content-Type': 'application\/json',\n\u00a0\u00a0Authorization: `Bearer ${process.env.KINSTA_API_KEY}`\n};\n\napp.post('\/go-live', async (req, res) =&gt; {\n\u00a0\u00a0const { site_id } = req.body;\n\u00a0\u00a0if (!site_id) {\n\u00a0\u00a0\u00a0\u00a0return res.status(400).json({ message: 'site_id is required' });\n\u00a0\u00a0}\n\u00a0\u00a0\/\/ Kinsta API calls added in the steps below\n\u00a0\u00a0res.status(200).json({ message: 'Received' });\n});\n\napp.listen(3000, () =&gt; console.log('Middleware running on port 3000'));<\/code><\/pre>\n<p>La constante <code>headers<\/code> g\u00e8re l&rsquo;authentification par jeton Bearer pour chaque requ\u00eate API Kinsta dans l&rsquo;application. Notez que l&rsquo;identifiant de l&rsquo;entreprise, lorsqu&rsquo;il est n\u00e9cessaire pour des points d&rsquo;extr\u00e9mit\u00e9 tels que <code>GET \/sites<\/code>, est transmis en tant que param\u00e8tre de requ\u00eate (et non dans l&rsquo;en-t\u00eate Authorization). L&rsquo;appel <code>require('dotenv').config()<\/code> au d\u00e9but de l&rsquo;application garantit que la cl\u00e9 est charg\u00e9e \u00e0 partir de <code>.env<\/code> avant que quoi que ce soit d&rsquo;autre ne s&rsquo;ex\u00e9cute.<\/p>\n<p>Avant de <a href=\"https:\/\/kinsta.com\/fr\/docs\/hebergement-wordpress\/sauvegardes-wordpress\/\">cr\u00e9er une sauvegarde<\/a>, l&rsquo;intergiciel a besoin des identifiants d&rsquo;environnement pour les versions staging et live. Ajoutez une fonction <code>getEnvironments<\/code> sous la constante <code>headers<\/code>:<\/p>\n<pre><code class=\"language-javascript\">const getEnvironments = async (siteId) =&gt; {\n\u00a0\u00a0const resp = await fetch(\n\u00a0\u00a0\u00a0\u00a0`${KINSTA_API_URL}\/sites\/${siteId}\/environments`,\n\u00a0\u00a0\u00a0\u00a0{ method: 'GET', headers }\n\u00a0\u00a0);\n\n\u00a0\u00a0const data = await resp.json();\n\u00a0\u00a0return data.site.environments;\n};<\/code><\/pre>\n<p>Ceci appelle <code>GET \/sites\/{siteId}\/environments<\/code> et renvoie le tableau complet des environnements.<\/p>\n<h3>6. Cr\u00e9er une sauvegarde manuelle de l&rsquo;environnement de transit<\/h3>\n<p><a href=\"https:\/\/kinsta.com\/fr\/docs\/hebergement-wordpress\/pousser-environnements-wordpress\/\">Pousser un environnement<\/a> vers la production \u00e9crase le site en production. En cr\u00e9ant d&rsquo;abord une sauvegarde, vous disposez d&rsquo;un point de restauration si le transfert fait apparaitre un conflit qui n&rsquo;a pas \u00e9t\u00e9 d\u00e9tect\u00e9 lors des tests dans l&rsquo;environnement de staging.<\/p>\n<p>Ici, ajoutez une fonction <code>createBackup<\/code> sous <code>getEnvironments<\/code>:<\/p>\n<pre><code class=\"language-javascript\">const createBackup = async (envId) =&gt; {\n\u00a0\u00a0const resp = await fetch(\n\u00a0\u00a0\u00a0\u00a0`${KINSTA_API_URL}\/sites\/environments\/${envId}\/manual-backups`,\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0method: 'POST',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0headers,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0body: JSON.stringify({ tag: 'pre-launch-backup' })\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0);\n\n\u00a0\u00a0const data = await resp.json();\n\u00a0\u00a0return data;\n};<\/code><\/pre>\n<p>Kinsta traite la sauvegarde de mani\u00e8re asynchrone et renvoie <code>202 Accepted<\/code> avec un <code>operation_id<\/code> plut\u00f4t qu&rsquo;un r\u00e9sultat complet :<\/p>\n<pre><code class=\"language-bash\">{\n\u00a0\u00a0\"operation_id\": \"backups:add-manual-54fb80af-576c-4fdc-ba4f-b596c83f15a1\",\n\u00a0\u00a0\"message\": \"Adding a manual backup to environment in progress\",\n\u00a0\u00a0\"status\": 202\n}<\/code><\/pre>\n<p>Pour suspendre l&rsquo;ex\u00e9cution jusqu&rsquo;\u00e0 ce que la sauvegarde soit termin\u00e9e avant l&rsquo;ex\u00e9cution de la pouss\u00e9e, ajoutez une fonction <code>pollOperation<\/code> sous <code>createBackup<\/code>:<\/p>\n<pre><code class=\"language-javascript\">const pollOperation = async (operationId, intervalMs = 5000, maxAttempts = 12) =&gt; {\n\u00a0\u00a0for (let attempt = 0; attempt &lt; maxAttempts; attempt++) {\n\u00a0\u00a0\u00a0\u00a0await new Promise(resolve =&gt; setTimeout(resolve, intervalMs));\n\u00a0\u00a0\u00a0\u00a0const resp = await fetch(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0`${KINSTA_API_URL}\/operations\/${operationId}`,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{ method: 'GET', headers }\n\u00a0\u00a0\u00a0\u00a0);\n\u00a0\u00a0\u00a0\u00a0const data = await resp.json();\n\u00a0\u00a0\u00a0\u00a0if (data.status === 200) return data;\n\u00a0\u00a0\u00a0\u00a0if (data.status &gt;= 400) throw new Error(`Operation failed: ${data.message}`);\n\u00a0\u00a0}\n\u00a0\u00a0throw new Error('Operation timed out');\n};<\/code><\/pre>\n<p>La boucle v\u00e9rifie toutes les cinq secondes, ce qui couvre jusqu&rsquo;\u00e0 une minute de temps de traitement. Un \u00e9tat <code>200<\/code> du point de terminaison des op\u00e9rations signifie que la sauvegarde est termin\u00e9e et que la pouss\u00e9e peut se poursuivre.<\/p>\n<h3>7. Pousser le staging vers la production et surveiller l&rsquo;ach\u00e8vement<\/h3>\n<p>Une fois la sauvegarde confirm\u00e9e, ajoutez une fonction <code>pushToProduction<\/code> sous <code>pollOperation<\/code>:<\/p>\n<pre><code class=\"language-javascript\">const pushToProduction = async (siteId, stagingEnvId, liveEnvId) =&gt; {\n\u00a0\u00a0const resp = await fetch(\n\u00a0\u00a0\u00a0\u00a0`${KINSTA_API_URL}\/sites\/${siteId}\/environments`,\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0method: 'PUT',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0headers,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0body: JSON.stringify({\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0source_env_id: stagingEnvId,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0target_env_id: liveEnvId,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0push_db: true,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0push_files: true,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0run_search_and_replace: true\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0})\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0);\n\u00a0\u00a0const data = await resp.json();\n\u00a0\u00a0return data;\n};<\/code><\/pre>\n<p>Les param\u00e8tres <code>source_env_id<\/code> et <code>target_env_id<\/code> identifient l&rsquo;endroit o\u00f9 chaque environnement est pouss\u00e9. Le drapeau <code>run_search_and_replace<\/code> met \u00e0 jour les r\u00e9f\u00e9rences de domaine cod\u00e9es en dur dans la base de donn\u00e9es apr\u00e8s la pouss\u00e9e. S&rsquo;il n&rsquo;est pas utilis\u00e9, toutes les r\u00e9f\u00e9rences de domaines en phase de staging dans la base de donn\u00e9es persistent sur le site r\u00e9el apr\u00e8s la fin de la pouss\u00e9e.<\/p>\n<p>La pouss\u00e9e renvoie \u00e9galement <code>202 Accepted<\/code> avec un <code>operation_id<\/code>. Le passage de ce code \u00e0 <code>pollOperation<\/code> confirme l&rsquo;ach\u00e8vement de l&rsquo;op\u00e9ration. Enfin, mettez \u00e0 jour le gestionnaire de route pour appeler toutes les fonctions dans l&rsquo;ordre :<\/p>\n<pre><code class=\"language-javascript\">app.post('\/go-live', async (req, res) =&gt; {\n\u00a0\u00a0const { site_id } = req.body;\n\u00a0\u00a0if (!site_id) {\n\u00a0\u00a0\u00a0\u00a0return res.status(400).json({ message: 'site_id is required' });\n\u00a0\u00a0}\n\u00a0\u00a0try {\n\u00a0\u00a0\u00a0\u00a0const environments = await getEnvironments(site_id);\n\u00a0\u00a0\u00a0\u00a0const stagingEnv = environments.find(env =&gt; env.name === 'staging');\n\u00a0\u00a0\u00a0\u00a0const liveEnv = environments.find(env =&gt; env.name === 'live');\n\u00a0\u00a0\u00a0\u00a0const backup = await createBackup(stagingEnv.id);\n\u00a0\u00a0\u00a0\u00a0await pollOperation(backup.operation_id);\n\u00a0\u00a0\u00a0\u00a0const push = await pushToProduction(site_id, stagingEnv.id, liveEnv.id);\n\u00a0\u00a0\u00a0\u00a0await pollOperation(push.operation_id);\n\u00a0\u00a0\u00a0\u00a0console.log(`Go-live complete for site ${site_id}`);\n\u00a0\u00a0\u00a0\u00a0res.status(200).json({ message: 'Go-live complete' });\n\u00a0\u00a0} catch (err) {\n\u00a0\u00a0\u00a0\u00a0console.error(err);\n\u00a0\u00a0\u00a0\u00a0res.status(500).json({ message: 'Go-live failed', error: err.message });\n\u00a0\u00a0}\n});<\/code><\/pre>\n<p>Une fois que vous avez enregistr\u00e9 vos modifications, mettez \u00e0 jour le Named Credential avec l&rsquo;URL r\u00e9elle de l&rsquo;intergiciel si n\u00e9cessaire, puis <strong>activez<\/strong> le flux. Ensuite, ex\u00e9cutez-le avec <code>node app.js<\/code> et d\u00e9placez une opportunit\u00e9 vers l&rsquo;\u00e9tape cible dans Salesforce.<\/p>\n<figure id=\"attachment_209248\" aria-describedby=\"caption-attachment-209248\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-209248 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2026\/04\/mykinsta-push.png\" alt=\"Tableau de bord MyKinsta montrant un site de staging en train d'\u00eatre mis en production.\" width=\"1200\" height=\"489\"><figcaption id=\"caption-attachment-209248\" class=\"wp-caption-text\">Tableau de bord MyKinsta montrant un site de staging en train d&rsquo;\u00eatre mis en production.<\/figcaption><\/figure>\n<p>Le site sera mis en ligne sans qu&rsquo;il soit n\u00e9cessaire de se connecter \u00e0 MyKinsta. Vous pouvez \u00e9galement consid\u00e9rer qu&rsquo;avec la <a href=\"https:\/\/www.salesforce.com\/news\/stories\/salesforce-headless-360-announcement\/\" target=\"_blank\" rel=\"noopener noreferrer\">solution Headless 360<\/a> de Salesforce, vous pouvez ex\u00e9cuter la plupart de ces op\u00e9rations en dehors de l&rsquo;interface graphique, via l&rsquo;interface de ligne de commande ou en tant que MCP.<\/p>\n<h2>Automatiser le flux de d\u00e9ploiement de votre agence avec Salesforce et Kinsta<\/h2>\n<p>Vous pouvez fermer la boucle entre l&rsquo;API Kinsta et Salesforce par le biais d&rsquo;une application Node interm\u00e9diaire. D\u00e8s que vous changez l&rsquo;\u00e9tape d&rsquo;une opportunit\u00e9 dans Salesforce, MyKinsta prend automatiquement une sauvegarde, la pousse en production et la confirme sans aucune \u00e9tape manuelle.<\/p>\n<p>Lorsque le middleware est pr\u00eat pour la production, <a href=\"https:\/\/sevalla.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Sevalla<\/a> est une cible de d\u00e9ploiement con\u00e7ue exactement pour ce type de service Node.js. Vous poussez le projet vers un fournisseur Git, connectez le d\u00e9p\u00f4t, ajoutez les variables d&rsquo;environnement et mettez \u00e0 jour l&rsquo;URL Salesforce HTTP Callout avec l&rsquo;adresse de l&rsquo;intergiciel en direct.<\/p>\n<p>Pour les agences qui d\u00e9veloppent l&rsquo;automatisation \u00e0 travers un portefeuille de clients, le <a href=\"https:\/\/kinsta.com\/fr\/programme-agence-partenaire\/\">programme Agency Partner Program<\/a> de Kinsta fournit le partenariat d&rsquo;infrastructure et le support d\u00e9di\u00e9 qui rendent ce type de travail durable \u00e0 l&rsquo;\u00e9chelle.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lorsqu&rsquo;une transaction est conclue dans Salesforce, le site qu&rsquo;elle repr\u00e9sente d\u00e9pend encore d&rsquo;un ensemble distinct d&rsquo;\u00e9tapes manuelles pour \u00eatre mis en ligne. Un d\u00e9veloppeur doit trouver &#8230;<\/p>\n","protected":false},"author":287,"featured_media":83392,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[953],"class_list":["post-83391","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-api"],"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>Automatisez la mise en production de WordPress avec l&#039;API Salesforce et Kinsta.<\/title>\n<meta name=\"description\" content=\"Automatisez le d\u00e9ploiement de WordPress depuis Salesforce. Utilisez l&#039;API Kinsta pour sauvegarder l&#039;environnement de staging, d\u00e9ployer en production et supprimer les \u00e9tapes de d\u00e9ploiement manuelles.\" \/>\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\/automatiser-wordpress-salesforce-api-kinsta\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Comment automatiser la mise en production de WordPress depuis Salesforce en utilisant l&#039;API Kinsta ?\" \/>\n<meta property=\"og:description\" content=\"Automatisez le d\u00e9ploiement de WordPress depuis Salesforce. Utilisez l&#039;API Kinsta pour sauvegarder l&#039;environnement de staging, d\u00e9ployer en production et supprimer les \u00e9tapes de d\u00e9ploiement manuelles.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/\" \/>\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=\"2026-05-26T08:47:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-29T12:29:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2026\/05\/how-to-automate-wordpress-go-live-from-salesforce-using-the-kinsta-api.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1470\" \/>\n\t<meta property=\"og:image:height\" content=\"735\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Joel Olawanle\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Automatisez le d\u00e9ploiement de WordPress depuis Salesforce. Utilisez l&#039;API Kinsta pour sauvegarder l&#039;environnement de staging, d\u00e9ployer en production et supprimer les \u00e9tapes de d\u00e9ploiement manuelles.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2026\/05\/how-to-automate-wordpress-go-live-from-salesforce-using-the-kinsta-api-1024x512.png\" \/>\n<meta name=\"twitter:creator\" content=\"@olawanle_joel\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_fr\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joel Olawanle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"Comment automatiser la mise en production de WordPress depuis Salesforce en utilisant l&rsquo;API Kinsta ?\",\"datePublished\":\"2026-05-26T08:47:41+00:00\",\"dateModified\":\"2026-05-29T12:29:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/\"},\"wordCount\":2595,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2026\/05\/how-to-automate-wordpress-go-live-from-salesforce-using-the-kinsta-api.png\",\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/\",\"url\":\"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/\",\"name\":\"Automatisez la mise en production de WordPress avec l'API Salesforce et Kinsta.\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2026\/05\/how-to-automate-wordpress-go-live-from-salesforce-using-the-kinsta-api.png\",\"datePublished\":\"2026-05-26T08:47:41+00:00\",\"dateModified\":\"2026-05-29T12:29:56+00:00\",\"description\":\"Automatisez le d\u00e9ploiement de WordPress depuis Salesforce. Utilisez l'API Kinsta pour sauvegarder l'environnement de staging, d\u00e9ployer en production et supprimer les \u00e9tapes de d\u00e9ploiement manuelles.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2026\/05\/how-to-automate-wordpress-go-live-from-salesforce-using-the-kinsta-api.png\",\"contentUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2026\/05\/how-to-automate-wordpress-go-live-from-salesforce-using-the-kinsta-api.png\",\"width\":1470,\"height\":735},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API\",\"item\":\"https:\/\/kinsta.com\/fr\/sujets\/api\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Comment automatiser la mise en production de WordPress depuis Salesforce en utilisant l&#8217;API Kinsta ?\"}]},{\"@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\/efa7de30245ca15be5ce1dcacff89c07\",\"name\":\"Joel Olawanle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"caption\":\"Joel Olawanle\"},\"description\":\"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.\",\"sameAs\":[\"https:\/\/joelolawanle.com\/\",\"https:\/\/www.linkedin.com\/in\/olawanlejoel\/\",\"https:\/\/x.com\/olawanle_joel\",\"https:\/\/www.youtube.com\/@joelolawanle\"],\"gender\":\"male\",\"knowsAbout\":[\"JavaScript\",\"React\",\"Next.js\"],\"knowsLanguage\":[\"English\"],\"jobTitle\":\"Technical Editor\",\"worksFor\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/fr\/blog\/author\/joelolawanle\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Automatisez la mise en production de WordPress avec l'API Salesforce et Kinsta.","description":"Automatisez le d\u00e9ploiement de WordPress depuis Salesforce. Utilisez l'API Kinsta pour sauvegarder l'environnement de staging, d\u00e9ployer en production et supprimer les \u00e9tapes de d\u00e9ploiement manuelles.","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\/automatiser-wordpress-salesforce-api-kinsta\/","og_locale":"fr_FR","og_type":"article","og_title":"Comment automatiser la mise en production de WordPress depuis Salesforce en utilisant l'API Kinsta ?","og_description":"Automatisez le d\u00e9ploiement de WordPress depuis Salesforce. Utilisez l'API Kinsta pour sauvegarder l'environnement de staging, d\u00e9ployer en production et supprimer les \u00e9tapes de d\u00e9ploiement manuelles.","og_url":"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstafrance\/","article_published_time":"2026-05-26T08:47:41+00:00","article_modified_time":"2026-05-29T12:29:56+00:00","og_image":[{"width":1470,"height":735,"url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2026\/05\/how-to-automate-wordpress-go-live-from-salesforce-using-the-kinsta-api.png","type":"image\/png"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"Automatisez le d\u00e9ploiement de WordPress depuis Salesforce. Utilisez l'API Kinsta pour sauvegarder l'environnement de staging, d\u00e9ployer en production et supprimer les \u00e9tapes de d\u00e9ploiement manuelles.","twitter_image":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2026\/05\/how-to-automate-wordpress-go-live-from-salesforce-using-the-kinsta-api-1024x512.png","twitter_creator":"@olawanle_joel","twitter_site":"@kinsta_fr","twitter_misc":{"\u00c9crit par":"Joel Olawanle","Dur\u00e9e de lecture estim\u00e9e":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"Comment automatiser la mise en production de WordPress depuis Salesforce en utilisant l&rsquo;API Kinsta ?","datePublished":"2026-05-26T08:47:41+00:00","dateModified":"2026-05-29T12:29:56+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/"},"wordCount":2595,"publisher":{"@id":"https:\/\/kinsta.com\/fr\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2026\/05\/how-to-automate-wordpress-go-live-from-salesforce-using-the-kinsta-api.png","inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/","url":"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/","name":"Automatisez la mise en production de WordPress avec l'API Salesforce et Kinsta.","isPartOf":{"@id":"https:\/\/kinsta.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2026\/05\/how-to-automate-wordpress-go-live-from-salesforce-using-the-kinsta-api.png","datePublished":"2026-05-26T08:47:41+00:00","dateModified":"2026-05-29T12:29:56+00:00","description":"Automatisez le d\u00e9ploiement de WordPress depuis Salesforce. Utilisez l'API Kinsta pour sauvegarder l'environnement de staging, d\u00e9ployer en production et supprimer les \u00e9tapes de d\u00e9ploiement manuelles.","breadcrumb":{"@id":"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/#primaryimage","url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2026\/05\/how-to-automate-wordpress-go-live-from-salesforce-using-the-kinsta-api.png","contentUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2026\/05\/how-to-automate-wordpress-go-live-from-salesforce-using-the-kinsta-api.png","width":1470,"height":735},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/fr\/blog\/automatiser-wordpress-salesforce-api-kinsta\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/fr\/"},{"@type":"ListItem","position":2,"name":"API","item":"https:\/\/kinsta.com\/fr\/sujets\/api\/"},{"@type":"ListItem","position":3,"name":"Comment automatiser la mise en production de WordPress depuis Salesforce en utilisant l&#8217;API Kinsta ?"}]},{"@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\/efa7de30245ca15be5ce1dcacff89c07","name":"Joel Olawanle","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","caption":"Joel Olawanle"},"description":"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.","sameAs":["https:\/\/joelolawanle.com\/","https:\/\/www.linkedin.com\/in\/olawanlejoel\/","https:\/\/x.com\/olawanle_joel","https:\/\/www.youtube.com\/@joelolawanle"],"gender":"male","knowsAbout":["JavaScript","React","Next.js"],"knowsLanguage":["English"],"jobTitle":"Technical Editor","worksFor":"Kinsta","url":"https:\/\/kinsta.com\/fr\/blog\/author\/joelolawanle\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/83391","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\/287"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/comments?post=83391"}],"version-history":[{"count":6,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/83391\/revisions"}],"predecessor-version":[{"id":83434,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/83391\/revisions\/83434"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/83391\/translations\/en"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/83391\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/83391\/translations\/de"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/83391\/translations\/es"},{"href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/83391\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/media\/83392"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/media?parent=83391"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/tags?post=83391"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/topic?post=83391"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}