RingCentral API / PHP SDK Rest

Я работаю с API RingCentral, пытаясь получить статус присутствия всех пользователей в нашей учетной записи (у нас их 30). Я проверил страницу администратора RingCentral и убедился, что на всех телефонах включено отображение присутствия. У меня есть следующий код, который работает правильно и выдает статус присутствия. Однако он будет втягивать только одно расширение. Кто-нибудь знаком с этим API и как запрашивать все расширения? Код ниже: (Как я уже сказал, это работает отлично, просто вытаскивает только одно расширение (то, с которым я вошел в систему).

require_once(__DIR__ . '/_bootstrap.php');
use RingCentral\SDK\SDK;

// Create SDK instance
$credentials = require(__DIR__ . '/_credentials.php');
$rcsdk = new SDK($credentials['clientId'], $credentials['clientSecret'], $credentials['server'], 'Demo', '1.0.0');
$platform = $rcsdk->platform();

// Authorize
$platform->login($credentials['username'], $credentials['extension'], $credentials['password']);

// Load extensions  //
$extensions = $platform->get('/account/~/extension', array('perPage' => 10))->json()->records;

// show user count here, only showing a count of 1
print 'Users loaded ' . count($extensions) . PHP_EOL;

$presences = $platform->get('/account/~/extension/' . $extensions[0]->id . ',' . $extensions[0]->id . '/presence')
                  ->multipart();

$presences00 = $platform->get('/account/~/extension/~')
                  ->json();

echo "<textarea style='width:100%;height:500px;'>";
                  print_r($presences00);
                  echo "</textarea>";

print 'Presence loaded ' .
  $extensions[0]->name . ' - ' . $presences[0]->json()->presenceStatus . ', ' .
  $extensions[0]->name . ' - ' . $presences[1]->json()->presenceStatus . PHP_EOL;

Вот рабочая ссылка на фактический файл PHP: http://silkrut.com/william2/vendor/ringcentral/ringcentral-php/demo/ext.php

Документация Ring Central: https://devcommunity.ringcentral.com/ringcentraldev/topics/where-could-i-lookup-my-accountid-and-extensionid-st8045nl19xkj Внизу говорится: «Тайлер Лонг, официальный представитель И, кстати, отправьте запрос GET на /restapi/v1.0/account/~/extension, чтобы получить список расширений в вашей учетной записи. "

Если кто-то может помочь или знает, где я могу ошибиться, я был бы очень признателен! Спасибо за уделенное время!

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
108
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Чтобы обеспечить присутствие для всех добавочных номеров, вам просто нужно войти в систему с добавочным номером администратора, а затем вызвать в конечную точку присутствия компании.

$presences = $platform->get('/account/~/presence');

Если вы хотите получить подробный статус, не забудьте добавить флаг

$presences = $platform->get('/account/~/presence?detailedTelephonyState=true');

Спасибо, я только что понял, что причина, по которой он вытаскивал только один, была связана с тем, что в режиме песочницы он извлекает только информацию о расширении, в котором вы в настоящее время вошли в систему, как только мы перешли в производственный режим, начали работать отлично, и отметили ваш ответ правильный, потому что мне нужно было добавить часть telephonyState. Спасибо!!!!

bones 22.05.2018 21:25

Другие вопросы по теме