Partager via


Créer un client pour un revendeur indirect à l’aide des API de l’Espace partenaires

S’applique à : Espace partenaires

Un fournisseur indirect peut créer un client pour un revendeur indirect.

Prérequis

  • Informations d’identification, comme décrit dans Authentification auprès de l’Espace partenaires. Ce scénario prend en charge l’authentification avec les informations d’identification de l’application et de l’utilisateur uniquement.

  • Identificateur du locataire du revendeur indirect.

  • Le revendeur indirect doit avoir un partenariat avec le fournisseur indirect.

C#

Pour ajouter un nouveau client pour un revendeur indirect :

  1. Instanciez un nouvel objet Customer, puis instanciez et remplissez les fichiers BillingProfile et CompanyProfile. Veillez à affecter l’ID de revendeur indirect à la propriété AssociatedPartnerID.

  2. Utilisez la propriété IAggregatePartner.Customers pour obtenir une interface pour les opérations de collecte de clients.

  3. Appelez la méthode Create ou CreateAsync pour créer le client.

Exemple en code C#

// IAggregatePartner partnerOperations;
// var indirectResellerId;
var customerToCreate = new Customer()
{
    CompanyProfile = new CustomerCompanyProfile()
    {
        Domain = string.Format(CultureInfo.InvariantCulture,
            "WingtipToys{0}.{1}",
            new Random().Next(),
            this.Context.Configuration.Scenario.CustomerDomainSuffix)
    },
    BillingProfile = new CustomerBillingProfile()
    {
        Culture = "EN-US",
        Email = "Gena@wingtiptoys.com",
        Language = "En",
        CompanyName = "Wingtip Toys",
        DefaultAddress = new Address()
        {
            FirstName = "Gena",
            LastName = "Soto",
            AddressLine1 = "One Microsoft Way",
            City = "Redmond",
            State = "WA",
            Country = "US",
            PostalCode = "98052",
            PhoneNumber = "4255550101"
        }
    },
    AssociatedPartnerId = indirectResellerId
};

var newCustomer = partnerOperations.Customers.Create(customerToCreate);

Exemple : Application de test de console. Projet : Classe d’exemples sdk de l’Espace partenaires : CreateCustomerforIndirectReseller.cs

Demande REST

Syntaxe de la requête

Méthode URI de demande
POST {baseURL}/v1/customers HTTP/1.1

En-têtes de requête

Pour plus d’informations, consultez En-têtes REST de l’Espace Partenaires.

Corps de la demande

Ce tableau décrit les propriétés requises dans le corps de la requête.

Nom Type Requise Description
BillingProfile object Oui Les informations du profil de facturation du client.
CompanyProfile object Oui Les informations du profil de l’entreprise du client.
AssociatedPartnerId string Oui ID de revendeur indirect. Le revendeur indirect tel qu’indiqué par l’ID fourni ici doit avoir un partenariat avec le fournisseur indirect ou la demande échouera. Notez également que si la valeur AssociatedPartnerId n’est pas fournie, le client est créé en tant que client direct du fournisseur indirect plutôt que du revendeur indirect.
Domain Chaîne Oui Le nom de domaine du client, tel que contoso.onmicrosoft.com.
organizationRegistrationNumber string Oui Numéro d’inscription de l’organisation du client (également appelé numéro INN dans certains pays/régions). Obligatoire uniquement pour l’entreprise/l’organisation du client située dans les pays/régions suivants : Arménie(AM), Azerbaïdjan(AZ), Belarus(BY), Hongrie(HU), Kazakhstan(KZ), Kirghizistan(KG), Moldova(MD), Russie(RU), Tadjikistan(TJ), Ouzbékistan(UZ), Ukraine(UA), Inde, Brésil, Afrique du Sud, Pologne, Émirats arabes unis, Arabie saoudite, Türkiye, Thaïlande, Vietnam, Myanmar, Iraq, Soudan du Sud et Venezuela. Pour l’entreprise/l’organisation du client située dans d’autres pays/régions, il s’agit d’un champ facultatif.

Profil de facturation

Ce tableau décrit les champs minimum requis de la ressource CustomerBillingProfile nécessaire pour créer un client.

Nom Type Requise Description
e-mail chaîne Oui L’adresse électronique du client.
culture string Oui Leur culture préférée pour la communication et la devise, comme en-US. Consultez les langues et paramètres régionaux pris en charge dans l’Espace partenaires pour les cultures prises en charge.
langue string Oui Langue par défaut. Deux codes de langue de caractères (par exemple en ou fr) sont pris en charge.
company_name string Oui Nom de l’entreprise/de l’organisation inscrite.
default_address Adresse Oui Adresse inscrite de l’entreprise/de l’organisation du client. Pour plus d’informations sur les limitations de longueur, consultez la ressource Address .

Profil de la société

Ce tableau décrit les champs minimum requis de la ressource CustomerCompanyProfile nécessaire pour créer un client.

Nom Type Requise Description
domaine string Oui Le nom de domaine du client, tel que contoso.onmicrosoft.com.
organizationRegistrationNumber string Dépend de la condition Numéro d’inscription de l’organisation du client (également appelé numéro INN dans certains pays/régions).

L’achèvement de ce champ n’est nécessaire que si l’entreprise/l’organisation d’un client se trouve dans les pays/régions suivants :

