Invapi API FAQ¶
In dit artikel
Algoritme voor directe serverbestelling met eq/order_instance¶
-
Maak een client API key aan;
-
Kies de serverlocatie: NL/US/FI/DE/IS/TR/UK/ES/IT/PL/CH (Nederland, VS, Finland, Duitsland, IJsland, Turkije, VK, Spanje, Italië, Polen, Zwitserland);
-
Gebruik de presets/list aanvraag om de preset ID voor implementatie te bepalen.
Deze ID zal later worden gebruikt als
instance_idofpreset. Als"id": 108, dan zijn de waarden bijvoorbeeldinstance_id=108enpreset=108; -
Gebruik de os/list aanvraag om de
os_idofos_namete bepalen van het besturingssysteem dat u wilt installeren, gebruikmakend van de instance ID uit stap 3 of de bijbehorende alias. Voor Ubuntu 22.04 wordt deze waarde bijvoorbeeld in de respons geretourneerd als"id": 187en"alias": ubuntu. U kunt OS-ID's en informatie over voor welke servertypen ze beschikbaar zijn ook vinden in de lijst van momenteel ondersteunde OS'en;Opmerking
Als u geen OS wilt installeren tijdens de implementatie, specificeer dan later
own_os=1. -
Gebruik de software/list aanvraag om beschikbare software voor deze instance te identificeren en de bijbehorende ID op te halen (de
soft_idparameter). Voor het WordPress CMS is de waarde in de output van de aanvraag bijvoorbeeld"id": 20. U kunt een lijst vinden van installeerbare software en de installatieparameters (ID, servertype, vereiste RAM en schijfruimte, aantal CPU-cores, etc.) in de lijst met ondersteunde software;Opmerking
U kunt het vooraf installeren van software tijdens de implementatie overslaan als u dit later handmatig wilt doen.
-
Gebruik de traffic_plans/list aanvraag om de netwerkverkeerplan ID voor uw server op te halen. Voor het
3Tb traffic (1Gbps) VMplan zal de aanroep"id": 25retourneren; -
Verkrijg een sessietoken
$HOSTKEY_TOKENvia de auth/login aanvraag; -
Bestel de server door de gegevens die in stappen 2-7 zijn verkregen in te voegen in de eq/order_instance aanvraag. U moet uw
rootwachtwoord opgeven, de factuurperiode van de serverdeploy_period(maandelijks, per kwartaal, 6 maanden of jaarlijks), en of u een e-mailmelding wilt ontvangen bij implementatie viadeploy_notify(wij raden aan om dit standaard optruete zetten).
Optionele aanvullende parameters kunnen worden opgegeven zoals beschreven in de eq/order_instance aanroep.
Hieronder staat een voorbeeld van het bestellen van een server met WordPress (id=20) op Debian 11 (id=108):
Voorbeeld POST-aanvraag voor directe serverbestelling, cURL
curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=order_instance" \
--data "token=eeee51003b1d81d2eca65660735c0531" \
--data "deploy_period=monthly" \
--data "deploy_notify=true" \
--data "preset=108" \
--data "location_name=NL" \
--data "os_id=180" \
--data "soft_id=20" \
--data "traffic_plan=25" \
--data "root_pass=mdLus8Ng" \
Voorbeeld van een positieve respons
Invapi zal de overeenkomstige server in de opgegeven locatie selecteren/maken en beginnen met de implementatie. Voordat er een installatie plaatsvindt, wordt gecontroleerd of er voldoende saldo is op het credit-tegoed (indien automatische betalingen van het credit-tegoed zijn ingeschakeld) of dat er een factuur wordt uitgegeven. Als de installatie succesvol is, wordt de nieuwe server gekoppeld aan het account van de klant. De klant krijgt per e-mail bericht indien gevraagd. Alle betaalde licenties worden toegevoegd als order add-ons.
Opmerking
Als er een incompatibiliteit is tussen het geselecteerde besturingssysteem en de software die wordt geïnstalleerd, ontvangt u een melding zoals deze:
{
"result": -1,
"error": "reinstall: extra software Odoo (#49) is not compatible with Ubuntu 22.04"
}
U moet dan een ander besturingssysteem selecteren (stel een andere os_id parameter in).
Let op
U kunt de server gaan gebruiken nadat u een e-mailmelding heeft ontvangen dat de implementatie is voltooid, of wanneer de status Active verschijnt in het gedeelte My Servers van het Invapi controlepaneel. Als er tijdens het proces van serverimplementatie iets misgaat, wordt er een melding naar uw e-mailadres gestuurd. De implementatie kan 20 minuten of langer duren.
U kunt de installatie en de status ervan volgen via asynchrone acties.
De installatie is succesvol voltooid wanneer u een bericht van een asynchrone actie ontvangt zoals deze:
Een server herinstalleren via eq/order_instance¶
Het herinstalleren van een server werkt vergelijkbaar met het bestellen ervan; het verschil is enkel dat u een extra id parameter meegeeft in de eq/order_instance aanvraag—de ID van de te herinstalleren server vanuit Invapi—en dat u de preset parameter niet gebruikt. Tijdens een herinstallatie kunt u kiezen voor een ander besturingssysteem en vooraf geïnstalleerde software, of een "schone" herinstallatie uitvoeren door de own_os=1 parameter in te stellen (in dat geval moet u os_id = 0 instellen).
Let op
De location_name parameter is verplicht, zelfs tijdens een herinstallatie. U moet de huidige serverlocatie opgeven (bijv. NL of US), anders kan de API een foutmelding over OS-compatibiliteit retourneren.
POST-aanvraag voor herinstallatie, cURL
curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=order_instance" \
--data "token=$HOSTKEY_TOKEN" \
--data "hostname={Hostname}" \
--data "os_id={OS ID}" \
--data "soft_id={Software ID}" \
--data "root_pass={root password}" \
--data "ssh_key={public SSH key}" \
--data "post_install_script=" \
--data "own_os=" \
--data "root_size=100" \
--data "location_name={Server location with specified ID}" \
--data "id={Invapi Server ID}" // Aanwezigheid van ID start het proces voor serverherinstallatie.
Let op
Als u tijdens een herinstallatie-aanvraag een melding ontvangt dat er geen server met die ID is gevonden, ververs dan de lijst met servers die aan uw sessietoken zijn gekoppeld door eq/update_servers aan te roepen.
Opmerking
Als er een incompatibiliteit is tussen het geselecteerde besturingssysteem en de software die wordt geïnstalleerd, ontvangt u een melding zoals deze:
{
"result": -1,
"error": "reinstall: extra software Odoo (#49) is not compatible with Ubuntu 22.04"
}
U moet dan een ander besturingssysteem selecteren (stel een andere os_id parameter in).
Let op
U kunt geen nieuwe herinstallatie starten als het vorige proces nog niet is voltooid. Anders ontvangt u de volgende waarschuwing:
Stel dat we bijvoorbeeld onze server uit het vorige voorbeeld willen herinstalleren naar Rocky Linux 9 (id=205) en Grafana (id=18). De aanvraag zou als volgt zijn:
Voorbeeld POST-aanvraag voor herinstallatie, cURL
Voorbeeld van een positieve respons
Let op
Bij het herinstalleren met deze methode wordt er geen e-mailmelding gestuurd na een succesvolle voltooiing! U moet het nieuwe root wachtwoord onthouden en opslaan (of het bestaande serverwachtwoord gebruiken). U kunt de inloginformatie voor de geïnstalleerde software vinden in de Marketplace documentatie of direct op de serverkaart binnen het Invapi controlepaneel.
Door gebruik te maken van deze asynchrone sleutel (het callback veld), kunnen we het herinstallatieproces volgen via asynchrone acties.