Если вы не знакомы с API и связанными библиотеками, по моему мнению, вам следует начать с использования cURL, чтобы освоить все. Кроме того, хорошим способом для ознакомления с API является использование Postman. Вы также можете использовать его для генерации определенных вызовов API в разных базах кода.
В вашем случае вам сначала нужно получить токен на предъявителя, чтобы вы могли сделать запрос на нужные вам данные. В моем примере я покажу вам две функции, которые вы можете использовать, чтобы сделать GET-запрос к конечной точке / campaigns, используя токен, который вы получаете при выполнении начального POST-запроса.
В конечном счете, решение вашей проблемы зависит от множества факторов, таких как тип данных, которые вы пытаетесь получить, и способ отображения. Будете ли вы запрашивать данные нажатием кнопки, загрузкой страницы и т. Д ...
Я бы также порекомендовал ознакомиться с Ajax и узнать, как делать запросы Ajax с jQuery / JS и Wordpress, поскольку это может помочь вам не только с этим API, но и с другими. Также узнайте, как просматривать данные, которые вам возвращаются, с помощью PHP-объектов или массивов.
Это требует некоторой практики, но начните с объединения маленьких кусочков, которые работают, например, ниже, где вы можете по крайней мере получить данные и отобразить их на странице.
<?php
// A function that will make a GET request to the /campaigns endpoint
function get_data_from_api() {
// Run the function that will make a POST request and return the token
$exoclick_token = get_token_from_api();
$new_token = $exoclick_token->token;
$auth_array = array(
"Authorization:",
"Bearer",
$new_token
);
$new_token = implode(" ", $auth_array);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.exoclick.com/v2/campaigns",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => "",
CURLOPT_HTTPHEADER => array(
$new_token,
"Content-Type: application/json",
"cache-control: no-cache"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
$data = json_decode($response, true);
// do something with the data
print_r($data);
}
function get_token_from_api() {
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.exoclick.com/v2/login",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\n\"api_token\": \"[ADD YOUR TOKEN]\"\n}",
CURLOPT_HTTPHEADER => array(
"Accept: */*",
"Cache-Control: no-cache",
"Connection: keep-alive",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
// Decode the response from the API
$decoded_response_object = json_decode($response);
curl_close($curl);
// Return the decoded response so you can use it to make another request
return $decoded_response_object;
}
// Run the initial function
get_data_from_api();
?>