Подтверждение принятия клиентом клиентского соглашения Майкрософт с помощью API Центра партнеров
применимо к: Центр партнеров
не применяется к: Центр партнеров, управляемый 21Vianet | Центр партнеров для Microsoft Cloud для государственных организаций США
В настоящее время Центр партнеров поддерживает подтверждение принятия клиентского соглашения Майкрософт только в общедоступном облаке Майкрософт.
В этой статье описывается подтверждение или подтверждение принятия клиентом клиентского соглашения Майкрософт.
Необходимые условия
- Если вы используете .NET SDK для Центра партнеров, требуется версия 1.14 или более поздняя.
Важный
По состоянию на июнь 2023 г. последняя версия пакета SDK для .NET для Центра партнеров 3.4.0 теперь архивируется. Вы можете скачать релиз SDK из GitHub вместе с файлом readme, который содержит полезные сведения.
Партнерам рекомендуется продолжать использовать REST API центра партнеров .
Учетные данные, как описано в аутентификации Партнерского центра. Этот сценарий поддерживает только аутентификацию App+User.
Идентификатор клиента (
customer-tenant-id
). Если вы не знаете идентификатор клиента, его можно найти в Центре партнеров, выбрав рабочее пространство Клиенты, затем выберите клиента из списка, а после этого учетную запись. На странице "Учетная запись клиента" найдите идентификатор Майкрософт в разделе сведения об учетной записи клиента. Идентификатор Майкрософт совпадает с идентификатором клиента (customer-tenant-id
).Дата (датаAgreed), когда клиент принял клиентское соглашение Майкрософт.
Сведения о пользователе из клиентской организации, которая приняла клиентское соглашение Майкрософт. К ним относятся:
- Имя
- Фамилия
- Адрес электронной почты
- Номер телефона (необязательно)
Если для клиента изменятся следующие значения, Центр партнеров позволит создать другое соглашение для этого клиента: Имя, Фамилия, Адрес электронной почты, Номер телефона. В противном случае партнеры получат следующий код ошибки из-за создания дубликата клиента.
{
"code": 600061,
"message": "A partner confirmed agreement already exists for the customer.",
"description": "A partner confirmed agreement already exists for the customer.",
"errorName": "PartnerConfirmedAgreementAlreadyExists",
"isRetryable": false,
"parameters": {},
"errorMessageExtended": "InternalErrorCode=600061"
}
.СЕТЬ
Чтобы подтвердить или подтвердить принятие клиентом клиентского соглашения Майкрософт, выполните следующие действия.
Получение метаданных по клиентскому соглашению Майкрософт. Необходимо получить templateId клиентского соглашения Microsoft. Дополнительные сведения см. в разделе Получение метаданных соглашения для клиентского соглашения Майкрософт.
// IAggregatePartner partnerOperations; string agreementType = "MicrosoftCustomerAgreement"; var microsoftCustomerAgreementDetails = partnerOperations.AgreementDetails.ByAgreementType(agreementType).Get().Items.Single();
Создайте новый объект соглашения , содержащий сведения о подтверждении.
Используйте коллекцию IAgreggatePartner.Customers и вызовите метод ById с указанным идентификатором клиента-арендатора.
Используйте свойство Agreements, за которым следует вызов Create или CreateAsync.
// string selectedCustomerId; var agreementToCreate = new Agreement { DateAgreed = DateTime.UtcNow, TemplateId = microsoftCustomerAgreementDetails.TemplateId, PrimaryContact = new Contact { FirstName = "Tania", LastName = "Carr", Email = "someone@example.com", PhoneNumber = "1234567890" } }; Agreement agreement = partnerOperations.Customers.ById(selectedCustomerId).Agreements.Create(agreementToCreate);
Полная версия примера находится в классе CreateCustomerAgreement проекта тестового приложения консоли.
запрос REST
Чтобы подтвердить или подтвердить принятие клиентом клиентского соглашения Майкрософт, выполните следующие действия.
- Получение метаданных по клиентскому соглашению Майкрософт. Необходимо получить templateId клиентского соглашения Microsoft. Дополнительные сведения см. в разделе Получение метаданных соглашения для клиентского соглашения Майкрософт.
- Создайте новое соглашение ресурса, чтобы убедиться, что клиент принял клиентское соглашение Майкрософт. Используйте следующий синтаксис запросов REST .
Синтаксис запроса
Метод | URI запроса |
---|---|
ПОСТ | {baseURL}/v1/customers/{customer-tenant-id}/agreements HTTP/1.1 |
Параметр URI
Используйте следующий параметр запроса, чтобы указать клиента, который вы подтверждаете.
Имя | Тип | Обязательно | Описание |
---|---|---|---|
идентификатор клиента-арендатора | GUID | Да | Значение отформатировано как GUID идентификатор клиента-, который позволяет указать клиента. |
Заголовки запросов
Дополнительные сведения см. в REST-заголовках Центра партнеров .
Текст запроса
В этой таблице описываются необходимые свойства в тексте запроса REST.
Имя | Тип | Описание |
---|---|---|
Соглашение | объект | Сведения, предоставляемые партнером для подтверждения принятия клиентом клиентского соглашения Майкрософт. |
Соглашение
В этой таблице описаны минимальные обязательные поля для создания ресурса Соглашение.
Свойство | Тип | Описание |
---|---|---|
главный контакт | Контакт | Сведения о пользователе из клиентской организации, которая приняла клиентское соглашение Майкрософт, включая: firstName, lastName, электронной почтыи phoneNumber (необязательно) |
дата согласования | строка в формате даты и времени в UTC | Дата, когда клиент принял соглашение. |
идентификатор шаблона | струна | Уникальный идентификатор типа соглашения, принятого клиентом. Вы можете получить templateId для клиентского соглашения Майкрософт, получив соответствующие метаданные. См. раздел Получение метаданных для Клиентского соглашения Microsoft для получения дополнительных сведений. |
тип | струна | Тип соглашения, принятый клиентом. Используйте MicrosoftCustomerAgreement, если клиент принял клиентское соглашение Майкрософт. |
Пример запроса
POST https://api.partnercenter.microsoft.com/v1/customers/14876998-c0dc-46e6-9d0c-65a57a6c32ec/agreements HTTP/1.1
Authorization: Bearer <token>
Content-Type: application/json
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
{
"primaryContact": {
"firstName": "Tania",
"lastName": "Carr",
"email": "someone@example.com",
"phoneNumber": "1234567890"
},
"templateId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"dateAgreed": "2018-06-14T00:00:00.000Z",
"type": "MicrosoftCustomerAgreement"
}
Ответ REST
В случае успешного выполнения этот метод возвращает ресурс соглашения .
Коды успешных и ошибочных ответов
Каждый ответ содержит код состояния HTTP, указывающий на успешность или сбой и дополнительные сведения об отладке.
Используйте средство трассировки сети для чтения этого кода, типа ошибки и дополнительных параметров. Полный список см. в разделе Коды ошибок REST Центра партнеров.
Пример ответа
HTTP/1.1 201 Created
Content-Length: 261
Content-Type: application/json
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
{
"userId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
"primaryContact": {
"firstName": "Tania",
"lastName": "Carr",
"email": "someone@example.com",
"phoneNumber": "1234567890"
},
"templateId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"dateAgreed": "2018-06-14T00:00:00.000Z",
"type": "MicrosoftCustomerAgreement"
}