Bir müşteriyle kurumsal bayi ilişkisini kaldırma

Artık işlemlerine sahip olmadığınız bir müşteriyle kurumsal bayi ilişkisini kaldırın.

Önkoşullar

  • kimlik doğrulamasında açıklandığı gibi İş Ortağı Merkezi bilgileri. Bu senaryo yalnızca App+User kimlik bilgileriyle kimlik doğrulamasını destekler.

  • Müşteri kimliği ( customer-tenant-id ). Müşterinin kimliğini bilmiyorsanız bu kimliği panoda İş Ortağı Merkezi. İş Ortağı Merkezi menüsünden CSP'yi ve ardından Müşteriler'i seçin. Müşteri listesinden müşteriyi ve ardından Hesap'ı seçin. Müşterinin Hesap sayfasında Müşteri Hesabı Bilgileri bölümünde MicrosoftKimliği'ne bakın. Microsoft Kimliği, müşteri kimliği () ile customer-tenant-id aynıdır.

  • Kurumsal bayi ilişkisi kaldırılana kadar tüm Azure Ayrılmış VM Örneği siparişlerini iptal etmeniz gerekir. Açık Azure desteği Azure Ayrılmış SANAL Makine Örneği siparişlerini iptal etmek için sanal makineyi arayın.

C#

Bir müşterinin kurumsal bayi ilişkisini kaldırmak için önce bu müşteri için etkin Azure Ayrılmış VM Örnekleri iptal edilmiş olduğundan emin olun. Ardından, bu müşteri için tüm etkin aboneliklerin askıya alınmış olduğundan emin olun. Bunu yapmak için kurumsal bayi ilişkisini silmek istediğiniz müşterinin kimliğini belirleme. Aşağıdaki kod örneğinde kullanıcıdan müşteri tanımlayıcısını sağlaması istenir.

Müşterinin iptal edilmesi Azure Ayrılmış VM Örnekleri olup olmadığını belirlemek için müşteri tanımlayıcısını kullanarak IAggregatePartner.Customers.ById yöntemini çağırarak yetkilendirme koleksiyonunu alın ve yetkilendirme toplama işlemlerine yönelik bir arabirim almak için Yetkilendirmeler özelliğini kullanın. Yetkilendirme koleksiyonunu almak için Get veya GetAsync yöntemini çağırma. EntitlementType.VirtualMachineReservedInstanceentitlementType değerine sahip tüm yetkilendirmeler için koleksiyonu filtrenin ve varsa devam etmeden önce desteği çağırarak koleksiyonu iptal edin.

Ardından müşteriyi belirtmek için müşteri tanımlayıcısını kullanarak IAggregatePartner.Customers.ById yöntemini çağırarak müşterinin aboneliklerinin koleksiyonunu ve abonelik toplama işlemlerine bir arabirim almak için Subscriptions özelliğini alın. Son olarak, müşterinin abonelik koleksiyonunu almak için Get veya GetAsync yöntemini çağırabilirsiniz. Abonelik koleksiyonunu çapraz geçişe alın ve aboneliklerin hiçbirinin SubscriptionStatus.Active SubscriptionStatus.Status özellik değerine sahip olduğundan emin olun. Abonelik hala etkinse, askıya alma hakkında bilgi için bkz. Aboneliği askıya alma.

Tüm etkin aboneliklerin Azure Ayrılmış VM Örnekleri iptal edildiğini ve tüm etkin aboneliklerin askıya alınarak müşteri için kurumsal bayi ilişkisini kaldırabilirsiniz. İlk olarak, CustomerPartnerRelationship.Noneolarak ayarlanmış [Customer.RelationshipToPartner/dotnet/api/microsoft.store.partnercenter.models.customers.relationshiptopartner) özelliğiyle yeni bir [Customer/dotnet/api/microsoft.store.partnercenter.models.customers.customer) nesnesi oluşturun. Ardından müşteri tanımlayıcısını kullanarak IAggregatePartner.Customers.ById yöntemini çağırın ve patch yöntemini çağırarak yeni müşteri nesnesini iletin.

İlişkiyi yeniden oluşturmak için [kurumsal bayi ilişkisi/iş ortağı-merkezi/geliştirme/request-reseller-relationship isteği) işlemini tekrarlayın.

// IAggregatePartner partnerOperations;

// Prompt the user the enter the customer ID.
var customerIdToDeleteRelationshipOf = this.Context.ConsoleHelper.ReadNonEmptyString("Please enter the ID of the customer you want to delete the relationship with", "The customer ID can't be empty");

