[Development Guides Home](/guides) >> [Quickstart Development Guide](/guides/quickstart-development-guide) # Tutorial - Replace a cPanel API 1 Function With a UAPI Function ## Introduction This tutorial shows how to replace a deprecated cPanel API 1 function with a [UAPI function](/cpanel/introduction) in a cPanel integration or [plugin](/guides/guide-to-cpanel-plugins). The system sends you a notification if any of your cPanel plugins or custom cPanel integrations use cPanel API 1 functions. To retrieve a list of cPanel API 1 functions that run on your system, call the following WHM API 1 functions. * [`get_api_calls`](/openapi/whm/operation/get_api_calls/) * [`get_api_pages`](/openapi/whm/operation/get_api_pages/) For more information, read our [Guide to Replacing cPanel API 1 Functions with UAPI Equivalents](/guides/guide-to-replacing-cpanel-api-1-functions-with-uapi-equivalents) documentation. ## Replace a cPanel API 1 function in LiveAPI Perl The following examples replace the cPanel API 1 `SetLang::setlang` function with the UAPI `Locale::set_locale` function. ### Open the file Open the `.live.pl` file that contains the cPanel API 1 function. The code will resemble the following example: ``` #!/usr/bin/perl # Instantiate the Cpanel::LiveAPI object. use Cpanel::LiveAPI (); print "Content-type: text/html\r\n\r\n"; # Connect to cPanel - only do this once. my $cpliveapi = Cpanel::LiveAPI->new(); print $cpliveapi->header("Set the server's locale to English."); # Call the function my $response = $cpliveapi->api1('SetLang', 'setlang', ['en'] ); print $cpliveapi->footer(); $cpliveapi->end(); ``` ### Replace the cPanel API 1 function with its UAPI function equivalent Locate the line that contains the cPanel API 1 function. This will resemble the following example: ``` # Call the function my $response = $cpliveapi->api1('SetLang', 'setlang', ['en'] ); ``` Replace that line with the appropriate UAPI function. The example below uses LiveAPI's `uapi()` method to call UAPI's [`Locale::set_locale`](/openapi/cpanel/operation/set_locale/) function. ``` # Call the function my $response = $cpliveapi->uapi( 'Locale', 'set_locale', { 'locale' => 'en', } ); ``` ### Set the function's return This example directs the system to return the following: * The `{'cpanelresult'}{'result'}` node of the last response that the system returned. The format of this data varies based on the last call that the system performed. * An error message if the system encounters an error when it calls the function. * A success message if the function succeeds. ``` my $result = $response->{'cpanelresult'}{'result'}; if (!$result->{status}) { # There is an error print "The API request failed due to the following error(s):
\n"; print join("
\n", $result->{'errors'}); } else { print 'Success'; } ``` ## Replace a cPanel API 1 function in LiveAPI PHP ### Open the file Open the `.live.php` file that contains the cPanel API 1 function. The code will resemble the following example: ``` header("Set the server's locale to English."); //Call the function. $result = $cpanel->api1('SetLang', 'setlang', ['en'] ); echo $cpanel->footer(); ?> ``` ### Replace the cPanel API 1 function with its UAPI function equivalent Locate the line that contains the cPanel API 1 function. This will resemble the following example: ``` //Call the function. $result = $cpanel->api1('SetLang', 'setlang', ['en'] ); ``` Replace that line with the appropriate UAPI function. The example below uses LiveAPI's `uapi()` method to call UAPI's [`Locale::set_locale`](/openapi/cpanel/operation/set_locale/) function. ``` //Call the function. $response = $cpanel->uapi( 'Locale', 'set_locale', array( 'locale' => 'en', ) ); ``` ### Set the function's return The following example directs the system to return of the following: * The `['cpanelresult']['result']` node of the last response that the system returned. The format of this data varies based on the last call that the system performed. * An error message if the system encounters an error when it calls the function. * A success message if the function succeeds. ``` $result = $response['cpanelresult']['result']; if ( !$result['status'] ) { // There is an error. echo "The API request failed due to the following error(s):,br>\n"; echo join("
\n", $result['errors']); } else { echo 'Success'; } ``` ## Completed code When you finish this tutorial, your code will resemble the following examples: ### LiveAPI Perl ``` #!/usr/bin/perl # Instantiate the Cpanel::LiveAPI object. use Cpanel::LiveAPI (); print "Content-type: text/html\r\n\r\n"; # Connect to cPanel - only do this once. my $cpliveapi = Cpanel::LiveAPI->new(); print $cpliveapi->header("Set the server's locale to English."); #Call the function my $response = $cpliveapi->uapi( 'Locale', 'set_locale', { 'locale' => 'en', } ); my $result = $response->{'cpanelresult'}{'result'}; if (!$result->{status}) { # There is an error print "The API request failed due to the following error(s):
\n"; print join("
\n", $result->{'errors'}); } else { print 'Success'; } print $cpliveapi->footer(); $cpliveapi->end(); ``` ### LiveAPI PHP ``` header("Set the server locale to English."); //Call the function $response = $cpanel->uapi( 'Locale', 'set_locale', array( 'locale' => 'en', ) ); $result = $response['cpanelresult']['result']; if ( !$result['status'] ) { // There is an error echo "The API request failed due to the following error(s):
\n"; echo join("
\n", $result['errors']); } else { echo 'Success'; } ?> ```