使用Web API

<< 单击以显示目录 >>

导航:  屏幕参考 > 行政 > 系统配置 >

使用Web API

在API标签上 系统配置 屏幕可以打开API访问FastMaint以供第三方应用程序。请注意,API仅在Web(http:或https:协议)上可用,并且需要使用JavaScript对象表示法(JSON)。检查URL的API选项卡以用于API访问。

参观 支持中心 或者与我们联系以获取有关使用Web API的更多信息。

注意:FastMaint确实实施了限制以防止一次过多的API请求。如果有太多的请求,这是为了避免其他用户的性能问题或瓶颈。

示例1:检索统计信息(统计报告数据)

#Python 3代码访问JSON API

进口 requests

进口 json

进口 numpy

 

#示例设置 - 您的设置会有所不同

myapikey = "(your API key)" #键在系统配置中的API选项卡

Mytenantkey = "(您的订阅密钥)" #如果FastMaint Web,则留空空,如果FastMaint云输入您的订阅键

终点= "http://myserver/fastmaint/webapi_v1.ashx." #在系统配置中使用API​​选项卡上的Web地址(URL)

 

标题= {}

标题["Content-Type"] = "申请/ JSON; charset = UTF-8"

 

#请求统计信息

myrequest = json.dumps({"tenantkey":Mytenantkey,

                  "apikey":Myapikey,

                  "request":"statistics"})

 

结果=请求.post(url =端点,data = myRequest,标题=标题)

 

#提取结果

myRet = JSON.LOADS(结果.TEXT)

# 检查状态

istatus = int(myRet ["statuscode"])

 

#导出到CSV文件

如果 istatus ==. 0 : #没有错误或警告

   print(myret["statusdesc"]) 如果 myret["statusdesc"] == "OK" 别的 print("Warnings! " + myret["statusdesc"])

   numrows = int(myret["numrows"])

   numcols = int(myret["numcols"])

  如果 numrows. > 0 : #数据返回

       table1d = numpy.asArray(MyRet ["tabledata"])

       table2d = table1d.reshape(numrows,numcols)

       numpy.savetxt('c:\\ temp \\结果.csv',table2d,delimiter =',',fmt ='"%s"')

       print("Data saved to file")

  别的:

       print("No data returned")

别的:#marnings或错误

   print("Error: " + myret["statusdesc"])

示例2:检索一段时间内的所有工作订单

#python 3代码访问JSON API

进口 requests

进口 json

进口 numpy

 

#示例设置 - 您的设置会有所不同

myapikey = "(your API key)" #键在系统配置中的API选项卡

Mytenantkey = "(您的订阅密钥)" #如果FastMaint Web,则留空空,如果FastMaint云输入您的订阅键

终点= "http://myserver/fastmaint/webapi_v1.ashx." #在系统配置中使用API​​选项卡上的Web地址(URL)

 

标题= {}

标题["Content-Type"] = "申请/ JSON; charset = UTF-8"

 

#请求在一段时间之间的工作订单

myrequest = json.dumps({"tenantkey":Mytenantkey,

                  "apikey":Myapikey,

                  "request":"export-work-order",

                  "numcols":2,"numrows":1,

                  "tabledata":[ "2019/12/01","2020/01/31"]})

 

结果=请求.post(url =端点,data = myRequest,标题=标题)

 

#提取结果

myRet = JSON.LOADS(结果.TEXT)

# 检查状态

istatus = int(myRet ["statuscode"])

 

#导出到CSV文件

如果 istatus ==. 0 : #没有错误或警告

   print(myret["statusdesc"]) 如果 myret["statusdesc"] == "OK" 别的 print("Warnings! " + myret["statusdesc"])

   numrows = int(myret["numrows"])

   numcols = int(myret["numcols"])

  如果 numrows. > 0 : #数据返回

       table1d = numpy.asArray(MyRet ["tabledata"])

       table2d = table1d.reshape(numrows,numcols)

       numpy.savetxt('c:\\ temp \\结果.csv',table2d,delimiter =',',fmt ='"%s"')

       print("Data saved to file")

  别的:

       print("No data returned")

别的: #警告或错误

   print("Error: " + myret["statusdesc"])

示例3:导入报警读数

#示例Python 3代码访问JSON API

进口 requests

进口 json

进口 numpy

 

#示例设置 - 您的设置会有所不同

