---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# CartJS - com escopo

# CartJS - com escopo {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 9 min. de leitura

A API CartJS fornece métodos que permitem acessar o carrinho de compras de um usuário.

Esta API é executada no namespace `sn_sc`. O plug-in Catálogo de serviços com escopo API (ID: com.glideapp.servicecatalog.scoped.api) que está habilitado por padrão é necessário para acessar a API CartJS.

## CartJS - CartJS (cadeia de caracteres "cartName") {#ariaid-title2}

Cria uma instância da classe CartJS com o nome de um carrinho definido para o usuário que está conectado no momento.
{#r_CJSS-CartJS_S__table_zs3_bhy_5z__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| carrinhoNome | Cadeia de caracteres | Opcional. Nome de um carrinho definido para o usuário que está conectado no momento. |
[Tabela 1. Parâmetros]

{#r_CJSS-CartJS_S__table_zs3_bhy_5z}  

    var cart = new sn_sc.CartJS(cart1);

## CartJS - addToCart (solicitação de mapa) {#ariaid-title3}

Adiciona a solicitação de um item do catálogo ao carrinho atual.
{#r_CJSS-addToCart_M__table_ecz_zjy_5z__entry__3}

| 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 é: { 'sysparm_id': item_id, 'sysparm_quantity': item_quantity, 'variables':{ 'var_name': 'var_value', ... } } * item_id: sys_id do item a ser adicionado ao carrinho * item_quantity: número de itens a serem adicionados. O valor padrão é 1. * var_name: nome da pergunta. * var_value: valor da resposta (não o valor de exibição). {#r_CJSS-addToCart_M__ul_tdn_1ly_5z} |
[Tabela 2. Parâmetros]

{#r_CJSS-addToCart_M__table_ecz_zjy_5z} {#r_CJSS-addToCart_M__table_fcz_zjy_5z__entry__2}

| Tipo | Descrição |
|-|-|
| JSON | Estrutura do carrinho atual. { 'subtotal': value, 'items':[ { itemName:'', quantity:'', price:'', recurring_price:'' } ...] } |
[Tabela 3. Retorna]

{#r_CJSS-addToCart_M__table_fcz_zjy_5z}  
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"
        }
      ]
    }

## CartJS - canViewRF() {#ariaid-title4}

Especifica se o usuário atual tem a função necessária para editar o campo Solicitar para.
{#CJSS-canViewRF__table_jy1_pzt_qbb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 4. Parâmetros]

{#CJSS-canViewRF__table_jy1_pzt_qbb} {#CJSS-canViewRF__table_ky1_pzt_qbb__entry__2}

| 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: * verdadeiro: o usuário tem a função necessária. * falso: o usuário não tem a função necessária. Tipo de dados: booliano |
[Tabela 5. Retorna]

{#CJSS-canViewRF__table_ky1_pzt_qbb}  
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

## CartJS - check-outCart() {#ariaid-title5}

Executa a finalização de compra 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.
{#r_CJSS-checkoutCart__table_vqd_hsd_zz__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 6. Parâmetros]

{#r_CJSS-checkoutCart__table_vqd_hsd_zz} {#r_CJSS-checkoutCart__table_wqd_hsd_zz__entry__2}

| Tipo | Descrição |
|-|-|
| JSON | Se a finalização de compra em duas etapas estiver habilitada, o resumo dos itens no carrinho será retornado. { "subtotal_price":"", "subtotal_recurring_frequency":"", "delivery_address":"", "special_instructions":"", "total_title":"", "requested_for_user":"System Administrator", "requested_for":"6816f79cc0a8016401c5a33be04be441", "daily": ["frequency_subtotal":"", "items":[{}, {}, ...], ...], "monthly":["frequency_subtotal":"", "items":[{}, {}, ...], ...], "annually":["frequency_subtotal":"", "items":[{}, {}, ...], ...], "none":["frequency_subtotal":"", "items":[{}, {}, ...], ...], } Se a finalização de compra em duas etapas estiver desabilitada: { 'request_id' : "sys_id of the generated request", "request_number" : "Number of the generated request" } |
[Tabela 7. Retorna]

{#r_CJSS-checkoutCart__table_wqd_hsd_zz}  

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

## CartJS - vazio () {#ariaid-title6}

Exclui o carrinho atual.
{#r_CJSS-empty__table_pzw_gjy_5z__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 8. Parâmetros]

{#r_CJSS-empty__table_pzw_gjy_5z} {#r_CJSS-empty__table_qzw_gjy_5z__entry__2}

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 9. Retorna]

{#r_CJSS-empty__table_qzw_gjy_5z}  

    var cart = new sn_sc.CartJS();
          cart.empty();

## CartJS -- getCartDetails() {#ariaid-title7}

Retorna os detalhes do carrinho.
{#CJSS-getCartDetails__table_kct_215_qbb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 10. Parâmetros]

{#CJSS-getCartDetails__table_kct_215_qbb} {#CJSS-getCartDetails__table_lct_215_qbb__entry__2}

| Tipo | Descrição |
|-|-|
| Objeto | Objeto que aponta para os detalhes do carrinho atual. |
[Tabela 11. Retorna]

{#CJSS-getCartDetails__table_lct_215_qbb}  
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" 

## CartJS - getCartID() {#ariaid-title8}

Retorna o ID do carrinho atual.
{#r_CJSS-getCartID__table_l4t_j3y_5z__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 12. Parâmetros]

{#r_CJSS-getCartID__table_l4t_j3y_5z} {#r_CJSS-getCartID__table_m4t_j3y_5z__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Sys_id do carrinho atual. |
[Tabela 13. Retorna]

{#r_CJSS-getCartID__table_m4t_j3y_5z}  
Retorna o sys_id do carrinho atual.

    var cart = new sn_sc.CartJS();
    var cartId = cart.getCartID();
    gs.info(cartId);

Saída

    039c516237b1300054b6a3549dbe5dfc

## CartJS - getCartItems() {#ariaid-title9}

Retorna um objeto GlideRecord que contém registros de itens no carrinho atual.
{#r_CJSS-getCartItems__table_c5z_53y_5z__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 14. Parâmetros]

{#r_CJSS-getCartItems__table_c5z_53y_5z} {#r_CJSS-getCartItems__table_d5z_53y_5z__entry__2}

| Tipo | Descrição |
|-|-|
| GlideRecord | Objeto GlideRecord, incluindo registros e campos da tabela Item \[sc_cart_item\] que descrevem um item no carrinho atual. |
[Tabela 15. Retorna]

{#r_CJSS-getCartItems__table_d5z_53y_5z}  
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"

## CartJS - getDeliveryAddress() {#ariaid-title10}

Retorna o endereço de entrega do carrinho atual.
{#r_CJSS-getDeliveryAddress__table_ns4_cny_5z__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 16. Parâmetros]

{#r_CJSS-getDeliveryAddress__table_ns4_cny_5z} {#r_CJSS-getDeliveryAddress__table_os4_cny_5z__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Endereço de entrega do carrinho atual. |
[Tabela 17. Retorna]

{#r_CJSS-getDeliveryAddress__table_os4_cny_5z}  
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

## CartJS -- getRequestedFor() {#ariaid-title11}

Retorna o sys_id do usuário para quem o carrinho foi solicitado.
{#r_CJSS-getRequestedFor__table_wds_4ly_5z__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 18. Parâmetros]

{#r_CJSS-getRequestedFor__table_wds_4ly_5z} {#r_CJSS-getRequestedFor__table_xds_4ly_5z__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Sys_id do registro do usuário para quem o carrinho é solicitado; localizado na tabela Usuário \[sys_user\]. |
[Tabela 19. Retorna]

{#r_CJSS-getRequestedFor__table_xds_4ly_5z}  
Retorna o sys_id do usuário associado ao carrinho.

    var cart = new sn_sc.CartJS();
    cart.setRequestedFor("039c516237b1300054b6a3549dbe5dfc")
    var userId = cart.getRequestedFor();
    gs.info(userId);

Saída

    039c516237b1300054b6a3549dbe5dfc

## CartJS -- getRequestedForDisplayName() {#ariaid-title12}

Retorna o nome do usuário para quem o carrinho atual é solicitado.
{#r_CJSS-getRequestedForDisplayName__table_y4j_dmy_5z__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 20. Parâmetros]

{#r_CJSS-getRequestedForDisplayName__table_y4j_dmy_5z} {#r_CJSS-getRequestedForDisplayName__table_z4j_dmy_5z__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Nome do usuário para quem o carrinho atual é solicitado; localizado na tabela Usuário \[sys_user\]. |
[Tabela 21. Retorna]

{#r_CJSS-getRequestedForDisplayName__table_z4j_dmy_5z}  
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

## CartJS -- getSpecialInstructions() {#ariaid-title13}

Retorna as instruções especiais do carrinho atual.
{#r_CJSS-getSpecialInstructions__table_mj2_5my_5z__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 22. Parâmetros]

{#r_CJSS-getSpecialInstructions__table_mj2_5my_5z} {#r_CJSS-getSpecialInstructions__table_nj2_5my_5z__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Instruções especiais para o carrinho atual. |
[Tabela 23. Retorna]

{#r_CJSS-getSpecialInstructions__table_nj2_5my_5z}  
Este exemplo mostra como definir e recuperar as instruções especiais do 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(Map request) {#ariaid-title14}

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.
{#r_CJSS-orderNow_M__table_n4w_b4d_zz__entry__3}

| 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.instruções_especiais | Cadeia de caracteres | Instruções a serem seguidas ao processar o pedido. |
| request.sysparm_quantity | Cadeia de caracteres | Quantidade do item especificado a ser comprado. 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 de sessão |
| request.variáveis | Matriz | Perguntas e respostas do cliente associadas ao item. |
| request.variables.var_name | Cadeia de caracteres | Nome da pergunta. |
| solicitação.variáveis.var_valor | Cadeia de caracteres | Resposta do cliente à pergunta associada. |
[Tabela 24. Parâmetros]

{#r_CJSS-orderNow_M__table_n4w_b4d_zz} {#r_CJSS-orderNow_M__table_o4w_b4d_zz__entry__2}

| Tipo | Descrição |
|-|-|
| Pares de chave/valor JSON | Saída se a finalização de compra em duas etapas estiver habilitada: { 'cart_id' : '<sys_id of the cart to which the items were added>' } Saída se a finalização de compra em duas etapas estiver desabilitada: { 'request_id' : '<sys_id of the generated request>', 'request_number' : '<Number of the generated request>' } |
[Tabela 25. Retorna]

{#r_CJSS-orderNow_M__table_o4w_b4d_zz}  


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

## CartJS - setDeliveryAddress(String address) {#ariaid-title15}

Define o endereço de entrega do carrinho atual.
{#r_CJSS-setDeliveryAddress_S__table_xjn_kny_5z__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| endereço | Cadeia de caracteres | Endereço de entrega do carrinho atual. |
[Tabela 26. Parâmetros]

{#r_CJSS-setDeliveryAddress_S__table_xjn_kny_5z} {#r_CJSS-setDeliveryAddress_S__table_yjn_kny_5z__entry__2}

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 27. Retorna]

{#r_CJSS-setDeliveryAddress_S__table_yjn_kny_5z}  


          var cart = new sn_sc.CartJS();
          cart.setDeliveryAddress("Brasilia, Brasil"); 
          
## CartJS - setRequestedFor(cadeia de caracteres do usuário) {#ariaid-title16}

Define o sys_id no registro sys_user do usuário para o qual o carrinho é solicitado.
{#CJSS-setRequestedFor_S__table_rdc_gxt_qbb__entry__3}

| 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. |
[Tabela 28. Parâmetros]

{#CJSS-setRequestedFor_S__table_rdc_gxt_qbb} {#CJSS-setRequestedFor_S__table_sdc_gxt_qbb__entry__2}

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 29. Retorna]

{#CJSS-setRequestedFor_S__table_sdc_gxt_qbb}  


    var cart = new sn_sc.CartJS();
    cart.setRequestedFor("039c516237b1300054b6a3549dbe5dfc")

## CartJS - setSpecialInstructions(cadeia de caracteres "specialInstructions") {#ariaid-title17}

Define as instruções especiais para o carrinho atual.
{#r_CJSS-setSpecialInstructions_S__table_iwt_5ny_5z__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| specialInstruções | Cadeia de caracteres | Instruções especiais para o carrinho atual. |
[Tabela 30. Parâmetros]

{#r_CJSS-setSpecialInstructions_S__table_iwt_5ny_5z} {#r_CJSS-setSpecialInstructions_S__table_jwt_5ny_5z__entry__2}

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 31. Retorna]

{#r_CJSS-setSpecialInstructions_S__table_jwt_5ny_5z}  


          var cart = new sn_sc.CartJS();
          cart.setSpecialInstructions("Delivery before 8 AM."); 
       
## CartJS - submitOrder(Map request) {#ariaid-title18}

Atualiza instruções especiais, solicitado para e endereço de entrega do parâmetro request e executa a finalização de compra 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 seu valor padrão.
{#r_CJSS-submitOrder_M__table_ymx_brd_zz__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| solicitação | Mapa | Um objeto JSON que contém detalhes do carrinho a ser enviado. { 'special_instructions': "String", 'requested_for': '"String", 'delivery_address': "String" } |
| request.instruções_especiais | 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 foi 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. |
[Tabela 32. Parâmetros]

{#r_CJSS-submitOrder_M__table_ymx_brd_zz} {#r_CJSS-submitOrder_M__table_zmx_brd_zz__entry__2}

| Tipo | Descrição |
|-|-|
| JSON | Estrutura do carrinho. { 'request_id' : 'sys_id of the generated Request', 'request_number' : 'Number of the generated Request' } |
[Tabela 33. Retorna]

{#r_CJSS-submitOrder_M__table_zmx_brd_zz}  
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 (solicitação de mapa, cadeia de caracteres carrinho_item_id) {#ariaid-title19}

Atualiza um item no carrinho.
{#r_CJSS-updateItem_M_S__table_zvx_npd_zz__entry__3}

| 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 é: { 'sysparm_quantity' : item_quantity, 'sysparm_requested_for' : requested_for, 'variables' : { 'var_name' : 'var_value', ... } } * item_quantity: número de itens a serem adicionados. O valor padrão é 1. * var_name: nome da pergunta. * var_value: valor da resposta (não o valor de exibição). {#r_CJSS-updateItem_M_S__ul_agy_ypd_zz} |
| carrinho_item_id | Cadeia de caracteres | sys_id do item do carrinho a ser modificado. |
[Tabela 34. Parâmetros]

{#r_CJSS-updateItem_M_S__table_zvx_npd_zz} {#r_CJSS-updateItem_M_S__table_awx_npd_zz__entry__2}

| Tipo | Descrição |
|-|-|
| JSON | Detalhes do carrinho. { 'subtotal': value, 'items':[ { itemName:'', quantity:'', price:'', recurring_price:'' } ...], ... } |
[Tabela 35. Retorna]

{#r_CJSS-updateItem_M_S__table_awx_npd_zz}  

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