// Determine if there are any active Azure Reserved VM Instances for this customer.
ResourceCollection<Entitlement> entitlements = partnerOperations.Customers.ById(customerIdToDeleteRelationshipOf).Entitlements.Get();

If (entitlements.Items.Where(x => x.EntitlementType == EntitlementType.VirtualMachineReservedInstance).Any())
{
    this.Context.ConsoleHelper.Warning("Please cancel Azure Reserved Virtual Machine Instance orders through support and try again. Aborting the delete customer relationship operation");
               return;
}

// Verify that there are no active subscriptions.
ResourceCollection<Subscription> customerSubscriptions = partnerOperations.Customers.ById(customerIdToDeleteRelationshipOf).Subscriptions.Get();
IList<Subscription> subscriptions = new List<Subscription>(customerSubscriptions.Items);

foreach (Subscription customerSubscription in subscriptions)
{
    if (customerSubscription.Status == SubscriptionStatus.Active)
    {
        this.Context.ConsoleHelper.Warning(String.Format("Subscription with ID :{0}  OfferName: {1} cannot be in active state, ", customerSubscription.Id, customerSubscription.OfferName));
        this.Context.ConsoleHelper.Warning("Please Suspend all the Subscriptions and try again. Aborting the delete customer relationship operation");
               return;
    }
}

// Delete the customer's relationship to the partner.
Customer customer = new Customer();
customer.RelationshipToPartner = CustomerPartnerRelationship.None;
customer = partnerOperations.Customers.ById(customerIdToDeleteRelationshipOf).Patch(customer);

if (customer.RelationshipToPartner == CustomerPartnerRelationship.None)
{
    this.Context.ConsoleHelper.Success("Customer Partner Relationship successfully deleted");
}

Örnek:Konsol test uygulaması. Project:PartnerSDK.FeatureSample Sınıfı:DeletePartnerCustomerRelationship.cs

REST isteği

İstek söz dizimi

Yöntem İstek URI'si
YAMA {baseURL}/v1/customers/{customer-tenant-id}/ HTTP/1.1

URI parametresi

Bu tabloda bayi ilişkisini kaldırmak için gerekli sorgu parametreleri listelemektedir.

Ad Tür Gerekli Açıklama
customer-tenant-id guid Y Değer, müşteriyi tanımlayan GUID biçimindeki customer-tenant-id değeridir.

İstek üst bilgileri

Daha fazla bilgi için bkz. İş Ortağı Merkezi REST üst bilgileri.

İstek gövdesi

İstek gövdesinde bir Müşteri kaynağı gereklidir. RelationshipToPartner özelliğinin yok olarak ayarlanmış olduğundan emin olmak.

İstek örneği

PATCH https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id> HTTP/1.1
Authorization: Bearer <token>
Content-Length: 74
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 9b4bf2ca-f374-4d51-9113-781ca87b8380
MS-RequestId: 9fef8b23-6e3e-45d2-8678-e9fe89c35af5
Date: Fri, 12 Jan 2018 00:31:55 GMT

{
    "relationshipToPartner":"none",
    "attributes":{
        "objectType":"Customer"
    }
}

REST yanıtı

Başarılı olursa, bu yöntem belirtilen müşteri için bir kurumsal bayi ilişkisini kaldırır.

Yanıt başarı ve hata kodları

Her yanıt, başarılı veya başarısız olduğunu gösteren bir HTTP durum kodu ve ek hata ayıklama bilgileriyle birlikte gelir. Bu kodu, hata türünü ve ek parametreleri okumak için bir ağ izleme aracı kullanın. Tam liste için bkz. İŞ ORTAĞı MERKEZI REST hata kodları.

Yanıt örneği

HTTP/1.1 200 OK
MS-RequestId: 7988dde4-b516-472c-b226-6d53fb18f04e
MS-CorrelationId: 9b4bf2ca-f374-4d51-9113-781ca87b8380
X-Locale: en-US
Content-Type: application/json
Content-Length: 242
Expect: 100-continue

{
    "Id":null,
    "CommerceId":null,
    "CompanyProfile":null,
    "BillingProfile":null,
    "RelationshipToPartner":"none",
    "AllowDelegatedAccess":null,
    "UserCredentials":null,
    "CustomDomains":null,
    "AssociatedPartnerId":null,
    "Attributes":{
        "ObjectType":"Customer"
    }
}