
بروزرسانی: 18 تیر 1404
نحوه ایجاد و استفاده از Kinsta API Access Key
Kinsta یک پلت فرم ابری است که برای کمک به شرکت ها و تیم های توسعه دهنده طراحی شده است تا پروژه های وب خود را سریعتر و کارآمدتر ارسال و مدیریت کنند.
Kinsta به توسعه دهندگان و کاربران یک API ارائه می دهد تا سایت ها، برنامه ها و پایگاه های داده وردپرس خود را به صورت برنامه نویسی مدیریت کنند.
Kinsta API را می توان برای خودکارسازی وظایف، بازیابی داده ها و ادغام Kinsta با سایر برنامه ها بدون دسترسی به MyKinsta استفاده کرد. برای دسترسی به API، به یک کلید API نیاز دارید. این مقاله روند ایجاد و استفاده از کلید Kinsta API را توضیح می دهد.
نحوه ایجاد یک کلید API
برای استفاده از API Kinsta، باید یک حساب کاربری با حداقل یک سایت، برنامه یا پایگاه داده وردپرس در MyKinsta داشته باشید. همچنین برای احراز هویت و دسترسی به حساب خود از طریق API، باید یک کلید API ایجاد کنید. برای تولید یک کلید API:
- به داشبورد MyKinsta خود بروید.
- حرکت به کلیدهای API صفحه (اسم شما > تنظیمات شرکت > کلیدهای API).
- کلیک کلید API ایجاد کنید.
- یک تاریخ انقضا را انتخاب کنید یا یک تاریخ شروع سفارشی و تعداد ساعت برای انقضای کلید تنظیم کنید.
- به کلید یک نام منحصربفرد بدهید.
- کلیک تولید می کنند.

هنگامی که یک کلید API ایجاد می کنید، آن را کپی کرده و در مکانی امن ذخیره کنید این تنها زمانی است که می توانید آن را ببینید. شما می توانید چندین کلید API ایجاد کنید - آنها در لیست قرار می گیرند کلیدهای API صفحه اگر نیاز به لغو یک کلید API دارید، کلیک کنید لغو در کنار موردی که می خواهید لغو کنید.
نحوه استفاده از Kinsta API با کلید API
هنگامی که کلید API را در اختیار دارید، می توانید از طریق Kinsta API با تمام خدمات Kinsta (سایت های وردپرس، برنامه ها و پایگاه های داده) تعامل داشته باشید، مانند دریافت لیستی از پایگاه های داده بر اساس شناسه شرکت، سایت های شرکت، ایجاد یک سایت وردپرس و موارد دیگر.
به عنوان مثال، برای دریافت لیستی از سایت های شرکت در MyKinsta خود، نقطه پایانی است /sites
. کلید API به عنوان هدر مجوز شما عمل خواهد کرد. شما همچنین شناسه شرکت (پارامتر مورد نیاز) را اضافه خواهید کرد. در اینجا نحوه ایجاد این درخواست API با استفاده از cURL آمده است:
curl -i -X GET \\
\'https://api.kinsta.com/v2/sites?company=\' \\
-H \'Authorization: Bearer <YOUR_API_KEY_HERE>\'
جایگزین کردن YOUR_API_KEY_HERE
با کلید API واقعی که تولید کردید و
COMPANY_ID_HERE
با شناسه منحصر به فرد شرکت شما این یک پاسخ JSON از تمام سایت های شرکت در داشبورد DevKinsta شما را نشان می دهد:
{
"company": {
"sites": [
{
"id": "YOUR_SITE_ID",
"name": "my-test-site",
"display_name": "Test site",
"status": "live",
"site_labels": []
}
]
}
}
مثال دیگر، فرض کنید می خواهید یک سایت خاص را با شناسه (درخواست GET) واکشی کنید. می توانید استفاده کنید /sites/{site_id}
نقطه پایانی {site_id}
با شناسه منحصر به فرد سایت خاصی که می خواهید واکشی کنید جایگزین می شود. در اینجا نحوه ایجاد این درخواست API با استفاده از NodeJS آمده است:
import fetch from \'node-fetch\';
async function fetchSite() {
const siteId = \'YOUR_SITE_ID\';
const response = await fetch(
`https://api.kinsta.com/v2/sites/${siteId}`,
{
method: \'GET\',
headers: {
Authorization: \'Bearer
}
}
);
const data = await response.json();
console.log(data);
}
fetchSite();
کارهای دیگری که می توانید با Kinsta API انجام دهید وجود دارد. برای جزئیات کامل در مورد نقاط پایانی API موجود و پارامترهای مورد نیاز، برای دانلود مشخصات OpenAPI ما، و برای امتحان نقاط پایانی، به مرجع API ما مراجعه کنید.
مجوزها
مجوزهای دسترسی API برای Kinsta به نقش کاربر در شرکت بستگی دارد صاحبان شرکت ها، مدیران و توسعه دهندگان می تواند کلیدهای API ایجاد کند.
به عنوان مثال، یک کلید API تولید شده توسط یک توسعه دهنده، سطح دسترسی یکسانی با کلید تولید شده توسط مالک یا مدیر شرکت نخواهد داشت. مجوزهای خاص مرتبط با هر نقش کاربر، کنترل دسترسی و امنیت مناسب را برای Kinsta API تضمین می کند.
نحوه استفاده از Kinsta API برای ایجاد یک بررسی کننده وضعیت
هنگامی که یک برنامه، سایت یا پایگاه داده در MyKinsta ایجاد می کنید، مراحل مختلفی را طی می کند. راهی برای شناسایی این مراحل از طریق وضعیت آنهاست. به عنوان مثال، یک برنامه کاربردی که در Kinsta مستقر شده است، وضعیتی را برای زمانی که در حال استقرار، استقرار موفقیت آمیز یا شکست است، خواهد داشت.
Kinsta API نقاط پایانی را ارائه می دهد که به شما امکان می دهد اطلاعات وضعیت پروژه های خود را در MyKinsta بازیابی کنید. برای این پروژه، شما با سه نقطه پایانی تعامل خواهید داشت /applications
، /sites
، و /databases
، برای واکشی آرایه ای از همه برنامه ها، سایت ها و پایگاه های داده با استفاده از JavaScript Fetch API.
پس از بازیابی لیست، می توانید از آن استفاده کنید find()
روشی در جاوا اسکریپت برای جستجوی نام پروژه خاصی که در رابط کاربری (UI) وارد شده است. این نام و وضعیت پروژه را در صورت وجود برمی گرداند.

