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).
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:
Índice
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:
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.