OVH Dokumentation

Ihre Dienste über die OVHcloud API verlängern

So verlängern Sie Ihre Dienste über die OVHcloud API

Letzte Aktualisierung am 05.05.2020

Einleitung

OVHcloud bietet Ihnen standardmäßig die Möglichkeit, Ihre Dienste automatisch zu verlängern. Sie können diese jedoch auch manuell über die APIs verlängern.

In dieser Anleitung erfahren Sie, wie Sie die Verlängerung via API durchführen.

Voraussetzungen

In der praktischen Anwendung

Um die Verlängerungs-API zu verwenden, benötigen Sie die serviceId. Diese Information finden Sie in der API serviceInfos, zum Beispiel:

Sie können Ihre Dienste auch über die Dienst-API auflisten:

Die verschiedenen Verlängerungsstrategien auflisten

Um alle verfügbaren Verlängerungsstrategien eines Dienstes aufzulisten, verwenden Sie folgende API:

Es erscheint eine RenewDescription-Liste mit zwei Schlüsseln:

  • renewPeriod: Verlängerungsdauer (Format ISO 8601)
  • strategies: RenewStrategy-Liste (Verlängerungsstrategie)

Eine RenewStrategy beschreibt einen Preis sowie eine Liste zu verlängernder Dienste. Eine Domain zu verlängern ist eine Strategie, eine Domain und das zugehörige Webhosting zu verlängern eine andere. Die Strategien zählen also alle möglichen Kombinationen eines bestimmten Dienstes auf: zugehörige Dienste, Optionen, ...

Hier ein Beispiel in Python, um die Verlängerungsinformationen anzuzeigen:

import ovh
client = ovh.Client()

client.get('/service/12345/renew',
includeOptions=False, // Include service s option(s) (type: boolean)
)

Und hier ein Beispiel eines Ergebnisses über einen bestimmten Zeitraum:

[
  {
    "renewPeriod": "P1Y",
    "strategies": [
      {
        "services": [
          12345
        ],
        "price": {
          "value": 1.99
           },
           "servicesDetails": [
             {
               "serviceType": "Domain .ovh",
               "serviceId": 12345
           }
         ]
       },
       {
         "services": [
           67890
           12345
           ],
           "price": {
           "value": 37.87
         },
         "servicesDetails": [
           {
             "serviceType": "Hosting Perso 2014",
             "serviceId": 67890
           },
           {
             "serviceType": "Domain .ovh",
             "serviceId": 12345
           }
         ]
       }
     ]
   }
 ]

Für mehr Informationen zum Ergebnisformat verwenden Sie bitte die renew-Api.

Einen neuen Bestellschein für die Verlängerung erstellen

Um einen neuen Bestellschein für die Verlängerung zu erstellen, müssen die zu verlängernden Dienste sowie eine bestimmte Dauer angegeben werden:

import ovh
client = ovh.Client()

client.get('/service/12345/renew',
    dryRun=False, // Indicates if renew order is generated (type: boolean)
    duration='P1Y',
    services=[
        67890
        12345
    ]
)

Woraufhin folgende Antwort ausgegeben wird:

{
  "expirationDate": "2018-05-16T15:49:06+02:00",
  "password": "aBcD",
  "date": "2018-05-15T15:49:06+02:00",
  "priceWithTax": {
    "value": 45.44,
    "text": "45.44 \u20ac",
    "currencyCode": "EUR"
  },
 "tax": {
    "value": 7.57
    "text": "7.57 \u20ac",
    "currencyCode": "EUR"
  },
  "pdfUrl": "https://www.ovh.com/cgi-bin/order/displayOrder.cgi?orderId=123456789&orderPassword=aBcD",
  "orderId": 123456789,
  "url": "https://www.ovh.com/cgi-bin/order/displayOrder.cgi?orderId=123456789&orderPassword=aBcD",
  "priceWithoutTax": {
    "value": 37.87,
    "text": "37.87 \u20ac",
    "currencyCode": "EUR"
  },
 "retractionDate": null
}

Daraufhin kann der Bestellschein über die API order beglichen werden:

Beispiel: einen VPS verlängern

import ovh
client = ovh.Client()

myVps = "vps112233.ovh.net"
expectedRenewPeriod = "P3M"

def checkStrategy(choices, serviceId):

    for choice in choices:
       if choice['renewPeriod'] != expectedRenewPeriod:
           continue
       for strategy in choice['strategies']:
           services = strategy['services']
           if len(services) == 1 and serviceId in services:
                return True

raise ValueError('Unable to find expected service/renewPeriod in choices')


def main():

    serviceId = client.get('/vps/{}/serviceInfos'.format(myVps))['serviceId']

    choices = client.get('/service/{}/renew'.format(serviceId))
    checkStrategy(choices, serviceId)

    order = client.post('/service/{}/renew'.format(serviceId),
        dryRun=False,
        duration=expectedRenewPeriod,
        services=[
           serviceId
       ]
   )

    client.post('/me/order/{}/payWithRegisteredPaymentMean'.format(order['orderId']),
        paymentMean='paypal',
        paymentMeanId=1234
    )
:if __name__ == '__main__':

    main()

Weiterführende Informationen

Für den Austausch mit unserer User Community gehen Sie auf https://community.ovh.com/en/.


Diese Anleitungen könnten Sie auch interessieren...