پيش نياز
برای دنبال کردن این پروژه، توصیه می شود که درک اولیه ای از HTML، CSS و جاوا اسکریپت داشته باشید و با React آشنایی داشته باشید. تمرکز اصلی این پروژه نشان دادن استفاده از Kinsta API است، بنابراین این مقاله به جزئیات ایجاد UI یا استایل نمی پردازد.
می توانید با استفاده از این الگو در GitHub یک مخزن Git ایجاد کنید. انتخاب کنید از این قالب استفاده کنید > یک مخزن جدید ایجاد کنید کد شروع را در یک مخزن جدید در حساب GitHub خود کپی کنید و مطمئن شوید که کادر را علامت بزنید شامل تمام شعبه ها می شود. هنگامی که به رایانه محلی خود می روید، مطمئن شوید که به رایانه سوئیچ می کنید status-checker-ui برای استفاده از فایل های استارتر با استفاده از دستور زیر شاخه کنید:
git checkout status-checker-ui
وابستگی های لازم را با اجرای آن نصب کنید npm install
فرمان پس از اتمام نصب، می توانید پروژه را با استفاده از رایانه محلی خود راه اندازی کنید npm run start
فرمان با این کار پروژه در باز می شود http://localhost:3000/.

این پروژه دارای دو صفحه اصلی است: صفحه اصلی و صفحات خدمات. را صفحه نخست لیستی از خدمات ارائه شده توسط Kinsta (وردپرس، برنامه کاربردی و میزبانی پایگاه داده) را نمایش می دهد. وقتی روی هر یک از سرویس ها کلیک می کنید، به قسمت هدایت می شوید صفحه خدمات، که برای ارائه اطلاعات خاص مرتبط با سرویس انتخابی طراحی شده است.
به عنوان مثال، با کلیک بر روی بخش "برنامه ها" شما را به قسمت هدایت می کند صفحه خدمات اختصاص داده شده به برنامه های کاربردی می توانید هر برنامه ای را در حساب MyKinsta خود در این صفحه جستجو کنید، بنابراین وضعیت برنامه را با استفاده از نام منحصر به فرد یا نام نمایشی آن بازیابی می کند.
تعامل با Kinsta API
برای پیاده سازی ویژگی جستجو برای این پروژه، باید سه تابع برای رسیدگی به درخواست های واکشی برای هر سرویس (برنامه ها، سایت ها و پایگاه های داده) ایجاد کنید. سپس، یک عملکرد جستجو را اجرا می کنید که کل آرایه داده ها را اسکن می کند تا بررسی کند آیا یک مقدار جستجوی معین وجود دارد یا خیر.
شما نیاز دارید شناسه شرکت و کلید ای پی ای برای تعامل با Kinsta API تا بتوانید لیستی از پایگاه های داده، برنامه ها و سایت های موجود در حساب MyKinsta خود را دریافت کنید. هنگامی که آنها را دارید، آنها را به عنوان متغیرهای محیطی در برنامه React خود با ایجاد یک ذخیره کنید فایل env در پوشه ریشه پروژه شما.
REACT_APP_KINSTA_COMPANY_ID = \'YOUR_COMPANY_ID\'
REACT_APP_KINSTA_API_KEY = \'YOUR_API_KEY\'
اکنون می توانید با استفاده از هر نقطه از پروژه خود به این مقادیر دسترسی داشته باشید process.env.THE_VARIABLE
. مثلا برای دسترسی REACT_APP_KINSTA_COMPANY_ID
، تو استفاده میکنی process.env.REACT_APP_KINSTA_COMPANY_ID
.
قبل از استفاده از API، سه حالت در آن ایجاد کنید Service.jsx صفحه ای برای ذخیره وضعیت و نام خروجی تولید شده هنگام جستجوی سایت، برنامه یا پایگاه داده. حالت سوم ذخیره اطلاعات خطا است.
let [status, setStatus] = useState(\'\');
let [name, setName] = useState(\'\');
let [error, setError] = useState(\'\');
همچنین، یک متغیر برای ذخیره URL API Kinsta ایجاد کنید:
const KinstaAPIUrl="https://api.kinsta.com/v2";
پس از اتمام، یک را وصل کنید onClick
رویداد با الف CheckQuery()
عملکرد به دکمه ارسال فرم در Service.jsx صفحه، بنابراین تابعی را بر اساس Slug راه اندازی می کند. به این معنی که اگر Slug پایگاه داده را نشان می دهد، پس CheckDatabases()
تابع فعال خواهد شد:
const CheckQuery = async (name) => {
if (slug === \'wp-site\') {
await CheckSites(name);
} else if (slug === \'application\') {
await CheckApplications(name);
} else if (slug === \'database\') {
await CheckDatabases(name);
}
}
واکشی فهرست سایت ها با Kinsta API
برای واکشی فهرستی از سایت های موجود در حساب شرکت MyKista خود با Kinsta API، یک تابع ایجاد می کنید، یک درخواست را با شناسه شرکت به عنوان پارامتر آن ارسال می کنید، سپس درخواست را با کلید API خود تأیید می کنید. این درخواست از /sites
نقطه پایانی Kinsta API:
const CheckSites = async (name) => {
const query = new URLSearchParams({
company: `${process.env.REACT_APP_KINSTA_COMPANY_ID}`,
}).toString();
const resp = await fetch(
`${KinstaAPIUrl}/sites?${query}`,
{
method: \'GET\',
headers: {
Authorization: `Bearer ${process.env.REACT_APP_KINSTA_API_KEY}`
}
}
);
}
این کد بالا تمام سایت های موجود در حساب MyKinsta شما را واکشی می کند، اکنون می توانید از آن استفاده کنید find()
روشی برای جستجو در صورت منطبق بودن عبارت جستجو نام یا نام نمایشی:
const data = await resp.json();
let sitesData = data.company.sites;
let site = sitesData.find(site => site.name === name || site.display_name === name);
با این کار، می توانید شرایطی را ایجاد کنید تا بررسی کنید آیا مقداری برمی گردد یا خیر، سپس حالت ها را با یک پیام به روزرسانی وضعیت خطا را تنظیم کنید تا به کاربر اطلاع دهد که چنین سایتی وجود ندارد:
if (site) {
setName(site.display_name);
if (site.status === \'live\') {
setStatus(\'🟢 Running\');
} else if (site.status === \'staging\') {
setStatus(\'🟡 Staging\');
} else {
setStatus(\'🟡 Unknown\');
}
setUniqueName(\'\');
} else {
setError(\'No such site found for your account\');
setUniqueName(\'\');
}
وقتی همه اینها را کنار هم می گذارید، کد شما برای بررسی وضعیت یک سایت خاص به این صورت خواهد بود:
const CheckSites = async (name) => {
setName(\'\');
setStatus(\'\');
setError(\'\');
const query = new URLSearchParams({
company: `${process.env.REACT_APP_KINSTA_COMPANY_ID}`,
}).toString();
const resp = await fetch(
`${KinstaAPIUrl}/sites?${query}`,
{
method: \'GET\',
headers: {
Authorization: `Bearer ${process.env.REACT_APP_KINSTA_API_KEY}`
}
}
);
const data = await resp.json();
let sitesData = data.company.sites;
let site = sitesData.find(site => site.name === name || site.display_name === name);
if (site) {
setName(site.display_name);
if (site.status === \'live\') {
setStatus(\'🟢 Running\');
} else if (site.status === \'staging\') {
setStatus(\'🟡 Staging\');
} else {
setStatus(\'🟡 Unknown\');
}
setUniqueName(\'\');
} else {
setError(\'No such site found for your account\');
setUniqueName(\'\');
}
}
توجه داشته باشید: هر سه حالت به صورت رشته های خالی هر بار مقدار دهی اولیه می شوند CheckSites()
عملکرد فعال می شود. این برای اطمینان از پاک شدن تمام داده های جستجوی قبلی ضروری است.
واکشی لیست برنامه ها با Kinsta API
درست مانند کاری که برای سایت ها انجام دادید، از آن استفاده خواهید کرد /applications
نقطه پایانی، درخواستی را ارسال کنید که حاوی شناسه شرکت است و همچنین از آن استفاده کنید find()
روش جستجو در آرایه برگشتی:
const CheckApplications = async (name) => {
setName(\'\');
setStatus(\'\');
setError(\'\');
const query = new URLSearchParams({
company: `${process.env.REACT_APP_KINSTA_COMPANY_ID}`,
}).toString();
const resp = await fetch(
`${KinstaAPIUrl}/applications?${query}`,
{
method: \'GET\',
headers: {
Authorization: `Bearer ${process.env.REACT_APP_KINSTA_API_KEY}`
}
}
);
const data = await resp.json();
let appsData = data.company.apps.items;
let app = appsData.find(app => app.unique_name === name || app.name === name || app.display_name === name);
if (app) {
setName(app.display_name);
if (app.status === \'deploymentSuccess\') {
setStatus(\'🟢 Running\');
} else if (app.status === \'deploymentFailed\') {
setStatus(\'🔴 Failed\');
} else if (app.status === \'deploymentPending\') {
setStatus(\'🟡 Pending\');
} else if (app.status === \'deploymentInProgress\') {
setStatus(\'🟡 In Progress\');
} else {
setStatus(\'🟡 Unknown\');
}
setUniqueName(\'\');
} else {
setError(\'No such app found for your account\');
setUniqueName(\'\');
}
}
واکشی فهرست پایگاه های داده با Kinsta API
برای واکشی لیستی از پایگاه های داده، از /databases
نقطه پایانی Kinsta API:
const CheckDatabases = async (name) => {
setName(\'\');
setStatus(\'\');
setError(\'\');
const query = new URLSearchParams({
company: `${process.env.REACT_APP_KINSTA_COMPANY_ID}`,
}).toString();
const resp = await fetch(
`${KinstaAPIUrl}/databases?${query}`,
{
method: \'GET\',
headers: {
Authorization: `Bearer ${process.env.REACT_APP_KINSTA_API_KEY}`
}
}
);
const data = await resp.json();
let databasesData = data.company.databases.items;
let database = databasesData.find(database => database.name === name || database.display_name === name);
if (database) {
setName(database.display_name);
if (database.status === \'ready\') {
setStatus(\'🟢 Running\');
} else if (database.status === \'creating\') {
setStatus(\'🟡 Creating\');
} else {
setStatus(\'🟡 Unknown\');
}
setUniqueName(\'\');
} else {
setError(\'No such database found for your account\');
setUniqueName(\'\');
}
}
پس از انجام این کار. شما با موفقیت از Kinsta API در پروژه React خود استفاده کرده اید. برای اطمینان از اینکه برنامه شما به خوبی کار می کند، داده هایی را که از این توابع برگردانده شده اند، که به حالت هایی که قبلاً ایجاد کردیم تنظیم شده اند، به کد نشانه گذاری خود اضافه کنید:
{status !== \'\' && (
<div className="services">
<div className="details">
<div className="name-details">
<span> className="tag">Name: </span>
<span> className="value">{name}</span>
</div>
<div className="status-details">
<span> className="tag">Status: </span>
<span> className="value"> {status}</span>
</div>
</div>
</div>
)}
همچنین شرطی را اضافه کنید که در صورت بروز خطا فعال شود. به عنوان مثال، زمانی که کاربر پروژه ای را جستجو می کند که در MyKinsta وجود ندارد، خطا ایجاد می شود.
{error !== \'\' && (
<div className="services">
<div className="details">
<p>{error}</p>
</div>
</div>
)}
در این مرحله، پروژه شما به خوبی کار خواهد کرد و می توانید وضعیت برنامه ها، سایت ها یا پایگاه های داده موجود در داشبورد MyKinsta خود را بررسی کنید. می توانید کد خود را با این مخزن GitHub بررسی کنید.
نحوه استقرار جستجوگر وضعیت خود در Kinsta
برای استقرار پروژه React خود در Kinsta، باید پروژه را به ارائه دهنده Git دلخواه خود منتقل کنید. هنگامی که پروژه شما در GitHub، GitLab یا Bitbucket میزبانی می شود، می توانید به استقرار در Kinsta ادامه دهید.
برای استقرار مخزن خود در Kinsta، مراحل زیر را دنبال کنید:
- وارد شوید یا حساب Kinsta خود را در داشبورد MyKinsta ایجاد کنید.
- در نوار کناری سمت چپ، روی «برنامه ها» و سپس «افزودن سرویس» کلیک کنید.
- برای استقرار یک برنامه React در Kinsta، "Application" را از منوی کشویی انتخاب کنید.
- در حالتی که ظاهر می شود، مخزن مورد نظر برای استقرار را انتخاب کنید. اگر چندین شعبه دارید، می توانید شعبه مورد نظر را انتخاب کرده و نامی برای اپلیکیشن خود بگذارید.
- یکی از مکان های موجود در مرکز داده را از لیست 25 گزینه انتخاب کنید. Kinsta به طور خودکار دستور شروع را برای برنامه شما تشخیص می دهد.
در نهایت، فشار دادن کلیدهای API به میزبان های عمومی مانند ارائه دهنده Git شما بی خطر نیست. هنگام میزبانی، می توانید آنها را به عنوان متغیرهای محیطی با استفاده از همان نام متغیر و مقدار مشخص شده در آن اضافه کنید فایل env.

هنگامی که استقرار برنامه خود را آغاز کردید، فرآیند شروع می شود و معمولاً ظرف چند دقیقه تکمیل می شود. در صورت موفقیت آمیز بودن استقرار، پیوندی برای دسترسی به نسخه مستقر شده برنامه خود دریافت خواهید کرد. به عنوان مثال، در این مورد، لینک است https://status-checker-1t256.kinsta.app/.
خلاصه
کلید Kinsta API به شما امکان می دهد وظایف را به راحتی خودکار کنید، داده ها را بازیابی کنید و Kinsta را با سایر برنامه ها ادغام کنید. به یاد داشته باشید که کلید دسترسی خود را ایمن نگه دارید.
اکنون می توانید از قدرت Kinsta API برای ایجاد برخی گزارش ها، زمان بندی وظایف، ایجاد سایت های وردپرس و خودکارسازی فعالیت های مختلف استفاده کنید.
دوست دارید بعداً چه نقطه پایانی به Kinsta API اضافه شود؟ در نظرات به ما اطلاع دهید.