Delen via


Verouderde callbackmeldingen voor mobiele abonnementen

Notitie

Op deze pagina worden verouderde callbackmeldingen voor mobiele abonnementen vermeld. Gebruik deze code alleen als referentie en implementeer deze code in de toekomst niet.

Levering van inlineprofielen

In het volgende diagram ziet u de stroom op hoog niveau voor de wijze waarop het programma Mobile Plans ondersteuning biedt voor het downloaden van een profiel zonder dat u de MODirect-portal hoeft te verlaten.

diagram waarin de downloadvolgorde voor inlineprofielen voor mobiele abonnementen wordt weergegeven.

Wanneer de MO Direct-portal gereed is voor het downloaden, installeren en activeren van een profiel, moet de portal MobilePlansInlineProfile.notifyInlineProfileDownloadaanroepen.

MobielePlannenInlineProfiel.notifyInlineProfielDownload

Parameternaam Type Beschrijving
purchaseMetadata Voorwerp Dit object bevat metagegevens over de aankoop van de gebruiker. Dit omvat details over het gebruikersaccount, de aankoopmethode of het instrument, details of de gebruiker een nieuwe lijn toevoegt, en de naam van het door de gebruiker gekochte abonnement. Al deze worden gebruikt voor rapportage.
activationCode Snaar De activeringscode voor het downloaden van het eSIM-profiel. De ICCID voor het profiel wordt afgeleid van de profielmetagegevens.

De volgende JavaScript-functie toont een voorbeeld van de API om de toepassing te informeren dat het downloaden van een inlineprofiel moet worden gestart.

function NotifyMobilePlans() {
    var purchaseMetaData = MobilePlans.createPurchaseMetaData();
    purchaseMetaData.userAccount = MobilePlansUserAccount.new;
    purchaseMetaData.purchaseInstrument = MobilePlansPurchaseInstrument.new;
    purchaseMetaData.lineType = MobilePlansLineType.new;
    purchaseMetaData.modirectStatus = MobilePlansMoDirectStatus.complete;
    purchaseMetaData.planName = "My Plan";
    MobilePlansInlineProfileDownload.registrationChangedScript = "onRegistrationChanged";
    MobilePlansInlineProfileDownload.profileActivationCompleteScript = "onActivationComplete";
    MobilePlansInlineProfileDownload.notifyInlineProfileDownload(purchaseMetaData , "1$smdp.address$matchingID");
}

Zie eigenschappenvan de aankoopmetadata voor details over het object puchaseMetadata.

Saldo toevoegen (verouderd)

Wanneer een gebruiker een aankoop in de MO Direct-portal voltooit door meer gegevens toe te voegen aan zijn account (geen profieldownload nodig omdat de gebruiker het huidige profiel op de eSIM heeft gebruikt), moet de MO-portal de MobilePlans.notifyBalanceAddition API terugsturen naar de app Mobile Plans.

MobielePlannen.saldoToevoegingMelden

Parameternaam Type Beschrijving
aankoopmetadata Object Dit object bevat metagegevens over de aankoop van de gebruiker. Dit omvat details over het gebruikersaccount, de aankoopmethode of het instrument, details als de gebruiker een nieuwe lijn toevoegt en de naam van het abonnement dat de gebruiker heeft gekocht. Al deze worden gebruikt voor rapportage.
iccid Snaar De ICCID waaraan gegevens worden toegewezen. Als deze ICCID niet actief is, activeert de app Mobile Plans het bijbehorende profiel.

De volgende JavaScript-functie toont een voorbeeld van de API om de toepassing te informeren dat de gebruiker een aankoop heeft voltooid met behulp van een profiel dat al beschikbaar is, maar niet noodzakelijkerwijs actief, op de eSIM.

function finishPurchaseWithBalanceAddition() {
       var metadata = MobilePlans.createPurchaseMetaData();
       metadata.userAccount = MobilePlansUserAccount.new;
       metadata.purchaseInstrument = MobilePlansPurchaseInstrument.none;
       metadata.moDirectStatus = MobilePlansMoDirectStatus.complete;
       metadata.line = MobilePlansLineType.new;
       metadata.planName = "2GB Monthly";
       MobilePlans.notifyBalanceAddition(metadata, "89000000000000000000");
   }

Zie metagegevens over aankoopkenmerken voor meer details over het puchaseMetadata-object.

Andere callbackmeldingen uit het verleden

De melding naar de app Mobile Plans moet worden verzonden met behulp van JavaScript met de volgende syntaxis:

DataMart.notifyPurchaseResult(notificationPayload);

Een voorbeeld van de meldingpayload voor een eSIM is als volgt:

let notificationPayload = new Object();
notificationPayload.ver = '1';
notificationPayload.purchaseResult = "{\"userAccount\":\"New\",\"purchaseInstrument\":\"New\",\"line\":\"New\",\"moDirectStatus\":\"Complete\",\"planName\":\"MyPlan\"}";
notificationPayload.success = true;
notificationPayload.transactionId = 'MSFT_ecf5a4d6-024c-46c3-8fcd-2c1f0deed572';
notificationPayload.activationCode = '1$trl.prod.ondemandconnectivity.com$JO46UQDI07IKQDGG';
notificationPayload.iccid = '8988247000101997790';

DataMart.notifyPurchaseResult(JSON.stringify(notificationPayload));

Een voorbeeld van de notificatiebelasting voor een fysieke SIM is als volgt:

