From 324d42ea3c2068eb4feaf8eba57cbb80b56700ef Mon Sep 17 00:00:00 2001 From: Vincent Casse Date: Wed, 13 Jan 2016 12:56:05 +0100 Subject: [PATCH] Add example to add http redirection Signed-off-by: Vincent Casse --- .../api_create_redirection.md | 125 ++++++++++++++++++ examples/create-Redirection/apiv6.php | 65 +++++++++ .../api_get_hosting_capacities.md | 8 +- 3 files changed, 194 insertions(+), 4 deletions(-) create mode 100644 examples/create-Redirection/api_create_redirection.md create mode 100644 examples/create-Redirection/apiv6.php diff --git a/examples/create-Redirection/api_create_redirection.md b/examples/create-Redirection/api_create_redirection.md new file mode 100644 index 0000000..6ce1066 --- /dev/null +++ b/examples/create-Redirection/api_create_redirection.md @@ -0,0 +1,125 @@ +How to get web hosting capabilities using php wrapper? +---------------------------------------------------- + +This documentation will help you to create an HTTP redirection from a subdomain to another domain. Following script include DNS record check and delete record if their will conflict with your redirection! + +## Requirements + +- Having PHP 5.2+ +- Having a dns record at OVH + +## Download PHP wrapper + +- Download the latest release **with dependencies** on github: https://github.com/ovh/php-ovh/releases + +```bash +# When this article was written, latest version is 2.0.0 +wget https://github.com/ovh/php-ovh/releases/download/v2.0.0/php-ovh-2.0.0-with-dependencies.tar.gz +``` + +- Extract it into a folder + +```bash +tar xzvf php-ovh-2.0.0-with-dependencies.tar.gz +``` + +- Create a new token +You can create a new token using these url: [https://api.ovh.com/createToken/?GET=/domain/zone/*&POST=/domain/zone/*&DELETE=/domain/zone/*](https://api.ovh.com/createToken/?GET=/domain/zone/*&POST=/domain/zone/*&DELETE=/domain/zone/*). Keep application key, application secret and consumer key to complete the script. + +Be warn, this token is only validated for this script and to use **/domain/zone/\*** APIs. +If you need a more generic token, you had to change right field. + +- Create php file to create your new HTTP redirection. You can download [this file](https://github.com/ovh/php-ovh/blob/master/examples/create-Redirection/apiv6.php) + +```php +get('/domain/zone/' . $domain . '/record'); + + foreach ($recordIds as $recordId) { + $record = $conn->get('/domain/zone/' . $domain . '/record/' . $recordId); + + // If record include A, AAAA or CNAME for subdomain asked, we delete it + if ( strcmp( $record['subDomain'], $subDomain) === 0 && + in_array( $record['fieldType'], array( 'A', 'AAAA', 'CNAME' ) ) ) { + + echo "We will delete field " . $record['fieldType'] . " for " . $record['zone'] . PHP_EOL; + $conn->delete('/domain/zone/' . $domain . '/record/' . $recordId); + } + } + + // We apply zone changes + $conn->post('/domain/zone/' . $domain . '/refresh'); + + // Now, we are ready to create our new redirection + $redirection = $conn->post('/domain/zone/' . $domain . '/redirection', array( + 'subDomain' => $subDomain, + 'target' => $targetDomain, + 'type' => $type, + 'title' => $title, + 'description' => $description, + 'keywords' => $keywords, + )); + + print_r( $redirection ); + +} catch ( Exception $ex ) { + print_r( $ex->getMessage() ); +} +?> +``` + +## Run php file + +```bash +php apiv6.php +``` + +For instance, with example values in script, the answer is +``` +( + [zone] => yourdomain.ovh + [description] => + [keywords] => + [target] => my_target.ovh + [id] => 1342424242 + [subDomain] => www + [type] => visible + [title] => +) +``` + +## What's more? + +You can discover all domain possibilities by using API console to show all available endpoints: [https://api.ovh.com/console](https://api.ovh.com/console) + diff --git a/examples/create-Redirection/apiv6.php b/examples/create-Redirection/apiv6.php new file mode 100644 index 0000000..c7c66eb --- /dev/null +++ b/examples/create-Redirection/apiv6.php @@ -0,0 +1,65 @@ +get('/domain/zone/' . $domain . '/record'); + + foreach ($recordIds as $recordId) { + $record = $conn->get('/domain/zone/' . $domain . '/record/' . $recordId); + + // If record include A, AAAA or CNAME for subdomain asked, we delete it + if ( strcmp( $record['subDomain'], $subDomain) === 0 && + in_array( $record['fieldType'], array( 'A', 'AAAA', 'CNAME' ) ) ) { + + echo "We will delete field " . $record['fieldType'] . " for " . $record['zone'] . PHP_EOL; + $conn->delete('/domain/zone/' . $domain . '/record/' . $recordId); + } + } + + // We apply zone changes + $conn->post('/domain/zone/' . $domain . '/refresh'); + + // Now, we are ready to create our new redirection + $redirection = $conn->post('/domain/zone/' . $domain . '/redirection', array( + 'subDomain' => $subDomain, + 'target' => $targetDomain, + 'type' => $type, + 'title' => $title, + 'description' => $description, + 'keywords' => $keywords, + )); + + print_r( $redirection ); + +} catch ( Exception $ex ) { + print_r( $ex->getMessage() ); +} +?> diff --git a/examples/hosting-getCapabilities/api_get_hosting_capacities.md b/examples/hosting-getCapabilities/api_get_hosting_capacities.md index 3026cc1..9142d16 100644 --- a/examples/hosting-getCapabilities/api_get_hosting_capacities.md +++ b/examples/hosting-getCapabilities/api_get_hosting_capacities.md @@ -13,14 +13,14 @@ This documentation will help you to get informations about your web hosting offe - Download the latest release **with dependencies** on github: https://github.com/ovh/php-ovh/releases ```bash -# When this article was written, latest version is 1.1.2 -wget https://github.com/ovh/php-ovh/releases/download/v1.1.2/php-ovh-1.1.2-with-dependencies.tar.gz +# When this article was written, latest version is 2.0.0 +wget https://github.com/ovh/php-ovh/releases/download/v2.0.0/php-ovh-2.0.0-with-dependencies.tar.gz ``` - Extract it into a folder ```bash -tar xzvf php-ovh-1.1.2-with-dependencies.tar.gz +tar xzvf php-ovh-2.0.0-with-dependencies.tar.gz ``` - Create a new token @@ -29,7 +29,7 @@ You can create a new token using these url: [https://api.ovh.com/createToken/?GE Be warn, this token is only validated for this script and for hosting called **my_domain**. Please replace **my_domain** by your web hosting reference! If you need a more generic token, you had to change right field. -- Create php file to get capabilities in the folder +- Create php file to get capabilities in the folder. You can download [this file](https://github.com/ovh/php-ovh/blob/master/examples/hosting-getCapabilities/apiv6.php) ```php