CartJS: Bereichsbezogen
Die CartJS- API stellt Methoden bereit, mit denen Sie auf den Einkaufswagen eines Anwenders zugreifen können.
Diese API wird im Namespace sn_sc ausgeführt. 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(String 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(Mapping-Anforderung)
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. |
In diesem Beispiel wird gezeigt, wie Sie dem Einkaufswagen mehrere Artikel hinzufügen können. Beachten Sie, dass var Cart = new sn_sc.CartJS(); befindet sich in der Schleife. Sie müssen sn_sc.CartJS() mehrmals aufrufen, um dem Einkaufswagen mehrere Artikel hinzufügen zu können.
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 verfügt, um das Feld „Angefordert für“ zu bearbeiten. Mögliche Werte:
Datentyp: Boolesch |
Dieses Codebeispiel für ein Hintergrundskript zeigt, wie überprüft wird, ob der aktuelle Anwender über die zum Bearbeiten des Felds „Angefordert für“ erforderliche Rolle verfügt.
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 mit Datensätzen und Feldern aus der Artikeltabelle [sc_cart_item], die einen Artikel im aktuellen Einkaufswagen beschreiben. |
Gibt die Feldwerte für Menge und Katalogelement 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; befindet sich in der 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. befindet sich in der 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 – getSpezielle Anweisungen ()
Gibt die Spezialanweisungen für den aktuellen Einkaufswagen zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Spezielle Anweisungen für den aktuellen Einkaufswagen. |
In diesem Beispiel wird gezeigt, wie die Spezialanweisungen 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.besondere_Anweisungen | Zeichenfolge | Anweisungen, die bei der Verarbeitung der Bestellung zu befolgen sind. |
| request.sysparm_quantity | Zeichenfolge | Menge des angegebenen Artikels für den Kauf. Standard: 1 |
| request.sysparm_requested_for | Zeichenfolge | Die sys_id des Anwenders, für den das Element angefordert wird. Standard: Sitzungsbenutzer |
| Anforderung.Variablen | Array | Fragen und Kundenantworten, die dem Element zugeordnet sind. |
| Anforderung.Variablen.var_name | Zeichenfolge | Name der Frage |
| Anforderung.Variablen.var_Wert | 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 - setSpezielleAnweisungen(Zeichenfolge sonderAnweisungen)
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(Mapping-Anforderung)
Aktualisiert Spezialanweisungen, „Angefordert für“ und Lieferadresse aus dem Parameter request und führt den Einkaufswagen-Checkout durch. Verwenden Sie diese API, um die genannten Parameter des Einkaufswagens zu ändern und den Einkaufswagen-Checkout gleichzeitig durchzuführen. Fehlende Parameter im Objekt request haben ihren Standardwert.
| Name | Typ | Beschreibung |
|---|---|---|
| Anforderung | Zuordnung | Ein JSON-Objekt, das Details zum Einkaufswagen enthält, der gesendet werden soll. |
| Anforderung.besondere_Anweisungen | Zeichenfolge | Der Bestellung beizufügende Spezialanweisungen. |
| request.requested_for | Zeichenfolge | Sys_id des Benutzers, für den der Auftrag angefordert wird. Befindet sich in der Tabelle „Benutzer“ [sys_user]. Standard: Der aktuelle Anwender. |
| request.delivery_address | Zeichenfolge | Lieferadresse für die Bestellung. |
| Typ | Beschreibung |
|---|---|
| JSON | Struktur des Einkaufswagens. |
Beispiel:
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(Mapping-Anforderung, 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" }