- Arménie (AM)
- Azerbaïdjan (AZ)
- Belarus (BY)
- Hongrie (HU)
- Kazakhstan (KZ)
- Kirghizistan (KG)
- Moldova (MD)
- Russie (RU)
- Tadjikistan (TJ)
- Ouzbékistan (UZ)
- Ukraine (UA)
-Inde
-Brésil
-Afrique du Sud
-Pologne
- Émirats arabes unis
-Arabie Saoudite
-Türkiye
-Thaïlande
-Vietnam
-Myanmar
-Irak
- Soudan du Sud
-Venezuela
- Chine

Pour l’entreprise/l’organisation du client située dans d’autres pays/régions, il s’agit d’un champ facultatif.

GDAP par défaut

Nom Type Description
enableGDAPByDefault bool Boolean pour indiquer si nous voulons activer GDAP par défaut ou non. Si la valeur est true, nous allons créer GDAP par défaut. Si la valeur est false, nous ne créons pas LE GDAP. Notez que cela n’est honoré que dans les clouds qui prennent en charge GDAP. Si aucune prise en charge n’est prise en charge, DAP est créé par défaut.

Exemple de requête

POST https://api.partnercenter.microsoft.com/v1/customers HTTP/1.1
Authorization: Bearer <token>
MS-RequestId: d628adbe-b7ee-412e-ac55-58f22b4ba2f4
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Client: Partner Center .NET SDK
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 823
Expect: 100-continue
Connection: Keep-Alive

{
    "enableGDAPByDefault": false,
    "Id": null,
    "CommerceId": null,
    "CompanyProfile": {
        "TenantId": null,
        "Domain": "WingtipToys678152504.onmicrosoft.com",
        "CompanyName": null,
        "Attributes": {
            "ObjectType": "CustomerCompanyProfile"
        }
    },
    "BillingProfile": {
        "Id": null,
        "FirstName": null,
        "LastName": null,
        "Email": "Gena@wingtiptoys.com",
        "Culture": "EN-US",
        "Language": "En",
        "CompanyName": "Wingtip Toys",
        "DefaultAddress": {
            "Country": "US",
            "Region": null,
            "City": "Redmond",
            "State": "WA",
            "AddressLine1": "One Microsoft Way",
            "AddressLine2": null,
            "PostalCode": "98052",
            "FirstName": "Gena",
            "LastName": "Soto",
            "PhoneNumber": "4255550101"
        },
        "Attributes": {
            "ObjectType": "CustomerBillingProfile"
        }
    },
    "RelationshipToPartner": "none",
    "AllowDelegatedAccess": null,
    "UserCredentials": null,
    "CustomDomains": null,
    "AssociatedPartnerId": "484e548c-f5f3-4528-93a9-c16c6373cb59",
    "Attributes": {
        "ObjectType": "Customer"
    }
}

Important

Depuis juin 2023, la dernière version du Kit de développement logiciel (SDK) .NET de l’Espace partenaires version 3.4.0 est désormais archivée. Vous pouvez télécharger la version du SDK à partir de GitHub, ainsi qu’un fichier lisezmoi contenant des informations utiles.

Les partenaires sont encouragés à continuer à utiliser les API REST de l’Espace partenaires.

Réponse REST

Si elle réussit, la réponse contient une ressource client pour le nouveau client.

Codes d’erreur et de réussite de la réponse

Les réponses sont fournies avec un code d’état HTTP qui indique la réussite ou l’échec et des informations de débogage supplémentaires. Utilisez un outil de trace réseau pour lire ce code, le type d’erreur et des paramètres supplémentaires. Pour obtenir la liste complète, consultez Codes d’erreur REST de l’Espace partenaires.

Exemple de réponse

HTTP/1.1 201 Created
Content-Length: 1085
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: d628adbe-b7ee-412e-ac55-58f22b4ba2f4
MS-CV: Yy/YaA0gYEmfQyR/.0
MS-ServerId: 030020525
Date: Tue, 06 Jun 2017 23:11:40 GMT

{
    "enableGDAPByDefault": false,
    "id": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "commerceId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "companyProfile": {
        "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "domain": "WingtipToys678152504.onmicrosoft.com",
        "companyName": "Wingtip Toys",
        "links": {
            "self": {
                "uri": "/customers/aaaabbbb-0000-cccc-1111-dddd2222eeee/profiles/company",
                "method": "GET",
                "headers": []
            }
        },
        "attributes": {
            "objectType": "CustomerCompanyProfile"
        }
    },
    "billingProfile": {
        "id": "7079246e-7b62-56ef-7cbd-a819514b54b5",
        "email": "Gena@wingtiptoys.com",
        "culture": "en-US",
        "language": "En",
        "companyName": "Wingtip Toys",
        "defaultAddress": {
            "country": "US",
            "city": "Redmond",
            "state": "WA",
            "addressLine1": "One Microsoft Way",
            "postalCode": "98052",
            "firstName": "Gena",
            "lastName": "Soto",
            "phoneNumber": "4255550101"
        },
        "attributes": {
            "etag": "-8799889149591823008",
            "objectType": "CustomerBillingProfile"
        }
    },
    "relationshipToPartner": "reseller",
    "allowDelegatedAccess": true,
    "userCredentials": {
        "userName": "admin",
        "password": "0Krha*Io"
    },
    "associatedPartnerId": "484e548c-f5f3-4528-93a9-c16c6373cb59",
    "attributes": {
        "objectType": "Customer"
    }
}