Uw diensten verlengen via de OVH API

Ontdek hoe u uw diensten middels OVH‘s API kunt vernieuwen

Regrettably, our guides are no longer maintained in your chosen language, please visit our documentation home page for up-to-date help with our services: https://docs.ovh.com/gb/en/

Laatste update 25-05-2018

Introductie

OVH biedt uiteraard de mogelijkheid om uw oplossing automatisch te verlengen. U kunt dit echter ook handmatig via de OVH API doen.

Deze handleiding legt uit hoe u uw diensten verlengt via OVH’s API.

Vereisten

  • U moet ingelogd zijn op de OVH API.
  • U moet uw inloggegevens voor de OVH API hebben aangemaakt.

Instructies

Om de verlengings-API te gebruiken, hebt u uw serviceId nodig. Deze informatie kan worden verkregen via de API serviceInfos, bijvoorbeeld:

U kunt ook de volgende API gebruiken om uw diensten te vermelden:

Geef de verschillende verlengingsstrategieën weer

Als u een lijst wilt maken met de verschillende verlengingsstrategieën die beschikbaar zijn voor een bepaalde dienst, dan is dit de API die moet worden gebruikt:

Er verschijnt een RenewDescription-lijst met twee keys:

  • renewPeriod: een verlengingsperiode (in ISO 8601-indeling);
  • strategies: een lijst met RenewStrategy (verlengingsstrategieën).

Een RenewStrategy bevat een prijs en een lijst met te verlengen diensten. Verlenging van een domeinnaam is één strategie; het verlengen van een domeinnaam en het bijbehorende hostingplan is een andere. De strategieën vermelden daarom alle mogelijke combinaties voor een bepaalde dienst: bijbehorende services, opties, enz.

Een voorbeeld in Python voor het herstellen van verlengingsinformatie:

import ovh
client = ovh.Client()

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

Een voorbeeld van een resultaat dat we kunnen analyseren, waarbij het voorbeeld over een bepaalde periode wordt overgenomen:

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

Raadpleeg de renew-API voor meer informatie over de indeling van het resultaat:

Een nieuwe bestelling aanmaken voor verlengingen

Om een nieuwe bestelling voor een verlenging te plaatsen, moet u aangeven welke dienst(en) moet(en) worden verlengd en voor welke periode:

import ovh
client = ovh.Client()

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

Dit zal de volgende respons opleveren:

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

U kunt nu deze bestelling via de order-API afhandelen:

Bijv. een VPS verlengen

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

Verder

Ga in gesprek met andere communityleden op https://community.ovh.com/en/.

OVHcloud Community

Access your community space. Ask questions, search for information, post content, and interact with other OVHcloud Community members.

Discuss with the OVHcloud community

In overeenstemming met de 2006/112/EG-richtlijnen, gewijzigd op 1 januari 2015, kunnen prijzen incl. btw variëren, afhankelijk van het land waar de klant verblijft
(de weergegeven prijzen zijn standaard inclusief btw).