UA-51298262-10
Área de clientesFacturación

Cómo renovar un servicio a través de la API de OVH

By septiembre 20, 2019octubre 13th, 2020No Comments

En este artículo de Ayuda Hosting, les mostraremos cómo renovar un servicio a través de la API de OVH. La empresa internacional de hosting OVH ofrece de manera implícita la renovación automática de sus soluciones para los usuarios. Aunque también es posible renovar un servicio utilizando la Interfaz de Programación de Aplicaciones (API).

Cómo renovar un servicio a través de la API de OVH

Es posible que también quieras conocer cómo modificar los servidores DNS de un dominio en OVH.

Rara renovar un servicio empleando la API se deben cumplir con los siguientes requisitos:

Procedimiento

Para comenzar a usar la función de renovación de la API, debes contar con el serviceld. Esto se puede obtener directamente en la función serviceInfos.

También es posible observar la lista de los servicios por medio de la función services.

GET /vps/{serviceName}/serviceInfos

Al igual que podemos ver la lista de los servicios con la función service:

GET /service

Consulta las diferentes estrategias de renovación

Si deseas consultar las diferentes estrategias para la renovación que se encuentran disponibles para un servicio en específico, se debe utilizar la siguiente función:

GET /service/{serviceId}/renew

En breve, estará apareciendo una lista RenewDescription que cuenta con dos elementos:

  • strategies: Esta es una lista con posibles estrategias para la renovación.
  • renewPeriod: Esta es la duración que corresponde a la renovación.

En la estrategia de renovación se observa con detalles el precio y la lista de todos los servicios que pueden ser renovados. Por ejemplo, si quieres renovar un dominio, encontrarás que la estrategia para llevarlo a cabo no es la misma que al hacerlo con un alojamiento. Con las estrategias tendrás todas las posibilidades de combinaciones para que obtengas alguna solución, esto cuenta para los servicios y cualquier tipo de opciones, entre otras cosas.

Ahora, estaremos viendo algunos ejemplos para hacer una consulta a la información de renovación por medio de Python.

import ovh
client = ovh.Client()

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

En este ejemplo se puede observar el tipo de respuesta que se puede conseguir para un determinado servicio en una cantidad de tiempo determinado:

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

Si quieres obtener mayor información sobre el formato que corresponde a la respuesta, puedes dirigirte a la función renew de la API.

GET /service/{serviceId}/renew

Generar una nueva orden para un pedido de renovación

Si quieres crear una nueva orden para un pedido de renovación, tienes que especificar el tipo de servicio que quieres renovar y la cantidad de tiempo por el que lo deseas hacer:

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

Estaremos obteniendo una respuesta como la que vemos a continuación:

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

Ahora, podemos abonar la orden por medio de la función order que tiene la API:

POST /me/order/{orderId}/payWithRegisteredPaymentMean

En el caso de renovar un 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))
    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()

También puede que te interese cómo generar una zona DNS para un dominio en OVH.

Si quieres obtener más información al respecto, puedes contactar a la comunidad de usuarios de OVH.

Esperamos que este artículo sobre cómo renovar un servicio a través de la API de OVH, les haya resultado útil. Más información sobre este y otros temas en Ayuda Hosting.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies