SoporteCategory: QuestionsEs posible usar curl o otra api para consumir un servicio Rest
Aldo Navarrete asked 4 years ago

Estimado Carlos ante todo deseo felicitarte por tus videos son bastante claros e ilustrativos. Queria consultarte si es posible mediante Antonella consumir servicios rest externos con Curl u otra api disponible. Si tienes algún ejemplo o me puedes guiar estaria muy agradecido 
Saludos

1 Answers
Carlos Herrera Staff answered 4 years ago

Hola Aldo! voy a darte un ejemplo paso a paso.
primero creamos el controlador para tus funciones Curl API

php antonella make APIController
luego en el archivo APIController.php creamos la funcion para consultar la api
public static function Call(){
$url = 'https://kvstore.p.rapidapi.com/collections';  // este es un ejemplo

$data = [

'collection' => 'RapidAPI'

];
$curl = curl_init($url);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

curl_setopt($curl, CURLOPT_POST, true);

curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));

curl_setopt($curl, CURLOPT_HTTPHEADER, [

'X-RapidAPI-Host: kvstore.p.rapidapi.com',

'X-RapidAPI-Key: [Input your RapidAPI Key Here]',

'Content-Type: application/json'

]);
$response = curl_exec($curl);
curl_close($curl);

return $response . PHP_EOL;

}

 
y luego lo puedes poner donde desees en WordPress… por ejemplo en un menu dentro del admin (archivo Config.php)

public $plugin_menu=[
    
        [
            "path"      => ["page"],
            "name"      => "My CURL Page",
            "function"  => __NAMESPACE__."\APIController::Call",
            "icon"      => "antonella-icon.png",
            "slug"      => "my-custom-page",
        ]

 
Para consumir una API vía Curl siempre es recomendable revisar la documentación de la API que quieres consumir.
 
Espero esto te ayude. Saludos!!