Управление доходами с помощью API службы доходов

В этой статье объясняется, как получить доступ к данным о доходах с помощью API-интерфейсов "Доходы" вместо пользовательского интерфейса Центра партнеров. Эти API предоставляют программный способ предоставления возможности функции экспорта данных в Центре партнеров.

Это важно

Azure Active Directory (Azure AD) Graph не рекомендуется использовать с 30 июня 2023 г. В дальнейшем мы не планируем делать дальнейших инвестиций в Azure AD Graph. API Azure AD Graph не имеют соглашения об уровне обслуживания или обязательств по обслуживанию, за исключением исправлений, касающихся безопасности. Инвестиции в новые функции и функциональные возможности будут сделаны только в Microsoft Graph.

Мы будем постепенно выводить Azure AD Graph из эксплуатации, чтобы у вас было достаточно времени для переноса приложений на API Microsoft Graph. На более позднюю дату, которую мы объявим, мы заблокируем создание новых приложений с помощью Azure AD Graph.

Для получения дополнительных сведений см. Важно: прекращение поддержки Azure AD Graph и устаревание модуля PowerShell.

Доступные интерфейсы API

Ознакомьтесь со всеми доступными API-интерфейсами в партнерских выплатах.

Предпосылки

  • На портале Azure есть рабочая подписка.
  • Доступ к веб-браузеру.
  • Возможность выполнять вызовы REST API программным способом или с помощью выделенного программного обеспечения.

Регистрация приложения в платформе идентификации Microsoft

  1. Следуйте инструкциям по регистрации приложения в платформе идентификации Microsoft.

  2. Предоставьте приложению соответствующие делегированные разрешения.

    1. В созданной регистрации приложения перейдите к разделу "Управление разрешениями API →". Выберите "Добавить разрешение". Снимок экрана: кнопка
    2. Выберите вкладку "API, используемые моей организацией", а затем найдите AppId "4990cffe-04e8-4e8b-808a-1175604b879f" или по названию "Microsoft Dev Center". Для разрешений выберите "user_impersonation". Выберите "Добавить разрешения".
      • Устранение неполадок. Если поиск API Центра разработки не возвращает результатов, может потребоваться создать субъекты-службы, необходимые для доступа к этим API вручную. Их можно создать с помощью AzCLI:
        az ad sp create --id 4990cffe-04e8-4e8b-808a-1175604b879f
        
        После этого разрешения API должны быть доступны для выбора в диалоговом окне поиска. Снимок экрана, показывающий разрешение user_impersonation.
    3. Кроме того, убедитесь, что ваше приложение имеет разрешение "User.Read" в Microsoft Graph. Если это не так, добавьте его, выбрав Microsoft Graph на вкладке API Майкрософт.
    4. Выберите "Предоставить согласие администратора" для всех трех полученных разрешений.
    5. Разрешения приложения должны выглядеть следующим образом (обратите внимание на зеленый галок рядом с каждым разрешением ): снимок экрана: список необходимых разрешений с предоставленным согласием администратора.
  3. Настройте URI перенаправления для веб-платформы.

    1. Перейдите к разделу "Управление проверкой подлинности →". Выберите "Добавить платформу". Снимок экрана: кнопка
    2. Выберите "Интернет".
    3. В поле URI перенаправления введите URI, который вы хотите использовать для своего приложения, например https://localhost:3000. Запишите этот универсальный код ресурса (URI) для последующего использования. Нажмите кнопку "Настроить". Снимок экрана: вкладка URI перенаправления с примером URI порта 3000 на localhost.
  4. Создайте секрет клиента, чтобы использовать при получении токенов доступа.

    1. Перейдите к разделу "Управление сертификатами и секретами →". Перейдите на вкладку "Секреты клиента", выберите "Новый секрет клиента". Снимок экрана: кнопка
    2. Введите требуемое имя и длительность.
    3. Выберите "Добавить секрет".
    4. Запишите значение в другом месте. Не забудьте сохранить его в безопасном расположении, например хранилище ключей. Этот секрет используется при запросе AccessToken и RefreshToken.

Получение токена доступа — учетные записи с включённым MFA

