Criar uma SelfServePolicy
Este artigo explica como criar uma nova política de autoatendimento.
Pré-requisitos
- Credenciais, conforme descrito em Autenticação do Partner Center. Esse cenário dá suporte à autenticação com credenciais de Aplicativo+Usuário.
C#
Crie uma política de autoatendimento:
- Chame o método IAggregatePartner.SelfServePolicies.Create ou IAggregatePartner.SelfServePolicies.CreateAsync com as informações de política de autoatendimento.
// IAggregatePartner partnerOperations;
string customerIdAsEntity;
var selfServePolicy = new SelfServePolicy
{
SelfServeEntity = new SelfServeEntity
{
SelfServeEntityType = "customer",
TenantID = customerIdAsEntity,
},
Grantor = new Grantor
{
GrantorType = "billToPartner",
TenantID = partnerIdAsGrantor,
},
Permissions = new Permission[]
{
new Permission
{
Action = "Purchase",
Resource = "AzureReservedInstances",
},
},
{
new Permission
{
Action = "Purchase",
Resource = "AzureSavingsPlan",
},
},
};
// All the operations executed on this partner operation instance will share the same correlation Id but will differ in request Id
IPartner scopedPartnerOperations = partnerOperations.With(RequestContextFactory.Instance.Create(Guid.NewGuid()));
// creates the self-serve policy
SelfServePolicy createdSelfServePolicy = scopedPartnerOperations.selfServePolicies.Create(selfServePolicy);
Para obter um exemplo, consulte o seguinte:
- Exemplo: Aplicativo de teste do console
- Projeto: PartnerSDK.FeatureSamples
- Classe: CreateSelfServePolicies.cs
Solicitação REST
Sintaxe da solicitação
Método | URI da solicitação |
---|---|
POST | {baseURL}/v1/SelfServePolicy HTTP/1.1 |
Cabeçalhos da solicitação
- Uma ID de solicitação e uma ID de correlação são necessárias.
- Para obter mais informações, confira Cabeçalhos REST do Partner Center.
Corpo da solicitação
Esta tabela descreve as propriedades necessárias no corpo da solicitação.
Nome | Type | Descrição |
---|---|---|
SelfServePolicy | objeto | As informações da política de autoatendimento. |
SelfServePolicy
Esta tabela descreve os campos mínimos necessários do recurso SelfServePolicy necessários para criar uma nova política de autoatendimento.
Propriedade | Type | Descrição |
---|---|---|
SelfServeEntity | SelfServeEntity | A entidade de autoatendimento que está recebendo acesso. |
Concessor | Concessor | O autorizador que está concedendo acesso. |
Permissões | Matriz de Permission | Uma matriz de recursos de permissão . |
Exemplo de solicitação
POST https://api.partnercenter.microsoft.com/v1/SelfServePolicy HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CorrelationId: ab993325-1605-4cf4-bac4-fb584142a31b
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 789
Expect: 100-continue
Connection: Keep-Alive
{
"selfServeEntity": {
"selfServeEntityType": "customer",
"tenantID": "0431a72c-7d8a-4393-b25e-ef63f5efb415"
},
"grantor": {
"grantorType": "billToPartner",
"tenantID": "634f6379-ad54-449b-9821-564f737158ab"
},
"permissions": [
{
"resource": "AzureReservedInstances",
"action": "Purchase"
},
{
"resource": "AzureSavingsPlan",
"action": "Purchase"
}
]
}
Resposta REST
Se tiver êxito, essa API retornará um recurso SelfServePolicy para a nova política de autoatendimento.
Códigos de êxito e de erro de resposta
Cada resposta vem com um código de status HTTP que indica êxito ou falha e informações de depuração adicionais. Use uma ferramenta de rastreamento de rede para ler esse código, o tipo de erro e os parâmetros adicionais. Para obter a lista completa, confira Códigos de erro REST do Partner Center.
Esse método retorna os seguintes códigos de erro:
Código de status HTTP | Código do erro | Descrição |
---|---|---|
409 | 600041 | A política de autoatendimento já existe. |
Exemplo de resposta
HTTP/1.1 201 Created
Content-Length: 834
Content-Type: application/json; charset=utf-8
MS-CorrelationId: ab993325-1605-4cf4-bac4-fb584142a31b
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
Date: Tue, 14 Feb 2017 20:06:02 GMT
{
"id": "634f6379-ad54-449b-9821-564f737158ab_0431a72c-7d8a-4393-b25e-ef63f5efb415",
"selfServeEntity": {
"selfServeEntityType": "customer",
"tenantID": "0431a72c-7d8a-4393-b25e-ef63f5efb415"
},
"grantor": {
"grantorType": "billToPartner",
"tenantID": "634f6379-ad54-449b-9821-564f737158ab"
},
"permissions": [
{
"resource": "AzureReservedInstances",
"action": "Purchase"
},
{
"resource": "AzureSavingsPlan",
"action": "Purchase"
}
],
"attributes": {
"etag": "\"933523d1-3f63-4fc3-8789-5e21c02cdaed\"",
"objectType": "SelfServePolicy"
}
}
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de