manual:api:reference:map:create

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
manual:api:reference:map:create [2015/11/19 14:34]
sasha [Source] fixed path
manual:api:reference:map:create [2020/11/03 16:06]
Andrejs.Griscenko [ZBXNEXT-6148] added a note about who can call this method
Line 6: Line 6:
  
 This method allows to create new maps. This method allows to create new maps.
 +
 +<​note>​This method is available to users of any type. Permissions to call the method can be revoked in user role settings. See [[:​manual/​web_interface/​frontend_sections/​administration/​user_roles|User roles]] for more information.</​note>​
  
 ==== Parameters ==== ==== Parameters ====
Line 13: Line 15:
 Additionally to the [[object#​map|standard map properties]],​ the method accepts the following parameters. Additionally to the [[object#​map|standard map properties]],​ the method accepts the following parameters.
  
-^ Parameter ^ Type ^ Description ^ +^ Parameter ^ [[:​manual/​api/​reference_commentary#​data_types|Type]] ^ Description ^ 
-| links | array | Map links to be created on the map. | +| links | array | Map [[:​manual/​api/​reference/​map/​object#​map_link|links]] to be created on the map. | 
-| selements | array | Map elements to be created on the map. | +| selements | array | Map [[:​manual/​api/​reference/​map/​object#​map_element|elements]] to be created on the map. | 
-| urls | array | Map URLs to be created on the map. |+| urls | array | Map [[:​manual/​api/​reference/​map/​object#​map_url|URLs]] to be created on the map. | 
 +| users | array | Map [[:​manual/​api/​reference/​map/​object#​map_user|user]] shares to be created on the map. | 
 +| userGroups | array | Map [[:​manual/​api/​reference/​map/​object#​map_user_group|user group]] shares to be created on the map. | 
 +| shapes | array | Map [[:​manual/​api/​reference/​map/​object#​map_shapes|shapes]] to be created on the map. | 
 +| lines | array | Map [[:​manual/​api/​reference/​map/​object#​map_lines|lines]] ​to be created on the map. |
  
-<note tip>To create map links you'll need to set a map elements ​''​selementid''​ to an arbitrary value and then use this value to reference this element in the links ''​selementid1''​ or ''​selementid2''​ properties. When the element is created, this value will be replaced with the correct ID generated by Zabbix. [[create#​create_a_host_map|See example.]]</​note>​+<note tip>To create map links you'll need to set a map element ​''​selementid''​ to an arbitrary value and then use this value to reference this element in the links ''​selementid1''​ or ''​selementid2''​ properties. When the element is created, this value will be replaced with the correct ID generated by Zabbix. [[create#​create_a_host_map|See example.]]</​note>​
 ==== Return values ==== ==== Return values ====
  
Line 30: Line 36:
  
 Request: Request:
-<​code ​js>+<​code ​java>
 { {
     "​jsonrpc":​ "​2.0",​     "​jsonrpc":​ "​2.0",​
Line 45: Line 51:
  
 Response: Response:
-<​code ​js>+<​code ​java>
 { {
     "​jsonrpc":​ "​2.0",​     "​jsonrpc":​ "​2.0",​
Line 62: Line 68:
  
 Request: Request:
-<​code ​js>+<​code ​java>
 { {
     "​jsonrpc":​ "​2.0",​     "​jsonrpc":​ "​2.0",​
Line 72: Line 78:
         "​selements":​ [         "​selements":​ [
             {             {
-                "​elementid":​ "​1033",​ 
                 "​selementid":​ "​1",​                 "​selementid":​ "​1",​
 +                "​elements":​ [
 +                    {"​hostid":​ "​1033"​}
 +                ],
                 "​elementtype":​ 0,                 "​elementtype":​ 0,
                 "​iconid_off":​ "​2"​                 "​iconid_off":​ "​2"​
             },             },
 +
             {             {
-                "​elementid":​ "​1037",​ 
                 "​selementid":​ "​2",​                 "​selementid":​ "​2",​
 +                "​elements":​ [
 +                    {"​hostid":​ "​1037"​}
 +                ],
                 "​elementtype":​ 0,                 "​elementtype":​ 0,
                 "​iconid_off":​ "​2"​                 "​iconid_off":​ "​2"​
Line 97: Line 108:
  
 Response: Response:
-<​code ​js>+<​code ​java>
 { {
     "​jsonrpc":​ "​2.0",​     "​jsonrpc":​ "​2.0",​
Line 103: Line 114:
         "​sysmapids":​ [         "​sysmapids":​ [
             "​9"​             "​9"​
 +        ]
 +    },
 +    "​id":​ 1
 +}
 +</​code>​
 +
 +=== Create a trigger map ===
 +
 +Create a map with trigger element, which contains two triggers.
 +
 +Request:
 +<code java>
 +{
 +    "​jsonrpc":​ "​2.0",​
 +    "​method":​ "​map.create",​
 +    "​params":​ {
 +        "​name":​ "​Trigger map",
 +        "​width":​ 600,
 +        "​height":​ 600,
 +        "​selements":​ [
 +            {
 +                "​elements":​ [
 +                    {"​triggerid":​ "​12345"​},​
 +                    {"​triggerid":​ "​67890"​}
 +                ],
 +                "​elementtype":​ 2,
 +                "​iconid_off":​ "​2"​
 +            }
 +        ]
 +    },
 +    "​auth":​ "​038e1d7b1735c6a5436ee9eae095879e",​
 +    "​id":​ 1
 +}
 +</​code>​
 +
 +Response:
 +<code java>
 +{
 +    "​jsonrpc":​ "​2.0",​
 +    "​result":​ {
 +        "​sysmapids":​ [
 +            "​10"​
 +        ]
 +    },
 +    "​id":​ 1
 +}
 +</​code>​
 +
 +=== Map sharing ===
 +
 +Create a map with two types of sharing (user and user group).
 +
 +Request:
 +<code java>
 +{
 +    "​jsonrpc":​ "​2.0",​
 +    "​method":​ "​map.create",​
 +    "​params":​ {
 +        "​name":​ "Map sharing",​
 +        "​width":​ 600,
 +        "​height":​ 600,
 +        "​users":​ [
 +            {
 +                "​userid":​ "​4",​
 +                "​permission":​ "​3"​
 +            }
 +        ],
 +        "​userGroups":​ [
 +            {
 +                "​usrgrpid":​ "​7",​
 +                "​permission":​ "​2"​
 +            }
 +        ]
 +    },
 +    "​auth":​ "​038e1d7b1735c6a5436ee9eae095879e",​
 +    "​id":​ 1
 +}
 +</​code>​
 +
 +Response:
 +<code java>
 +{
 +    "​jsonrpc":​ "​2.0",​
 +    "​result":​ {
 +        "​sysmapids":​ [
 +            "​9"​
 +        ]
 +    },
 +    "​id":​ 1
 +}
 +</​code>​
 +
 +=== Map shapes ===
 +
 +Create a map with map name title.
 +
 +Request:
 +<code java>
 +{
 +    "​jsonrpc":​ "​2.0",​
 +    "​method":​ "​map.create",​
 +    "​params":​ {
 +        "​name":​ "Host map",
 +        "​width":​ 600,
 +        "​height":​ 600,
 +        "​shapes":​ [
 +            {
 +                "​type":​ 0,
 +                "​x":​ 0,
 +                "​y":​ 0,
 +                "​width":​ 600,
 +                "​height":​ 11,
 +                "​text":​ "​{MAP.NAME}"​
 +            }
 +        ]
 +    },
 +    "​auth":​ "​038e1d7b1735c6a5436ee9eae095879e",​
 +    "​id":​ 1
 +}
 +</​code>​
 +
 +Response:
 +<code java>
 +{
 +    "​jsonrpc":​ "​2.0",​
 +    "​result":​ {
 +        "​sysmapids":​ [
 +            "​10"​
 +        ]
 +    },
 +    "​id":​ 1
 +}
 +</​code>​
 +
 +=== Map lines ===
 +
 +Create a map line.
 +
 +Request:
 +<code java>
 +{
 +    "​jsonrpc":​ "​2.0",​
 +    "​method":​ "​map.create",​
 +    "​params":​ {
 +        "​name":​ "Map API lines",​
 +        "​width":​ 500,
 +        "​height":​ 500,
 +        "​lines":​ [
 +            {
 +                "​x1":​ 30,
 +                "​y1":​ 10,
 +                "​x2":​ 100,
 +                "​y2":​ 50,
 +                "​line_type":​ 1,
 +                "​line_width":​ 10,
 +                "​line_color":​ "​009900"​
 +            }
 +        ]
 +    },
 +    "​auth":​ "​038e1d7b1735c6a5436ee9eae095879e",​
 +    "​id":​ 1
 +}
 +</​code>​
 +
 +Response:
 +<code java>
 +{
 +    "​jsonrpc":​ "​2.0",​
 +    "​result":​ {
 +        "​sysmapids":​ [
 +            "​11"​
         ]         ]
     },     },
Line 114: Line 296:
   * [[object#​map_link|Map link]]   * [[object#​map_link|Map link]]
   * [[object#​map_url|Map URL]]   * [[object#​map_url|Map URL]]
 +  * [[object#​map_user|Map user]]
 +  * [[object#​map_user_group|Map user group]]
 +  * [[object#​map_shapes|Map shape]]
 +  * [[object#​map_lines|Map line]]
  
 ==== Source ==== ==== Source ====
  
-CMap::​create() in //frontends/​php/​include/​classes/​api/​services/​CMap.php//​.+CMap::​create() in //ui/​include/​classes/​api/​services/​CMap.php//​.