API-интерфейсы "Доходы" требуют предоставления AccessToken в качестве маркера носителя авторизации в запросе с префиксом Bearer <access-token> в заголовке авторизации. Вы можете получить этот токен, войдя в систему с помощью вашей учетной записи; однако токены доступа имеют ограниченный срок действия. Вход в учетную запись с поддержкой MFA для генерации токена при каждом вызове API нецелесообразен для рабочих процессов, связанных с автоматизацией. Эти шаги помогут вам в процессе создания RefreshToken. Он имеет более длительный срок жизни (около 3 месяцев) и может использоваться для получения AccessToken. Сохраняя RefreshToken в безопасном расположении, его можно использовать для автоматического получения AccessToken для вызова API прибыли. Примечание. ОбновитьToken можно использовать только один раз, после чего он становится устаревшим. В ответе возвращается новый RefreshToken вместе с AccessToken. Обязательно замените старое значение RefreshToken в безопасном хранилище при каждом использовании RefreshToken.

  1. Получите AuthCode через браузер. В настоящее время этот процесс должен быть выполнен с помощью пользовательского интерфейса веб-браузера и не может быть выполнен программным способом.

    1. Следуйте шаблону, чтобы создать URL-адрес, используемый для получения AuthCode.
      1. Используйте идентификатор арендатора и идентификатор клиента для созданного приложения.
      2. Задайте для https://api.partner.microsoft.com/.defaultобласти значение .
      3. Установите URL-адрес перенаправления на ранее настроенный URL-адрес перенаправления. Шаблон URL-адреса: https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize?client_id=<client-id>&response_type=code&redirect_uri=<redirect-uri>&scope=https%3A%2F%2Fapi.partner.microsoft.com%2F.default
    2. Перейдите по встроенному URL-адресу и войдите с помощью учетных данных авторизованного пользователя.
    3. После успешного входа браузер пытается открыть URL-адрес формата <redirect-uri>/?code=<auth-code>&session_state=<state-id>#. Для примера URI перенаправления на предыдущем шаге url-адрес, который вы отправляете, должен быть https://localhost:3000/?code=<auth-code>?session_state=<state-id>#. Сохраните возвращенный код AuthCode где-то безопасно.
      • Так как обычно нет приложения, прослушивающего localhost:3000, браузер выдает сообщение об ошибке "не удается подключиться". Эта ошибка ожидается, так как нам просто нужно вручную скопировать значение AuthCode из параметра запроса URL-адреса, показанного code ранее.
      • В решении prod можно создать приложение, которое автоматически обрабатывает эту часть процесса проверки подлинности. Например, это может быть рабочий процесс, в котором пользователь переходит в одностраничное приложение (SPA). Пользователь нажимает кнопку "вход", которая направляет его на ранее созданный URL-адрес. После входа SPA извлекает значение AuthCode и сохраняет его в хранилище. Затем SPA использует AuthCode для получения RefreshToken и AccessToken, как описано в следующих шагах.
  2. Используйте AuthCode для получения RefreshToken и начального AccessToken. Примечание. Срок действия RefreshToken истекает каждые 3 месяца и должен быть повторно получен и сохранен в каком-либо хранилище ключей.

    1. Создайте запрос API POST после шаблона, предоставленного здесь.
      1. Используйте те же значения для идентификатора арендатора/клиента и URL-адреса перенаправления.
      2. Задайте область https://api.partner.microsoft.com/.default offline_access.
      3. Задайте код для authCode, полученного на шаге ранее.
      4. Задайте client_secret секрету, созданному для созданного приложения. Затем URL-адрес должен быть структурирован следующим образом: https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
  3. Позже вы можете использовать RefreshToken для получения нового AccessToken.

    1. Создайте запрос API POST после шаблона, предоставленного здесь.
      1. Используйте те же значения для tenant/client ID и URL-адреса перенаправления.
      2. Установите область на https://api.partner.microsoft.com/.default
      3. Задайте для refresh_token значение RefreshToken, полученное на предыдущем шаге
      4. Установите client_secret на секрет, сгенерированный для созданного приложения.

Получение токена доступа — учетные записи без MFA

  1. Получите AccessToken с помощью сведений о регистрации нового приложения.
    1. Создайте запрос API POST после шаблона, предоставленного здесь.
      1. Используйте те же значения для идентификатора арендатора или клиента
      2. Установите область на https://api.partner.microsoft.com/.default
      3. Используйте имя пользователя и пароль для авторизованного пользователя, URL-адрес должен быть структурирован следующим образом: https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
    2. Запрос возвращает AccessToken и новый RefreshToken. Обязательно обновите сохраненное значение для RefreshToken, так как вы больше не можете использовать старое значение.

Доход от звонков (ранее "transactionhistory")/Платежи