let notificationPayload = new Object();
notificationPayload.ver = '1';
notificationPayload.purchaseResult = "{\"userAccount\":\"New\",\"purchaseInstrument\":\"New\",\"line\":\"New\",\"moDirectStatus\":\"Complete\",\"planName\":\"MyPlan\"}";
notificationPayload.success = true;
notificationPayload.transactionId = 'MSFT_ecf5a4d6-024c-46c3-8fcd-2c1f0deed572';
notificationPayload.iccid = '8988247000101997790';

DataMart.notifyPurchaseResult(JSON.stringify(notificationPayload));

Een voorbeeld van de meldinginhoud voor een eSIM waarbij de gebruiker de MO-portal zonder een geslaagde transactie heeft verlaten, is als volgt. Als u alle gevallen wilt implementeren die van toepassing zijn op uw specifieke implementatie, raadpleegt u de tabel die volgt op het voorbeeld.

let notificationPayload = new Object();
notificationPayload.ver = '1';
notificationPayload.purchaseResult = "{\"userAccount\":\"Bailed\",\"purchaseInstrument\":\"None\",\"line\":\"None\",\"moDirectStatus\":\"None\",\"planName\":\"\"}";
notificationPayload.success = false;
notificationPayload.transactionId = 'MSFT_ecf5a4d6-024c-46c3-8fcd-2c1f0deed572';
notificationPayload.activationCode = '';
notificationPayload.iccid = '';

DataMart.notifyPurchaseResult(JSON.stringify(notificationPayload));

De MO-portal-URI waarvandaan de melding wordt verzonden, moet met het beveiligde https- protocol zijn. U kunt de host opgeven, maar niet noodzakelijkerwijs het volledige pad, wat enige flexibiliteit voor de toekomst laat.

In de volgende tabel wordt elk veld in de JSON-nettolading van de melding beschreven:

JSON-veld Soort Beschrijving Voorbeeld
succes Booleaans Is waar als de gebruiker een MO Direct-abonnement heeft aangeschaft. “success”:true
iccid Snaar Voor een eSIM geeft dit de ICCID aan die de client moet gebruiken voor het gebruik van het MO Direct-abonnement dat is aangeschaft. iccid:”8988247000100297655”
activatiecode Snaar De activeringscode voor het ophalen van het eSIM-profiel. “ActivationCode”
transactionId Snaar De transactie-id die de MO-portal heeft ontvangen als een queryparameter toen de portal werd gestart. transctionId= rRi8OzhI3EiR02nm.2.0.1
aankoopresultaat Snaar Bevat de details van de gebruikersinteractie met de MO-portal.
gebruikersaccount Enumeratie Dit veld is vereist.

Mogelijke waarden:

  • Nieuw: Geeft aan dat er een nieuw gebruikersaccount is gemaakt door de gebruiker.
  • Bestaand: Geeft aan dat de gebruiker zich heeft aangemeld met een bestaand gebruikersaccount.
  • Bailed: Geeft aan dat de gebruiker de aankoopstroom bij deze stap heeft beëindigd.
  • Geen: Geeft aan dat de gebruiker deze stap niet heeft bereikt.
“userAccount”:”New”
purchaseInstrument Enumeratie Dit veld is vereist.

Mogelijke waarden:

  • Nieuw: Geeft aan dat de gebruiker een nieuwe betalingswijze heeft gebruikt.
  • Bestaand: Geeft aan dat de gebruiker een bestaande betalingswijze heeft gebruikt die in het bestand staat.
  • Bailed: Geeft aan dat de gebruiker de aankoopstroom bij deze stap heeft beëindigd.
  • Geen: Geeft aan dat de gebruiker deze stap niet heeft bereikt.
“purchaseInstrument”:”New”
lijn Enumeratie Dit veld is vereist.

Mogelijke waarden:

  • Nieuw: Geeft aan dat er een SIM-kaart is toegevoegd door het gebruikersaccount.
  • Bestaand: Geeft aan dat de bestaande lijn naar het apparaat is overgezet.
  • Bailed: Geeft aan dat de gebruiker de aankoopstroom bij deze stap heeft beëindigd.
  • Geen: Geeft aan dat de gebruiker deze stap niet heeft bereikt.
“line”:”New”
moDirectStatus Enumeratie Dit veld is vereist.

Mogelijke waarden:

  • Voltooid: Geeft aan dat de gebruiker de aankoop heeft voltooid.
  • ServiceError: geeft aan dat de gebruiker de aankoop niet kon voltooien vanwege een MO-servicefout.
  • InvalidSIM: Geeft aan dat de ICCID die is doorgegeven aan de portal onjuist was.
  • LogOnFailed: Geeft aan dat de gebruiker zich niet heeft aangemeld bij de MO-portal.
  • PurchaseFailed: Geeft aan dat de aankoop is mislukt vanwege een factureringsfout.
  • ClientError: Geeft aan dat ongeldige argumenten zijn doorgegeven aan de portal.
  • Geen: Geeft aan dat de gebruiker de transactie heeft beëindigd zonder een specifieke fout.
“moDirectStatus”:”Complete”
planName Snaar Voor een geslaagde transactie mag dit veld niet leeg zijn en moet deze een beschrijvende plannaam opgeven. Voor een mislukte transactie moet dit veld een lege tekenreeks zijn. “planName”:”prepaid_3GperMonth”