Skip to main content

RACKCORP REST API

Rackcorp hasперенесла migratedмногие manyиз ofсвоих itsфункций functionalitiesдля toработы workс withархитектурой REST APIAPI, architectureчтобы toмодернизировать modernizeи andупростить makeпроцесс easyполучения theданных processпо toпротоколу getHTTP. dataКаждый throughмесяц HTTPмы protocol.добавляем Everyновые monthсервисы we are adding new services throughчерез REST API. ItВажно, isчтобы importantВы youподписались followна usнас, toчтобы getполучать theпоследние lastобновления updatesи andпоследнюю theверсию last version of ourнашего API.

APIИнформация Information:об API:

CurrentТекущая Version:версия: v2.7

APIСсылка URL:на API: https://www.rackcorp.net/api/v2.7

BeforeПрежде youчем startВы toначнете createсоздавать anyкакой-либо codeкод orили connectподключаться throughчерез ourнаш API, youВам needнеобходимо toсоздать createдоступ anк APIAPI-ключу, Keyкоторый accessпозволит whichВашему allowкоду yourотправлять codeHTTP-запросы makesна HTTPнашу requestсторону toи ourавторизоваться endдля andполучения beданных authorizedиз toВаших getслужб. dataДля fromэтого yourВам services.нужно Weсвязаться willс explainнами howпо youформе addобратной this API Key in your code.связи. 

URL toдля createсоздания yourвашего keyключа inна ourнашем portal:портале: https://portal.rackcorp.com/index.php?cmd=api

Them,Затем youвы clickнажимаете ADD,ДОБАВИТЬ, typeвводите aимя nameдля forэтого thisнового newключа Keyи and a secretсекрет ( password пароль) andи SAVE.СОХРАНЯЕТЕ.

APIСтандарт Standards:API:

AsКак describedописано inв ourнашей articleстатье «Архитектура и стандарты REST API Architecture and Standards», thereне isсуществует noопределенных definitiveстандартных standardшаблонов, patternsкоторым thatдолжны allследовать engineers/devsвсе shouldинженеры/разработчики followпри to createсоздании REST API forдля theirсвоего app.приложения. InВ Rackcorp weвсе keepпросто. thingsОсновная simple.структура The main structure for ourнашего REST API is theэто URLURL-адрес, whichкоторый followsсоответствует theприведенным pattersниже below:шаблонам:

version:Версия: v2.7

mainГлавный URL: https://api.rackcorp.net/api

objectДанные data:объекта: customersклиенты | dcsDCS | networkсеть | apiAPI | dnsднс | devicesустройства

URLФормат format:URL: https://api.rackcorp.net/api/+version+/object data/+ID item

ExampleПример запроса GET allдля data:всех данных: https://api.rackcorp.net/api/v2.7/devices

ExampleПример запроса GET oneна Item:получение одного типа данных: https://api.rackcorp.net/api/v2.7/devices/1 

BellowНиже weвы addвидите someкод, codeкоторый whichВы youможете canиспользовать useв asкачестве exampleпримера toдля implementреализации yourВашего firstпервого подключения REST API connectionк toнашей our platform:платформе:

We strongly recommend only make REST API calls from your back-end code, be careful when use javascript code to call a REST API url. Never add your credentials in front-end code.

InМы thisнастоятельно simpleрекомендуем introductionвыполнять to codeвызовы REST API,API weтолько willиз useбэкэнда. Будьте осторожны при использовании кода javascript для вызова URL-адреса REST API. Никогда не добавляйте свои учетные данные во фронтэнд.

В этом простом введении в код REST API мы будем использовать языки программирования PHP andи PYTHON programming language.PYTHON.

PHP:

InВ theпримере sampleниже bellowмы weдобавляем add a dummyфиктивные API KEY andи API SECRET. Please,Пожалуйста, changeизмените thisэти dataданные accordinglyв withсоответствии yourс dataвашими данными

<?php

