Dela via


Bekräfta kundens godkännande och skapa avtal för MCA med hjälp av API:er

Viktigt!

Den här artikeln gäller en upplevelse som endast är tillgänglig i CSP-integreringssandlådan och startar den 11 april 2025. Upplevelsen är avsedd att bli allmänt tillgänglig den 10 juli 2025.

Gäller för: Partnercenter

Gäller inte för: Partnercenter som drivs av 21Vianet | Partnercenter för Microsoft Cloud for US Government

Partnercenter har för närvarande stöd för att bekräfta kundgodkännande av Microsoft-kundavtalet (MCA) endast i Microsofts offentliga moln. Den här artikeln beskriver hur du bekräftar eller bekräftar kundens godkännande av MCA och sedan skapar avtalet för en viss kund. Den här informationen gäller för CSP-partner för indirekt leverantör och direktfakturering. Indirekta återförsäljare kan inte använda den här upplevelsen.

Förutsättningar

  • Autentiseringsuppgifter enligt beskrivningen i Partner Center-autentisering. Det här scenariot stöder endast AppOnly-autentisering.

  • Information om användaren från kundorganisationen som accepterade MCA, inklusive:

    • Förnamn
    • Efternamn
    • E-postadress
    • Telefonnummer (valfritt)
    • Företagsnamn

Om följande värden ändras för en kund kan du med Partnercenter skapa ett annat avtal för kunden. Förnamn, Efternamn, E-postadress och Telefonnummer måste skilja sig åt. I annat fall får partner följande felkod på grund av att en duplicerad post skapas.

{
"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"
}

Skapa partnerattestering och avtalsskapande med API:er

Det förbättrade attesterings-API:et hjälper partner att skapa och hantera kundattester som de kan bädda in i ett utcheckningsflöde. Partners kan sedan använda kundintyget för att skapa ett avtal för en viss kund.

Bekräfta eller bekräfta kundens godkännande av MCA och skapa sedan ett avtal för en kund:

  1. Skapa ett nytt attesteringsobjekt (attesterings-ID) med hjälp av API:et för utökad kundattestering för en kund.

  2. Skapa URL:en för den inbäddningsbara komponenten som kan användas i alla utcheckningsflöden för att acceptera MCA. Du måste se till att kunderna ser MCA och accepterar den med hjälp av den parametriserade länken som tillhandahålls av Microsoft.

  3. Skapa avtalet med hjälp av Skapa avtals-API med hjälp av attesterings-ID:t.

Använda förbättrat kundattesterings-API

Slutpunkt

POST https://api.partnercenter.microsoft.com/v{version}/attestations/enhanced

Beskrivning

Skapar ett attesterings-ID för en kund som sedan kan användas för att intyga MCA för kunden.

Auktorisering

  • Kräver autentisering.

  • Kräver PartnerAuthorize(PartnerApiResource.PartnerConfirmation, ResourceAccess.Create).

Begärandekropp

Fält Typ Krävs Förinställning Validering Beskrivning
land snöre Ja USA Kundens landskod (ISO 3166-1 alpha-2)
Språk snöre Ja "en-US" Föredraget språk för avtal
företagsNamn snöre Ja Namnet på företaget som godkänner avtalet
signatärFörnamn snöre Ja Förnamnet på den person som undertecknade avtalet
signatärensEfternamn snöre Ja Efternamn på den person som undertecknade avtalet
e-postadress snöre Ja Giltigt e-postformat Undertecknarens e-postadress
telefonnummer snöre Ja Undertecknarens telefonnummer
utgångstidIMinuter integer Nej 60 5 till 10080 Förfallotid i minuter för attesteringen

Anpassad förfallofunktion

Med parametern expirationInMinutes kan du anpassa hur länge attesteringen är giltig:

  • Standard: 60 minuter (en timme)
  • Minst: 5 minuter
  • Maximalt: 10 080 minuter (sju dagar)
  • Beteende: Attesteringen upphör automatiskt att gälla och blir otillgänglig efter den angivna tiden

Svar

Lyckat svar (201 skapades)

{"attestationId": "550e8400-e29b-41d4-a716-446655440000"}

Svarshuvuden:

HTTP/1.1 201 Skapad

Plats: /attestations/enhanced/550e8400-e29b-41d4-a716-446655440000

Innehållstyp: application/json

Felsvar:

400 Felaktig begäran – valideringsfel

{"type": "validation","title": "Ett eller flera valideringsfel har inträffat","status": 400,"errors": {"ExpirationInMinutes": ["UtgångOmMinuter måste vara mellan 5 minuter och 7 dagar (10 080 minuter)."]}}

400 Felaktig begäran – obligatoriska fält saknas

{"type": "validation","title": "Ett eller flera valideringsfel inträffade","status": 400,"errors": {"Företagsnamn": ["Fältet Företagsnamn krävs."],"E-postadress": ["Fältet E-postadress krävs."]}}

401 Inte auktoriserad

{"error": "unauthorized","error_description": "Åtkomsttoken är ogiltig eller har upphört att gälla"}

404 – Hittades inte

{"error": "Det här API:et är inte tillgängligt för din partnertyp"}

Användningsexempel

Exempel 1: Grundläggande attestering (standardtid på en timme)
POST {baseUrl}/attestations/enhanced 

Content-Type: application/jsonAuthorization: Bearer {token} 
 
{ 
  "country": "US", 
  "language": "en-US",   
  "companyName": "Contoso Ltd", 
  "signatoryLastName": "Smith", 
  "signatoryFirstName": "John", 
  "emailAddress": "john.smith@contoso.com", 
  "phoneNumber": "+1-555-0123" 
}
Exempel 2: Snabbattestering (30 minuter)
POST {baseUrl}/attestations/enhanced 

