Skip to content

To install the plugin the administrator should register the plugin on ONe via swagger.

Link to plugins swagger:

https://api-prod.onecommerce.shop/swagger/plugins/swagger-ui/index.html?urls.primaryName=plugins integration v1

The registration of the plugin is with the PUT plugin-integration-controller:

PUT

/api/v1/plugins/integrations/auth-required/plugin/{id}

JSON of the plugin’s BackOffice part:

ID: onecableplugin

{
   "author":"HAD IT Services Kft.",
   "authorizeWithOne":true,
   "name":{
      "en":"Cable plugin",
      "hu":"Cable plugin",
      "pl":"Cable plugin"

   },
   "components":[
      {
         "type":"iframe_bo",
         "id":"cable_bo_admin",
         "buttonLabel":{
            "en":"Cable administration panel",
            "hu":"Cable administration panel",
            "pl":"Cable administration panel"
         },
         "buttonIcon":"cil-layers",
         "page":{
            "slug":"one-cable-plugin",
            "iframeUrl":"https://ase-onecable-prod-westeu-01.azurewebsites.net?culture=pl-PL",
            "title":{
               "en":"Cable administration panel",
               "hu":"Cable administration panel",
               "pl":"Cable administration panel"
            }
         }
      },
      {
         "type":"bo_add_to_cart",
         "id":"cable_bo_popup",
         "popup":{
            "iframeUrl":"https://ase-onecable-prod-westeu-01.azurewebsites.net/selectcable?culture=pl-PL"
         }
      },
      {
         "type":"edit_product_lines_in_cart",
         "id":"cable_bo_popup_edit",
         "popup":{
            "iframeUrl":"https://ase-onecable-prod-westeu-01.azurewebsites.net/selectcable?culture=pl-PL"
         }
      }
   ],
   "security":{
      "authorizeWithOne":true,
      "permissions":{
         "cfg":{
            "components":[
               "cable_bo_admin"
            ],
            "name":{
               "en":"Access to Cable Plugin Admin panel"
            }
         }
      }
   }
}

JSON of the plugin’s FrontOffice part:

ID: foonecableplugin

{
   "author":"HAD IT Services Kft.",
   "authorizeWithOne":true,
   "name":{
      "en":"Cable plugin",
      "hu":"Cable plugin",
      "pl":"Cable plugin"

   },
   "components":[
      {
         "type":"app_add_to_cart",
         "id":"cable_fo_popup",
         "popup":{
            "iframeUrl":"https://ase-onecable-prod-westeu-01.azurewebsites.net/foselectcable?culture=pl-PL"
         }
      },
      {
         "type":"app_edit_product_lines_in_cart",
         "id":"cable_fo_popup_edit",
         "popup":{
            "iframeUrl":"https://ase-onecable-prod-westeu-01.azurewebsites.net/foselectcable?culture=pl-PL"
         }
      }
   ],
   "security":{
      "authorizeWithOne":true
   }
}

The plugin using components inside the itself. We separated the plugin into front office and back office parts because of security reasons.

Front office part has 2 components:

  1. add to cart
  2. edit plugin product in cart

Back office part has 3 components:

  1. administration panel
  2. add to cart BO
  3. edit plugin product in cart BO

The back office plugin part has a security object to help user role administration. With the registered role ONe via support can enable or disable the plugin administration component for users.