Developerdesk

Bouw je eigen bedieningsoppervlak

Een voorbereid API-contract voor een toekomstige control plane: resources, scopes, limieten en gebeurtenisafhandeling.

De details verkennen

Content herzien · Nederlands

In één oogopslag
Contractstatus
Voorbereid, niet geserveerd
Limiet lezen
60 / minuut

Voorgestelde bursttoelage ×2.

Schrijf limiet
20 / minuut

Voorgestelde bursttoelage ×2.

Versie-uitfasering
6 maanden opzegtermijn

Voorgesteld afschaffingsvenster.

HET NUTTIGE DEEL

Houd deze in het zicht.

  • Er is geen live API origin of werkende SDK achter deze pagina.
  • Scheid resource-leesbewerkingen van wijzigingen met scopes volgens het principe van minimale bevoegdheden.
  • Gebruik idempotente verzoeken en ondertekende gebeurtenissen voordat u facturering of levering automatiseert.
01

Begin met een klein, stabiel resourcemodel

Het voorgestelde versie-één-contract scheidt catalogusbronnen van accountbronnen. Locaties en plannen ondersteunen configuratie. Diensten vertegenwoordigen geaccepteerde configuraties en fulfilmentstatus. Facturering bevat facturen en betalingsstatus. Tickets ondersteunen een traceerbaar supportgesprek. De website implementeert zijn eigen formulieren en werkruimte; de onderstaande voorbeelden zijn een ontwerpcontract, geen routes naar een openbare API.

02

Inloggegevens horen bij een scope

Het voorbereide authenticatiemodel gebruikt een Bearer-token in de Authorization-header. Alleen-lezen catalogus- of servicescopes zouden geen service moeten kunnen aanmaken, herbouwen of annuleren. Schrijfscopes vereisen een afzonderlijke beslissing en intrekkingspad. Bewaar inloggegevens in een private serveromgeving en sluit nooit een geheim token in een pagina of browserbundel in.

Voorbereide request-vorm · geen live hostBeoordeel voor uw omgeving
GET /v1/services
Authorization: Bearer <private-token>
Accept: application/json

# Proposed scope: services:read
03

Vijf illustratieve bewerkingen

Gebruik een stabiele identificatie voor elke resource en een verzoek-ID voor ondersteuning. Muterende aanroepen moeten een idempotentiesleutel hebben, zodat een nieuwe poging kan worden verzoend in plaats van een nieuwe bestelling te creëren.

Voorbereide create-payloadBeoordeel voor uw omgeving
POST /v1/services
Idempotency-Key: <one-key-per-request>

{
  "plan_id": "umbra-1",
  "location": "iceland",
  "billing_cycle": "monthly",
  "image": "Ubuntu"
}
Voorbereide operaties, geen actieve endpoints
WerkingIllustratief verzoekVereiste scopeResultaat
Diensten vermeldenGET /v1/servicesservices:readItems en cursor
Locaties lezenGET /v1/locationscatalogue:readRegionale metadata
Abonnementen lezenGET /v1/planscatalogue:readCapaciteit, cycli en compatibiliteit
Een serviceverzoek aanmakenPOST /v1/servicesservices:writeGeaccepteerd verzoek en huidige status
Een factuur lezenGET /v1/billing/invoices/{id}billing:readTotaal en betalingsstatus
04

Limieten en een nuttige foutomhulling

De voorgestelde limieten op accountniveau zijn 60 reads per minuut en 20 writes per minuut, met een bursttoeslag van het dubbele van die waarden. Een afgewezen verzoek retourneert HTTP 429 met Retry-After; automatisering moet wachten zoals geïnstrueerd en backoff toepassen. Fouten moeten een stabiele code, een voor mensen leesbare melding en een request_id bevatten, met gevoelige details verwijderd.

Voorbereid foutvoorbeeldBeoordeel voor uw omgeving
{
  "error": {
    "code": "unsupported_location",
    "message": "This plan is not listed in that region.",
    "request_id": "req_example"
  }
}
05

Gebeurtenissen, handtekeningen en veilige herhalingen

Het voorbereide webhookmodel dekt factuurbetaling, gereedheid van de dienst, opschorting en ticketupdates. Levering moet een event-ID en tijdstempel hebben, met een HMAC-SHA256-signatuur die wordt gecontroleerd over de oorspronkelijke request-body met een private signing secret. Weiger verouderde of ongeldige signaturen, dedupliceer event-ID's en bevestig pas nadat de gebeurtenis duurzaam is geaccepteerd. Consumers moeten levering buiten volgorde en herhaalde levering tolereren.

06

Versioneer het contract voordat u het wijzigt

Het voorgestelde API-pad bevat het hoofdversienummer. Additieve wijzigingen moeten bestaande clients behouden; incompatibele wijzigingen vereisen een nieuwe versie en een uitfaseringsaankondiging van zes maanden voor de oude. Beschikbaarheid, SDK's en een productie-API-host mogen pas worden gepubliceerd na integratie- en beveiligingsbeoordeling.

07

De geïmplementeerde betalingsgrens

De accountapplicatie heeft betaalverzoeken met vast adres en aflopende server-USD-offertes. Transactieobservatie is een vertrouwde server-only integratie; er is geen openbaar bevestigingseindpunt, aangesloten blockchainmonitor of provisioning-worker. Browserpolling leest de bestaande betaalstatus van de ingelogde klant en kan geen transactie attesteren. Het illustratieve openbare API en webhookcontract hierboven blijven toekomstig ontwerpwerk.

  • Bescherm de tarief- en observatielogica op de server.
  • Koppel hergebruikte ontvangstbestemmingen aan een geverifieerde transactie en een expliciete orderreferentie.
  • Houd betaald en ingericht gescheiden; een geverifieerde transactie mag geen fictieve hardware creëren.
VÓÓR DE VOLGENDE STAP

Een laatste praktische controle.

  • Scheid alleen-lezen en schrijftokens.
  • Bewaar een request-ID, zonder secrets of volledige inloggegevens te loggen.
  • Behandel een netwerktime-out als een onzeker resultaat; stem af voordat u het opnieuw probeert.
  • Verifieer gebeurtenishandtekeningen voordat u een bestelling bijwerkt.
EEN BEETJE MEER CONTEXT

Vragen, beantwoord.

Kan ik deze voorbeelden vandaag tegen ombrahost.com gebruiken?

Nee. Ze beschrijven een voorbereid contract. Dit project heeft geen live API-origin, tokenuitgifteservice of webhookverzender.

Bevat de website een werkende Ombra CLI of SDK?

Er wordt geen CLI of SDK geclaimd. De interface en accountworkflows zijn afzonderlijk geïmplementeerd van dit toekomstige API-ontwerp.