Content-Type: application/jsonAuthorization: Bearer {token} 
 
{ 
  "country": "US", 
  "language": "en-US",
  "companyName": "Quick Corp", 
  "signatoryLastName": "Fast", 
  "signatoryFirstName": "Lightning", 
  "emailAddress": "lightning@quickcorp.com", 
  "phoneNumber": "+1-555-0456", 
  "expirationInMinutes": 30 
}
Exempel 3: Utökad attestering (tre dagar)
POST {baseUrl}/attestations/enhanced 

Content-Type: application/jsonAuthorization: Bearer {token} 
 
{ 
  "country": "US", 
  "language": "en-US", 
  "companyName": "Extended Solutions Inc", 
  "signatoryLastName": "Patient", 
  "signatoryFirstName": "Very", 
  "emailAddress": "very.patient@extendedsolutions.ca", 
  "phoneNumber": "+1-555-0789", 
  "expirationInMinutes": 4320 
}

Använda inbäddningsbar komponent

AttestationId som returneras av Enhanced Customer Attestation API kan användas som en parameter i länken nedan för att visa MCA för kunden i en komponent som kan bäddas in. Partnerna måste se till att kunderna ser MCA och accepterar detsamma med hjälp av den parametriserade länken som tillhandahålls av Microsoft.

<iframe src="https://cdn.partner.microsoft.com/mca/?attestationid={id}"></iframe> 

Länken återger MCA-avtalet och innehåller knappen "Acceptera avtal". väljer samma sak, anropar ett POST-API som samlar in kundens avsikt att acceptera MCA. Det är en förutsättning för att partner ska kunna anropa CREATE Agreement API .

Skapa avtals-API

Skapar ett avtal för en kunds räkning.

POST https://api.partnercenter.microsoft.com/v{version}/customers/{customer_id}/agreements

URI parametrar

Namn I Krävs Typ Beskrivning
kund-id väg Sann snöre Kund-ID
version väg Sann snöre

Begärandehuvud

Medietyper: "application/json"

Namn Krävs Typ Beskrivning
Auktorisering Sann snöre Token för auktoriseringsbärare
ms-correlationid snöre Används för att spåra begäranden internt. Om ett ms-correlationid inte tillhandahålls genererar servern en ny för varje begäran
ms-cv snöre Används för att spåra begäranden internt. Om en ms-cv inte tillhandahålls genererar servern en ny för varje begäran
ms-requestid snöre Används för begärandens idempotens. Om ett ms-requestid inte har angetts genererar servern en ny för varje begäran

Begärandekropp

Medietyper: "application/json"

Namn Typ Beskrivning
Avtal Microsoft.Partner.Service.Customers.Contracts.V1.Avtal Överenskommelse

Svaren

Namn Typ Beskrivning
200 Okej objekt OK Medietyper: "application/json", "text/json", "application/xml", "text/xml"
201 Skapat Microsoft.Partner.Service.Customers.Contracts.V1.Avtal Begäran lyckades. Avtalet har skapats framgångsrikt. Typ av media: "application/json", "text/json", "application/xml", "text/xml"

Definitioner

Namn Beskrivning
Microsoft.Partner.Service.Customers.Contracts.V1.Avtal
Microsoft.Partner.Service.Customers.Contracts.V1.Contact

Microsoft.Partner.Service.Customers.Contracts.V1.Avtal

Namn Typ Beskrivning
avtalslänk snöre
överenskommet datum snöre Datumet då kunden accepterade avtalet
huvudkontaktperson Microsoft.Partner.Service.Customers.Contracts.V1.Contact Information om användaren från kundorganisationen som accepterade MCA, inklusive: firstName, lastName, email och phoneNumber (valfritt) Obs! Det här fältet kan lämnas tomt om attesterings-ID anges. Om den inte lämnas tom ska informationen här matcha specifikationerna från det förbättrade attesteringsdokumentet. Ingen validering sker på den primaryContact-information som delas här jämfört med informationen i API:et för förbättrad kundattestering. Det här fältet krävs endast om attesterings-ID inte tillhandahålls, till exempel om en partner använder v1 eller ett gammalt API för attestering. Mer information finns i API för förbättrad kundattestering i den här artikeln.

Se Exempelbegäran för att förstå payload.
template-id snöre Unik identifierare för den avtalstyp som accepteras av kunden. Du kan hämta templateId för MCA genom att hämta avtalsmetadata för MCA. Mer information finns i Hämta avtalsmetadata för MCA.
typ uppräkning:
– MicrosoftCloudAgreement
– MicrosoftCustomerAgreement
Avtalstyp som accepteras av kunden. Använd "MicrosoftCustomerAgreement" om kunden accepterade MCA.
Användar-ID snöre
attestationId (ny) riktlinje ID för förbättrad attestering med hjälp av Enhanced Customer Attestation API.

Microsoft.Partner.Service.Customers.Contracts.V1.Contact

Namn Typ Beskrivning
Mejladress snöre
förnamn snöre
efternamn snöre
telefonnummer snöre

Exempel på en begärans nyttolast

Exempelnyttolast när utökat attesterings-API används

{"userId": "80fdc6b6-ad7c-4783-be01-7b8002d2a949","attestationId": "d7cb60a6-b8d3-486a-b7f5-b17ef03d3427","templateId": "117a77b0-9360-443b-8795-c6dedc750cf9","dateAgreed": "2025-06-03T16:42:12","type": "MicrosoftCustomerAgreement"} 

Om användaren vill använda den befintliga metoden för attestering (tills den är inaktuell) och inte det nya förbättrade API:et kan de anropa API:et för att skapa avtal med den primära kontaktuppgifterna