$version = 'v2.7';
$url = "https://api.rackcorp.net/api/". $version . "/customers";
$query = [];
$query['APIUUID'] = "";
$query['APISECRET'] = "";


$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($query));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($curl);

if($response) {
return json_decode($response, true);
}

return false;

PYTHON:

import json
import logging
import sys
import os
import glob
import re
from bson import json_util
from flask.helpers import make_response
from flask import request, jsonify

version = 'v2.7'
apiurl = 'https://api.rackcorp.net/api'+version+'/'+customers
setheaders = {
'content-type': 'application/json',
'User-Agent': 'Mozilla',
'jwt': jwt
}

data = {}
data['APIUUID'] = ''
data['APISECRET'] = ''

apiresp = None
apiresp = requests.get(self.apiurl+'/sessions/logout',data=self.rcdata,headers=setheaders)

As you can see in both example, the logic to connect through our API is quite simple. You just need the URL, the APIUUID and APISECRET been part of the object or array, and the variables which you pass through the API to build the query in out back-end.

Hope you get the basic understading how to use our REST API functionalities. Bellow you can find links with more advanced docs to use our API. Also, the complete list of REST API services (urls) explaining the query data and the expected response data for each situation.

Как Вы можете видеть в обоих примерах, логика подключения через наш API довольно проста. Вам просто нужно, чтобы URL-адрес, APIUUID и APISECRET были частью объекта или массива, а также переменные, которые Вы передаете через API для построения запроса в бэкэнде.

Надеюсь, Вы получили общее представление о том, как использовать наши функции REST API. Ниже Вы можете найти ссылки с более продвинутой документацией по использованию нашего API. Кроме того, полный список служб REST API (URL-адреса) с объяснением данных запроса и ожидаемых данных ответа для каждой ситуации.

REST API GibHub Docs:

Link: https://github.com/RackCorpCloud/rackcorp-api/wiki/RACKCORP-REST-API

Swagger RACKCORP REST API:

Swagger is aэто suiteнабор ofинструментов разработчика API developer tools fromот SmartBear Software andи aбывшая formerспецификация, specificationна uponкоторой whichоснована theспецификация OpenAPIOpenAPI. SpecificationЭта isплатформа based.отображает Thisв platformпростом displaysмакете inвсе simple layout allфункции REST APIAPI, functionsпозволяя allowingВам youвизуализировать visualizeто, whatчто yourВаш codeкод shouldдолжен expectожидать asв responseкачестве forответа eachна callкаждый вызов (GET, PUT, PUSH, DELETE).

YouЧерез canэту seeплатформу throughВы thisможете platformувидеть theсхему schemaдля forкаждой eachфункции, functionа andтакже also,ожидаемый theответ expectedв JSONформате formatJSON. response.Вы Youтакже canможете alsoсделать makeтесты testsдля toподключения connectчерез throughсвои yourсервисы servicesна inнаших ourсерверах, serversиспользуя usingсвои your realнастоящие APIUUID andи APISECRET.

ItЭто isхорошо goodдля forтестирования testingпромежуточных stagingсред environmentsи andубедиться, makeчто sureВаш thatвызов yourполучит callименно willто, receiveчто exactlyожидает whatВаш your code expects.код.

DontНе forgetзабудьте to select which url pathвыбрать API youпути wannaURL, useкоторый forВы tests.хотите Inиспользовать для тестов. На странице Swagger pageВы youможете canувидеть seeтри inварианта. ServerПервый three options.это TheURL-адрес, firstкоторый oneне isпредназначен aдля swaggerтестов. mockingВторой URL which is not for tests. The second one is the RACKCORP Production REST API Core (pleaseпожалуйста, beбудьте carefulосторожны toпри useиспользовании thisэтого URL URL-адреса). TheТретий third one is the RACKCORP Staging REST APIAPI, whichкоторый shouldследует beиспользовать useдля for tests.тестов.

Link: https://app.swaggerhub.com/apis/RackCorp/Rackcorp-REST-API/2.7