KartJS – Umfang
Die KartJS Die API bietet Methoden, mit denen Sie auf den Einkaufswagen eines Anwenders zugreifen können.
Diese API wird in ausgeführt sn_sc Namespace. Für den Zugriff auf die CartJS-API ist das standardmäßig aktivierte Service Catalog Scoped API-Plugin (ID: com.glideapp.servicecatalog.scoped.api) erforderlich.
CartJS: CartJS(Zeichenfolge cartName)
Erstellt eine Instanz der CartJS-Klasse mit dem Namen eines definierten Einkaufswagens für den aktuell angemeldeten Benutzer.
| Name | Typ | Beschreibung |
|---|---|---|
| cartName | Zeichenfolge | Optional. Name eines definierten Warenkorbs für den aktuell angemeldeten Benutzer. |
var cart = new sn_sc.CartJS(cart1);
CartJS – addToCart(Zuordnungsanforderung)
Fügt die Anforderung eines Katalogelements zum aktuellen Einkaufswagen hinzu.
| Name | Typ | Beschreibung |
|---|---|---|
| Anforderung | Zuordnung | Ein JSON-Objekt, das die Details des Katalogelements enthält, das dem Einkaufswagen hinzugefügt werden soll. Das request-Objekt hat folgende Struktur:
|
| Typ | Beschreibung |
|---|---|
| JSON | Struktur des aktuellen Einkaufswagens. |
Dieses Beispiel zeigt, wie Sie dem Einkaufswagen mehrere Artikel hinzufügen können. Beachten Sie das VAR-Einkaufswagen = New sn_sc.CartJS(); Befindet sich in der Schleife. Sie müssen anrufen sn_sc.CartJS() Mehrmals, um dem Einkaufswagen mehrere Artikel hinzuzufügen.
for (i = 0; i < 2; i++) {
var cart = new sn_sc.CartJS();
var item =
{
'sysparm_id': '0d08837237153000158bbfc8bcbe5d02',
'sysparm_quantity': '1',
'variables':{
'carrier': 'at_and_t_mobility',
'data_plan': '500MB',
'duration': 'eighteen_months',
'color': 'slate',
'storage': 'sixtyfour'
}};
var cartDetails = cart.addToCart(item);
gs.info(JSON.stringify(cartDetails));
}
Ausgabe
//The cart after the first item is added
{
"cart_id": "c0f5828a1b476010593876a61a4bcb71",
"subtotal": "$599.99",
"items": [
{
"catalog_item_id": "0d08837237153000158bbfc8bcbe5d02",
"quantity": "1",
"localized_price": "$599.99",
"price": "$599.99",
"recurring_frequency": "Monthly",
"localized_recurring_price": "$30.00",
"recurring_price": "$29.00",
"item_name": "Apple iPhone 5",
"cart_item_id": "40f5828a1b476010593876a61a4bcb72"
}
]
}
//The cart after the second item is added
{
"cart_id": "c0f5828a1b476010593876a61a4bcb71",
"subtotal": "$1,199.98",
"items": [
{
"catalog_item_id": "0d08837237153000158bbfc8bcbe5d02",
"quantity": "1",
"localized_price": "$599.99",
"price": "$599.99",
"recurring_frequency": "Monthly",
"localized_recurring_price": "$30.00",
"recurring_price": "$29.00",
"item_name": "Apple iPhone 5",
"cart_item_id": "40f5828a1b476010593876a61a4bcb72"
},
{
"catalog_item_id": "0d08837237153000158bbfc8bcbe5d02",
"quantity": "1",
"localized_price": "$599.99",
"price": "$599.99",
"recurring_frequency": "Monthly",
"localized_recurring_price": "$30.00",
"recurring_price": "$29.00",
"item_name": "Apple iPhone 5",
"cart_item_id": "98f5828a1b476010593876a61a4bcb75"
}
]
}
CartJS – canViewRF()
Gibt an, ob der aktuelle Benutzer die erforderliche Rolle zum Bearbeiten des Request for-Feldes hat.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der Anwender über die erforderliche Rolle zum Bearbeiten des Felds „angefordert für“ verfügt. Mögliche Werte:
Datentyp: Boolesch |
Dieses Hintergrundskriptcodebeispiel zeigt, wie überprüft wird, ob der aktuelle Anwender über die Rolle verfügt, die zum Bearbeiten des Felds angefordert für erforderlich ist.
gs.log(sn_sc.CartJS.canViewRF());
Antwort:
true
CartJS – checkoutCart()
Führt den Einkaufswagen-Checkout durch. Wenn der zweistufige Checkout aktiviert ist, wird die Bestellübersicht zurückgegeben. Wenn der zweistufige Checkout deaktiviert ist, wird der Einkaufswagen übermittelt und die Details der generierten Anforderung werden zurückgegeben.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| JSON | Wenn der zweistufige Checkout aktiviert ist, wird die Zusammenfassung der Artikel im Einkaufswagen zurückgegeben.
Wenn der zweistufige Checkout deaktiviert ist: |
var cart = new sn_sc.CartJS();
var checkoutInfo = cart.checkoutCart();
gs.info(checkoutInfo);
Ausgabe
If two step checkout enabled:
{"subtotal_price":"$2,748.49","subtotal_recurring_frequency":"","delivery_address":"","special_instructions":"","total_title":"Total","requested_for_user":"System Administrator","requested_for":"6816f79cc0a8016401c5a33be04be441","weekly":{"subtotal_price":"$399.50","subtotal_recurring_frequency":"Weekly","subtotal_recurring_price":"$0.00","total_title":"Total","items":[{"catalog_item_id":"e90a0f7237153000158bbfc8bcbe5d7f","variables":{},"quantity":"1","localized_price":"$399.50","price":"$399.50","recurring_frequency":"Weekly","localized_recurring_price":"$0.00","recurring_price":"$0.00","item_name":"Brother Network-Ready Color Laser Printer","cart_item_id":"f3f5c9b3c322320076173b0ac3d3ae00","delivery_time":"2 Days"}],"show_subtotal_price":"true","subtotal_title":"Subtotal"},"show_subtotal_price":"true","cart_id":"251c0562c326320076173b0ac3d3aeb4","subtotal_recurring_price":"$131.00","monthly":{"subtotal_price":"$849.99","subtotal_recurring_frequency":"Monthly","subtotal_recurring_price":"$31.00","total_title":"Total","items":[{"catalog_item_id":"d82ea08510247200964f77ffeec6c4ee","variables":{"Monthly data allowance":"500MB","Storage":"64GB","Color":"Space Gray","Is this a replacement for a lost or broken iPhone?":"No","What was the original phone number?":""},"quantity":"1","localized_price":"$799.99","price":"$849.99","recurring_frequency":"Monthly","localized_recurring_price":"$30.00","recurring_price":"$31.00","item_name":"Apple iPhone 6s Plus","cart_item_id":"18c509b3c322320076173b0ac3d3aef4","delivery_time":"2 Days"}],"show_subtotal_price":"true","subtotal_title":"Subtotal"},"yearly":{"subtotal_price":"$1,499.00","subtotal_recurring_frequency":"Annually","subtotal_recurring_price":"$100.00","total_title":"Total","items":[{"catalog_item_id":"774906834fbb4200086eeed18110c737","variables":{"Adobe Photoshop":"false","Adobe Acrobat":"false","Optional Software":"","Additional software requirements":"","Eclipse IDE":"true"},"quantity":"1","localized_price":"$1,499.00","price":"$1,499.00","recurring_frequency":"Annually","localized_recurring_price":"$100.00","recurring_price":"$100.00","item_name":"Developer Laptop (Mac)","cart_item_id":"6306c9b3c322320076173b0ac3d3ae89","delivery_time":"5 Days"}],"show_subtotal_price":"true","subtotal_title":"Subtotal"},"subtotal_title":"Subtotal"}
If two step checkout disabled:
{"request_number":"REQ0010001","request_id":"2f2789f3c322320076173b0ac3d3ae62"}
CartJS – leer()
Löscht den aktuellen Einkaufswagen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| void |
var cart = new sn_sc.CartJS();
cart.empty();
CartJS – getCartDetails()
Gibt die Einkaufswagendetails zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Objekt | Objekt, das auf die aktuellen Einkaufswagendetails zeigt. |
Beispiel:
var cart=new sn_sc.CartJS();
console.log (cart.getCartDetails());
Ausgabe:
delivery_address : "Brasilia,Brasil"
name : "DEFAULT"
requested_for : "62826bf03710200044e0bfc8bcbe5df1"
requested_for_display_name : "Abel Tuter"
special_instructions : ""
sys_id : "c2ac090087150300318d05a888cb0bd7"
CartJS – getCartID()
Gibt die ID des aktuellen Einkaufswagens zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | SYS_ID für den aktuellen Einkaufswagen. |
Gibt die sys_ID des aktuellen Einkaufswagens zurück.
var cart = new sn_sc.CartJS();
var cartId = cart.getCartID();
gs.info(cartId);
Ausgabe
039c516237b1300054b6a3549dbe5dfc
CartJS – getCartItems()
Gibt ein GlideRecord-Objekt zurück, das Datensätze für Artikel im aktuellen Einkaufswagen enthält.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| GlideRecord | GlideRecord-Objekt, einschließlich Datensätzen und Feldern aus der Tabelle „Artikel“ [sc_cart_item], die einen Artikel im aktuellen Einkaufswagen beschreiben. |
Gibt Mengen- und Katalogelementfeldwerte für Artikel im aktuellen Einkaufswagen zurück.
var cart = new sn_sc.CartJS();
var cartItems = cart.getCartItems();
while (cartItems.next()) {
gs.info(cartItems.getElement('quantity').getDisplayValue()
+ " x "
+ cartItems.getElement('cat_item').getDisplayValue());
}
Ausgabe
1 x Apple iPhone 6s Plus
1 x Apple iPhone 6s
1 x Apple MacBook Pro 15"
CartJS – getDeliveryAddress()
Gibt die Lieferadresse für den aktuellen Einkaufswagen zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Lieferadresse für den aktuellen Einkaufswagen. |
Legt die Lieferadresse für den aktuellen Einkaufswagen fest und gibt sie dann zurück.
var cart = new sn_sc.CartJS();
cart.setDeliveryAddress("Brasilia, Brasil");
var deliveryAddress = cart.getDeliveryAddress();
gs.info(deliveryAddress);
Ausgabe
Brasilia, Brasil
CartJS – getRequestedFor()
Gibt die sys_ID des Anwenders zurück, für den der Einkaufswagen angefordert wird.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | SYS_ID des Anwenderdatensatzes, für den der Einkaufswagen angefordert wird. Tabelle: Benutzer [sys_user] |
Gibt die sys_ID des Anwenders zurück, die dem Einkaufswagen zugeordnet ist.
var cart = new sn_sc.CartJS();
cart.setRequestedFor("039c516237b1300054b6a3549dbe5dfc")
var userId = cart.getRequestedFor();
gs.info(userId);
Ausgabe:
039c516237b1300054b6a3549dbe5dfc
CartJS – getRequestedForDisplayName()
Gibt den Namen des Anwenders zurück, für den der aktuelle Einkaufswagen angefordert wird.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Name des Anwenders, für den der aktuelle Einkaufswagen angefordert wird. Tabelle: Benutzer [sys_user] |
Gibt den Namen des Anwenders zurück, der dem Einkaufswagen zugeordnet ist.
var cart = new sn_sc.CartJS();
var userName = cart.getRequestedForDisplayName();
gs.info(userName);
Ausgabe:
Abel Tuter
CartJS – getSpecialInstructions()
Gibt die speziellen Anweisungen für den aktuellen Einkaufswagen zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Spezielle Anweisungen für den aktuellen Einkaufswagen. |
Dieses Beispiel zeigt, wie die speziellen Anweisungen für den aktuellen Einkaufswagen festgelegt und abgerufen werden.
var cart = new sn_sc.CartJS();
cart.setSpecialInstructions("Delivery before 8 AM.");
var specInstruction = cart.getSpecialInstructions();
gs.info(specInstruction);
Ausgabe
Delivery before 8 AM.
CartJS – orderNow(Zuordnungsanforderung)
Bestellt einen einzelnen Artikel. Wenn der zweistufige Checkout aktiviert ist, fügt die Methode den angegebenen Artikel dem Einkaufswagen hinzu und gibt die sys_ID des Einkaufswagens zurück. Wenn der zweistufige Checkout deaktiviert ist, schließt die Methode den Kauf des angegebenen Artikels ab und gibt die sys_ID der generierten Anforderung zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Anforderung | Karte | JSON-Objekt, das Details des zu bestellenden Katalogelements enthält. |
| request.delivery_address | Zeichenfolge | Adresse, an die die Artikel geliefert werden sollen. Standard: Adresse des Anwenders |
| Request.sysparm_ID | Zeichenfolge | Erforderlich. Die sys_ID des zu kaufenden Artikels. |
| Anforderung.special_Instructions | Zeichenfolge | Anweisungen, die bei der Verarbeitung des Auftrags befolgt werden sollen. |
| Request.sysparm_quantity | Zeichenfolge | Menge des angegebenen Artikels, der gekauft werden soll. Standard: 1 |
| Request.sysparm_requested_for | Zeichenfolge | Die sys_ID des Anwenders, für den das Element angefordert wird. Standard: Sitzungsanwender |
| Anforderung.Variablen | Array | Fragen und Kundenantworten, die dem Element zugeordnet sind. |
| Anforderung.Variablen.var_Name | Zeichenfolge | Name der Frage |
| Anforderung.Variablen.var_value | Zeichenfolge | Antwort des Kunden auf die zugehörige Frage. |
| Typ | Beschreibung |
|---|---|
| JSON-Schlüssel/Wert-Paare | Ausgabe, wenn der zweistufige Checkout aktiviert ist:
Ausgabe, wenn der zweistufige Checkout deaktiviert ist: |
var cart = new sn_sc.CartJS();
var request =
{
'sysparm_id': '0d08837237153000158bbfc8bcbe5d02',
'sysparm_quantity': '1',
'variables':{
'carrier': 'at_and_t_mobility',
'data_plan': '500MB',
'duration': 'eighteen_months',
'color': 'slate',
'storage': 'sixtyfour'
}
}
var cartDetails = cart.orderNow(request);
gs.info(cartDetails);
Ausgabe
// If two-step checkout is enabled:
{"cart_id":"55384df3c322320076173b0ac3d3aec5"}
// If two-step checkout is disabled:
{"request_id":"4c690137c322320076173b0ac3d3ae03", "request_number": "REQ0010003"}
CartJS – setDeliveryAddress(Zeichenfolgenadresse)
Legt die Lieferadresse für den aktuellen Einkaufswagen fest.
| Name | Typ | Beschreibung |
|---|---|---|
| address | Zeichenfolge | Lieferadresse für den aktuellen Einkaufswagen. |
| Typ | Beschreibung |
|---|---|
| void |
var cart = new sn_sc.CartJS();
cart.setDeliveryAddress("Brasilia, Brasil");
CartJS – setRequestedFor(String user)
Legt die sys_id im sys_user-Datensatz des Benutzers fest, für den der Einkaufswagen angefordert wird.
| Name | Typ | Beschreibung |
|---|---|---|
| Anwender | Zeichenfolge | sys_id, die im sys_user-Datensatz des Benutzers festgelegt werden soll, für den der Einkaufswagen angefordert wird. |
| Typ | Beschreibung |
|---|---|
| void |
var cart = new sn_sc.CartJS();
cart.setRequestedFor("039c516237b1300054b6a3549dbe5dfc")
CartJS – setSpecialInstructions(Zeichenfolge SpecialInstructions)
Legt die speziellen Anweisungen für den aktuellen Einkaufswagen fest.
| Name | Typ | Beschreibung |
|---|---|---|
| specialInstructions | Zeichenfolge | Spezielle Anweisungen für den aktuellen Einkaufswagen. |
| Typ | Beschreibung |
|---|---|
| void |
var cart = new sn_sc.CartJS();
cart.setSpecialInstructions("Delivery before 8 AM.");
CartJS – submitOrder(Zuordnungsanforderung)
Aktualisiert Sonderanweisungen, „angefordert für“ und die Lieferadresse von requestParameter und führt den Einkaufswagen-Checkout aus. Verwenden Sie diese API, um die genannten Parameter des Einkaufswagens zu ändern und den Einkaufswagen-Checkout gleichzeitig durchzuführen. Fehlende Parameter in requestObjekt hat seinen Standardwert.
| Name | Typ | Beschreibung |
|---|---|---|
| Anforderung | Karte | JSON-Objekt, das Details des zu übermittelnden Einkaufswagens enthält. |
| Anforderung.special_Instructions | Zeichenfolge | Spezielle Anweisungen, die der Bestellung beigefügt werden sollen. |
| Anforderung.angefordert_für | Zeichenfolge | SYS_ID des Anwenders, für den der Auftrag angefordert wird. Standard: Der aktuelle Anwender. Tabelle: Benutzer [sys_user] |
| request.delivery_address | Zeichenfolge | Lieferadresse für die Bestellung. |
| Typ | Beschreibung |
|---|---|
| JSON | Struktur des Einkaufswagens. |
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
var cart = new sn_sc.CartJS();
var request =
{
'special_instructions' : 'Delivery only in working hours',
'requested_for' : '62826bf03710200044e0bfc8bcbe5df1',
'delivery_address' : "Brasilia, Brasil",
};
var requestDetails = cart.submitOrder(request);
gs.info(JSON.stringify(requestDetails));
Ausgabe:
{"request_id":"6eed229047801200e0ef563dbb9a71c2", "request_number": "REQ0000001"}
CartJS – updateItem (Zuordnungsanforderung, Zeichenfolge Cart_item_ID)
Aktualisiert einen Artikel im Einkaufswagen.
| Name | Typ | Beschreibung |
|---|---|---|
| Anforderung | Zuordnung | Ein JSON-Objekt, das Details des zu aktualisierenden Katalogelements enthält. Das request-Objekt hat folgende Struktur:
|
| cart_item_id | Zeichenfolge | sys_id des zu ändernden Artikels im Einkaufswagen. |
| Typ | Beschreibung |
|---|---|
| JSON | Details zum Einkaufswagen. |
var cart = new sn_sc.CartJS();
var request =
{
'sysparm_quantity': '1',
'variables':{
'carrier': 'at_and_t_mobility',
'data_plan': '500MB',
'duration': 'eighteen_months',
'color': 'slate',
'storage': 'sixtyfour'
}
};
var cart_item_id = "4d69b672c322320076173b0ac3d3ae79";
var cartDetails = cart.updateItem(request, cart_item_id);
gs.info(cartDetails);
Ausgabe
{ "cart_id":"35ec9e8947a13200e0ef563dbb9a7109", "items":[ { "cart_item_id":"35ec9e8947a13200e0ef563dbb9a710a", "catalog_item_id":"0d08837237153000158bbfc8bcbe5d02", "item_name":"Apple iPhone 5", "localized_price":"$799.99", "localized_recurring_price":"$30.00", "price":"$799.99", "quantity":"1", "recurring_frequency":"Monthly", "recurring_price":"$29.00" } ] "subtotal":"$799.99" }