CarrinhoJS - com escopo
A API CartJS permite que você acesse o carrinho de compras de um usuário.
Para usar essa classe em uma aplicação com escopo, use o identificador de namespace sn_sc. O plug-in API com escopo do Catálogo de serviços (ID: com.glideapp.servicecatalog.scoped.api) que está habilitado por padrão é necessário para acessar a API do carrinhoJS.
CartJS - addToCart(solicitação de mapa)
Adiciona a solicitação de um item do catálogo ao carrinho atual.
| Nome | Tipo | Descrição |
|---|---|---|
| solicitação | Mapa | Um objeto JSON que contém os detalhes do item do catálogo a ser adicionado ao carrinho. A estrutura do objeto request é:
|
| Tipo | Descrição |
|---|---|
| JSON | Estrutura do carrinho atual. |
Este exemplo mostra como você pode adicionar vários itens ao carrinho. Observe que var carrinho = new sn_sc.CartJS(); está dentro do loop. Você deve chamar sn_sc.CartJS() várias vezes para poder adicionar vários itens ao carrinho.
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));
}
Saída
//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"
}
]
}
CarrinhoJS - CarrinhoJS(cadeia de caracteres "cartName")
Cria uma instância da classe CarrinhoJS com o nome de um carrinho definido para o usuário que está conectado no momento.
| Nome | Tipo | Descrição |
|---|---|---|
| Nome do carrinho | Cadeia de caracteres | Opcional. Nome de um carrinho definido para o usuário que está conectado no momento. |
var cart = new sn_sc.CartJS(cart1);
CarrinhoJS – check-outCart()
Executa o check-out do carrinho. Se a finalização de compra em duas etapas estiver habilitada, retornará o resumo do pedido. Se a finalização de compra em duas etapas estiver desabilitada, o carrinho será enviado e os detalhes da solicitação gerada serão retornados.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| JSON | Se a finalização de compra em duas etapas estiver habilitada, o resumo dos itens no carrinho será retornado.
Se a finalização de compra em duas etapas estiver desabilitada: |
Exemplo
var cart = new sn_sc.CartJS();
var checkoutInfo = cart.checkoutCart();
gs.info(checkoutInfo);
Saída
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"}
CarrinhoJS - vazio ()
Exclui o carrinho atual.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| vazio |
var cart = new sn_sc.CartJS();
cart.empty();
CarrinhoJS – getCartID()
Retorna o ID do carrinho atual.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Sys_id do carrinho atual. |
Retorna o sys_id do carrinho atual.
var cart = new sn_sc.CartJS();
var cartId = cart.getCartID();
gs.info(cartId);
Saída
039c516237b1300054b6a3549dbe5dfc
CarrinhoJS – getCartItems()
Retorna um objeto GlideRecord que contém registros de itens no carrinho atual.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| GlideRecord | Objeto GlideRecord, incluindo registros e campos da tabela Item [sc_cart_item] que descrevem um item no carrinho atual. |
Retorna a quantidade e os valores do campo Item do catálogo para itens no carrinho atual.
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());
}
Saída
1 x Apple iPhone 6s Plus
1 x Apple iPhone 6s
1 x Apple MacBook Pro 15"
CarrinhoJS - getDeliveryAddress()
Retorna o endereço de entrega do carrinho atual.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Endereço de entrega do carrinho atual. |
Define e retorna o endereço de entrega do carrinho atual.
var cart = new sn_sc.CartJS();
cart.setDeliveryAddress("Brasilia, Brasil");
var deliveryAddress = cart.getDeliveryAddress();
gs.info(deliveryAddress);
Saída
Brasilia, Brasil
CarrinhoJS – getRequestedFor()
Retorna o sys_id do usuário para o qual o carrinho é solicitado.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Sys_id do registro do usuário para o qual o carrinho é solicitado; localizado na tabela Usuário [sys_user]. |
Retorna o usuário sys_id associado ao carrinho.
var cart = new sn_sc.CartJS();
cart.setRequestedFor("039c516237b1300054b6a3549dbe5dfc")
var userId = cart.getRequestedFor();
gs.info(userId);
Saída
039c516237b1300054b6a3549dbe5dfc
CarrinhoJS – getRequestedForDisplayName()
Retorna o nome do usuário para o qual o carrinho atual é solicitado.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Nome do usuário para quem o carrinho atual é solicitado; localizado na tabela Usuário [sys_user]. |
Retorna o nome do usuário associado ao carrinho.
var cart = new sn_sc.CartJS();
var userName = cart.getRequestedForDisplayName();
gs.info(userName);
Saída
Abel Tuter
CarrinhoJS – getSpecialInstructions()
Retorna as instruções especiais para o carrinho atual.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Instruções especiais para o carrinho atual. |
Este exemplo mostra como definir e recuperar as instruções especiais para o carrinho atual.
var cart = new sn_sc.CartJS();
cart.setSpecialInstructions("Delivery before 8 AM.");
var specInstruction = cart.getSpecialInstructions();
gs.info(specInstruction);
Saída
Delivery before 8 AM.
CartJS - orderNow(solicitação de mapa)
Solicita um único item. Se a finalização de compra em duas etapas estiver habilitada, o método adicionará o item especificado ao carrinho e retornará o sys_id do carrinho. Se a finalização de compra em duas etapas estiver desabilitada, o método concluirá a compra do item especificado e retornará o sys_id da solicitação gerada.
| Nome | Tipo | Descrição |
|---|---|---|
| solicitação | Mapa | Objeto JSON que contém detalhes do item do catálogo a ser solicitado. |
| request.delivery_address | Cadeia de caracteres | Endereço para o qual os itens serão entregues. Padrão: endereço do usuário |
| request.sysparm_id | Cadeia de caracteres | Obrigatório. O sys_id do item a ser comprado. |
| request.special_instrutions | Cadeia de caracteres | Instruções a serem seguidas ao processar o pedido. |
| request.sysparm_quantity | Cadeia de caracteres | Quantidade do item especificado para compra. Padrão: 1 |
| request.sysparm_requested_for | Cadeia de caracteres | O sys_id do usuário para quem o item é solicitado. Padrão: usuário da sessão |
| request.variáveis | Matriz | Perguntas e respostas do cliente associadas ao item. |
| request.variables.var_name | Cadeia de caracteres | Nome da pergunta. |
| request.variables.var_value | Cadeia de caracteres | Resposta do cliente à pergunta associada. |
| Tipo | Descrição |
|---|---|
| Pares de chave/valor JSON | Saída se a finalização de compra em duas etapas estiver habilitada:
Saída se a finalização de compra em duas etapas estiver desabilitada: |
Exemplo
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);
Saída
// If two-step checkout is enabled:
{"cart_id":"55384df3c322320076173b0ac3d3aec5"}
// If two-step checkout is disabled:
{"request_id":"4c690137c322320076173b0ac3d3ae03", "request_number": "REQ0010003"}
CarrinhoJS - setDeliveryAddress(cadeia de caracteres "endereço")
Define o endereço de entrega do carrinho atual.
| Nome | Tipo | Descrição |
|---|---|---|
| endereço | Cadeia de caracteres | Endereço de entrega do carrinho atual. |
| Tipo | Descrição |
|---|---|
| vazio |
var cart = new sn_sc.CartJS();
cart.setDeliveryAddress("Brasilia, Brasil");
CarrinhoJS - setSpecialInstrutions(cadeia de caracteres "specialInstrutions")
Define as instruções especiais para o carrinho atual.
| Nome | Tipo | Descrição |
|---|---|---|
| instruções especiais | Cadeia de caracteres | Instruções especiais para o carrinho atual. |
| Tipo | Descrição |
|---|---|
| vazio |
var cart = new sn_sc.CartJS();
cart.setSpecialInstructions("Delivery before 8 AM.");
CartJS - submitOrder(Map request)
Atualiza instruções especiais, solicitados para e endereço de entrega do parâmetro request e executa o check-out do carrinho. Use esta API para modificar os parâmetros mencionados do carrinho e executar a finalização de compra do carrinho simultaneamente. Os parâmetros ausentes no objeto request terão o valor padrão.
| Nome | Tipo | Descrição |
|---|---|---|
| solicitação | Mapa | Um objeto JSON que contém detalhes do carrinho a ser enviado. |
| request.special_instrutions | Cadeia de caracteres | Instruções especiais a serem incluídas no pedido. |
| request.requested_for | Cadeia de caracteres | Sys_id do usuário para o qual o pedido é solicitado. Localizado na tabela Usuário [sys_user]. Padrão: o usuário atual. |
| request.delivery_address | Cadeia de caracteres | Endereço de entrega do pedido. |
| Tipo | Descrição |
|---|---|
| JSON | Estrutura do carrinho. |
Exemplo:
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));
Saída:
{"request_id":"6eed229047801200e0ef563dbb9a71c2", "request_number": "REQ0000001"}
CartJS - updateItem(Mapear solicitação, Cadeia de caracteres "cart_item_id")
Atualiza um item no carrinho.
| Nome | Tipo | Descrição |
|---|---|---|
| solicitação | Mapa | Um objeto JSON que contém detalhes do item do catálogo a ser atualizado. A estrutura do objeto request é:
|
| id_item_carrinho | Cadeia de caracteres | sys_id do item do carrinho a ser modificado. |
| Tipo | Descrição |
|---|---|
| JSON | Detalhes do carrinho. |
Exemplo
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);
Saída
{ "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" }
CarrinhoJS – canViewRF()
Especifica se o usuário atual tem a função necessária para editar o campo Solicitação para.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se o usuário tem a função necessária para editar o campo solicitado para. Valores possíveis:
Tipo de dados: booliano |
Este exemplo de código de script em segundo plano mostra como verificar se o usuário atual tem a função necessária para editar o campo solicitado para.
gs.log(sn_sc.CartJS.canViewRF());
Resposta:
true
CarrinhoJS – getCartDetails()
Retorna os detalhes do carrinho.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto que aponta para os detalhes do carrinho atual. |
Exemplo:
var cart=new sn_sc.CartJS();
console.log (cart.getCartDetails());
Saída:
delivery_address
:
"Brasilia,Brasil"
name
:
"DEFAULT"
requested_for
:
"62826bf03710200044e0bfc8bcbe5df1"
requested_for_display_name
:
"Abel Tuter"
special_instructions
:
""
sys_id
:
"c2ac090087150300318d05a888cb0bd7"
CarrinhoJS - setRequestedFor(cadeia de caracteres usuário)
Define o sys_id no registro sys_user do usuário para o qual o carrinho é solicitado.
| Nome | Tipo | Descrição |
|---|---|---|
| usuário | Cadeia de caracteres | sys_id a ser definido no registro sys_user do usuário para o qual o carrinho é solicitado. |
| Tipo | Descrição |
|---|---|
| vazio |
Exemplo
var cart = new sn_sc.CartJS();
cart.setRequestedFor("039c516237b1300054b6a3549dbe5dfc")