Odnawianie usług przy użyciu API OVHcloud

Bazy wiedzy

Odnawianie usług przy użyciu API OVHcloud


Icons/System/eye-open Created with Sketch. 678 wyśw. 05.05.2020 Zarządzanie rozliczeniami, płatnościami i usługami
Informacje o tłumaczeniu

Tłumaczenie zostało wygenerowane automatycznie przez system naszego partnera SYSTRAN. W niektórych przypadkach mogą wystąpić nieprecyzyjne sformułowania, na przykład w tłumaczeniu nazw przycisków lub szczegółów technicznych. W przypadku jakichkolwiek wątpliwości zalecamy zapoznanie się z angielską/francuską wersją przewodnika. Jeśli chcesz przyczynić się do ulepszenia tłumaczenia, kliknij przycisk “Zgłoś propozycję modyfikacji” na tej stronie.

Wprowadzenie

Domyślnie, OVHcloud oferuje automatyczne odnawianie usług. Istnieje jednak możliwość odnowienia usług przy użyciu API.

Niniejszy przewodnik opisuje, w jaki sposób przeprowadzić operację odnowienia usługi.

Wymagania początkowe

W praktyce

Aby użyć API do odnowienia usługi, będziesz potrzebował serviceId. Informacja ta jest dostępna poprzez API, za pomocą serviceInfos:

Możesz również skorzystać z API, aby uzyskać listę Twoich usług:

Uzyskanie listy dostępnych strategii odnawiania

Aby uzyskać listę dostępnych strategii odnawiania usług, skorzystaj z następującego polecenia:

Lista RenewDescription pojawi się z dwoma kluczami:

  • renewPeriod: czas, na jaki ma być odnowiona usługa (w formacie zgodnym z ISO 8601);
  • strategie: lista RenewStrategy strategia odnawiania.

RenewStrategy określa cenę, a także listę usług do odnowienia. Odnowienie samej domeny to jedna strategia, odnowienie domeny i hostingu to inna strategia. Strategie obejmują listę wszystkich możliwych kombinacji danej usługi: usługi powiązane, opcje...

Przykład pobrania informacji o odnowieniu w języku Python:

import ovh
client = ovh.Client()

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

Przykład wyniku, który możesz przeanalizować (w danym okresie czasu):

[
  {
    "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
           }
         ]
       }
     ]
   }
 ]

Aby dowiedzieć się więcej o formacie wyniku, skorzystaj z API renew:

Tworzenie zamówienia dotyczącego odnowienia usługi

Aby utworzyć zamówienie dotyczące odnowienia usługi, określ, którą usługę lub usługi chcesz odnowić oraz podaj okres, na jaki ma być odnowiona.

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
    ]
)

Otrzymasz następującą odpowiedź:

{
  "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
}

Następnie zamówienie można opłacić za pośrednictwem API order:

Przykładowa operacja: odnowienie VPS

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))
    def 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()

Sprawdź również

Dołącz do grona naszych użytkowników.

Powiązane artykuły