myapikey = "(your API key)" #键在系统配置中的API选项卡

Mytenantkey = "(您的订阅密钥)" #如果FastMaint Web,则留空空,如果FastMaint云输入您的订阅键

终点= "http://myserver/fastmaint/webapi_v1.ashx." #在系统配置中使用API​​选项卡上的Web地址(URL)

 

标题= {}

标题["Content-Type"] = "申请/ JSON; charset = UTF-8"

 

#请求导入报警数据,首先'行'包含列名称,后续“行”包含警报读数

myrequest = json.dumps({"tenantkey":Mytenantkey,

            "apikey":Myapikey,

            "request":"import-alarm",

            "numcols":4,"numrows":2,

            "tabledata":[

            "Equipment","DateFrom","DateTo","Reason",

            "EPJ #1","2019/12/11","2019/12/11","Testing 1"

             ]})

 

结果=请求.post(url =端点,data = myRequest,标题=标题)

 

#提取结果

myRet = JSON.LOADS(结果.TEXT)

# 检查状态

istatus = int(myRet ["statuscode"])

 

#导出到CSV文件

如果 istatus ==. 0 : #没有错误或警告

   print(myret["statusdesc"]) 如果 myret["statusdesc"] == "OK" 别的 print("Warnings! " + myret["statusdesc"])

   numrows = int(myret["numrows"])

   numcols = int(myret["numcols"])

  如果 numrows. > 0 : #数据返回

       table1d = numpy.asArray(MyRet ["tabledata"])

       table2d = table1d.reshape(numrows,numcols)

       numpy.savetxt('c:\\ temp \\结果.csv',table2d,delimiter =',',fmt ='"%s"')

       print("Data saved to file")

  别的:

       print("No data returned")

别的: #警告或错误

   print("Error: " + myret["statusdesc"])

示例4:导入仪表读数

#示例Python 3代码访问JSON API

进口 requests

进口 json

进口 numpy

 

#示例设置 - 您的设置会有所不同

myapikey = "(your API key)" #键在系统配置中的API选项卡

Mytenantkey = "(您的订阅密钥)" #如果FastMaint Web,则留空空,如果FastMaint云输入您的订阅键

终点= "http://myserver/fastmaint/webapi_v1.ashx." #在系统配置中使用API​​选项卡上的Web地址(URL)

 

标题= {}

标题["Content-Type"] = "申请/ JSON; charset = UTF-8"

 

#请求导入仪表读数,首先'行'包含列名称,后续'行'包含仪表读数

myrequest = json.dumps({"tenantkey":Mytenantkey,

                  "apikey":Myapikey,

                  "request":"import-meter",

                  "numcols":3,"numrows":13,

                  "tabledata":[

                      "Equipment","ReadingDate","Reading",

                      "EPJ #1","2019/12/11","100",

                      "EPJ #1","2019/12/13","150",

                      "EPJ #2","2019/12/01","9200",

                      "EPJ #1","2019/12/14","160",

                      "EPJ #1","2019/12/15","161",

                      "EPJ #2","2019/12/08","9300",

                      "EPJ #1","2019/12/16","170",

                      "EPJ #1","2019/12/20","180",

                      "EPJ #1","2020/01/01","200",

                      "EPJ #1","2019/12/17","175",

                      "EPJ #1","2020/01/12","220",

                      "EPJ #2","2019/12/13","150"

                      ]})

 

结果=请求.post(url =端点,data = myRequest,标题=标题)

 

#提取结果

myRet = JSON.LOADS(结果.TEXT)

# 检查状态

istatus = int(myRet ["statuscode"])

 

#导出到CSV文件

如果 istatus ==. 0 : #没有错误或警告

   print(myret["statusdesc"]) 如果 myret["statusdesc"] == "OK" 别的 print("Warnings! " + myret["statusdesc"])

   numrows = int(myret["numrows"])

   numcols = int(myret["numcols"])

  如果 numrows. > 0 : #数据返回

       table1d = numpy.asArray(MyRet ["tabledata"])

       table2d = table1d.reshape(numrows,numcols)

       numpy.savetxt('c:\\ temp \\结果.csv',table2d,delimiter =',',fmt ='"%s"')

       print("Data saved to file")

  别的:

       print("No data returned")

别的: #警告或错误

   print("Error: " + myret["statusdesc"])

---------------------------------------------------------------- ---------------