Keystone Mobile Server REST API
Overview
The Keystone Mobile Server exposes a REST API which is used by the Keystone mobile apps to communicate with the Keystone Application Server.
See: Keystone_REST_Server_(KServer) for more on KServer.
Negotiation API
ROOT: /rest
apinegotiate
apinegotiate/{ClientId}/{ClientApiMin}/{ClientApi}
- negotiates API version with the server and returns
1
API v1
ROOT: /rest/kmsapi1
System/Session Functions
systeminfo
systeminfo
- returns system license information and list of companies
{ "licenseinfo":
[
{ "serialno": 12345,
"sysloc": 0,
"licenseename": "XYZ Company"
}
],
"companylist":
[
{ "id": "001",
"name": "XYZ Company",
"type": "N"
},
{ "id": "002",
"name": "Practice",
"type": "P"
}
]
}
userlogin
userlogin/{CoId}/{UserId}/{EncryptedPassword}/{OSVersion}
- logs in specified UserId and returns session information
{ "session":
{ "sessionname": "abcdefg",
"loginname": "john",
"fullname": "John Q Public",
"groupname": "user",
"securityclass": "50",
"lastcoid": "001",
"entityid": "",
"roleclass": "U",
"options": ""
}
}
userlogout
userlogout/{SessionKey}
- logs out user and closes out session for specified SessionKey
usersessionexpired
usersessionexpired/{UserId}
- logs out specified UserId
Mobile Functions
customerinvoices
customerinvoices/{CustId}/{IncludePaid}/{AgeByDate}/{AgingDateLo1}/{AgingDateLo2}/{AgingDateHi2}/{AgingDateLo3}/{AgingDateHi3}/{AgingDateLo4}/{AgingDateHi4}/{AgingDateHi5}
- returns invoices for specified CustId
customerlist
customerlist
- returns list of customers
invoicehistory
invoicehistory/{SessionNo}/{TransNo}
- returns invoice history (tickets and payments) for specified invoice (SessionNo, TransNo)
loadgpslocation
loadgpslocation/{OrderSessionNo}/{OrderTransNo}/{LoadNo}
- returns gps location information for specified load (OrderSessionNo, OrderTransNo, LoadNo)
schedulecust
schedulecust/{SlsId}/{BegSchedDT}/{EndSchedDT}/{ActiveCarryHrs}/{UndelvCarryHrs}/{NTLLookAheadHrs}/{OrdselRangeHrs}/{ShowCompletedOrders}
- returns schedule information summarized by customer for salesperson SlsId
schedulecustorderloads
schedulecustorderloads/{SessionNo}/{TransNo}/{BegSchedDT}/{EndSchedDT}/{ActiveCarryHrs}/{UndelvCarryHrs}/{NTLLookAheadHrs}/{OrdselRangeHrs}/{ShowCompletedOrders}
- returns schedule information (active & completed loads) for specified order (SessionNo, TransNo)
schedulecustorders
schedulecustorders/{SlsId}/{CustId}/{BegSchedDT}/{EndSchedDT}/{ActiveCarryHrs}/{UndelvCarryHrs}/{NTLLookAheadHrs}/{OrdselRangeHrs}/{ShowCompletedOrders}
- returns schedule information (active & completed orders) for salesperson SlsId customer CustId
scheduleplant
scheduleplant/{BegSchedDT}/{EndSchedDT}/{ActiveCarryHrs}/{UndelvCarryHrs}/{NTLLookAheadHrs}/{OrdselRangeHrs}/{ShowCompletedOrders}
- returns schedule information summarized by plant
scheduleplantorderloads
scheduleplantorderloads/{SessionNo}/{TransNo}/{BegSchedDT}/{EndSchedDT}/{ActiveCarryHrs}/{UndelvCarryHrs}/{NTLLookAheadHrs}/{OrdselRangeHrs}/{ShowCompletedOrders}
- returns schedule information (active & completed loads) for specified order (SessionNo, TransNo)
scheduleplantorders
scheduleplantorders/{PlantId}/{BegSchedDT}/{EndSchedDT}/{ActiveCarryHrs}/{UndelvCarryHrs}/{NTLLookAheadHrs}/{OrdselRangeHrs}/{ShowCompletedOrders}
- returns schedule information (active & completed orders) for plant PlantId
schedulesls
schedulesls/{BegSchedDT}/{EndSchedDT}/{ActiveCarryHrs}/{UndelvCarryHrs}/{NTLLookAheadHrs}/{OrdselRangeHrs}/{ShowCompletedOrders}
- returns schedule information summarized by salesperson
- results restricted to single salesperson if current user is locked to a salesperson (New in Keystone 3.1.9)
ticketinfo
ticketinfo/{SessionNo}/{TransNo}
- returns ticket detail information for specified ticket (SessionNo, TransNo)