layout: page
title: Restomax API Metadata
permalink: /restomax-metadata/
date: 2024-02-09 11:41
restomax-rpcalls
Restomax auto generated help by PublishMetadata Script (text/markdown formatted)
Version: RestoCmd.exe. 5.24.2.9 Dte: 09.02.24 11:00 LastW: 09.02.24 05:00. DB: FB2-RESTO5.94
-
Warning: Please be advised that the information and data contained below is meant for reference purposes only and is subject to change without warning.
-
Copyright and other Intellectual: Property Rights.The whole content of this api is subject to Restomax copyrights and remain the property of Restomax.
Any reproduction, transfer, alteration or utilization of the website and of the logo of Restomax for a public and/or commercial purpose without prior written consent of Restomax is prohibited.
-
Install a Markdown Viewer
-
Install a Typescript Viewer
restomax api access routes (EndPoints)
-
Restomax Internal Websocket WAMPv1 RPC (original route)
-
Restomax Internal WebServer
access/security managed by LAN Admim
-
Restomax Jabber VPN EntryPoint
test using rpnInst.exe rpn:aJabberLogin action params
test using curl http://fire.restomax.com:8080/action?IID=demo-123456&staff=123456&action=Help
test using postman :)
-
APIs can be consumed in any language but Restomax advice TypeScript (using npm).
Most RPC expect json body but some also accept http query params.
If you provide both, query params are merged into json body.
restomax api CRUD ops (Create/Read/Update/Delete)
-
restomax api ignore Http method (Get/Set/...) may change in future
-
restomax api is mapping Websocket RPC to URL GetXXXs,GetXXX,SetXXX,DelXXX
example to handle Articles(PLU)
Resto:GetArticles : Search/Read all Articles
Resto:GetArticle : Read ONE Article
Resto:SetArticle : Update ONE Article
Resto:DelArticle : Delete ONE Article
-
restomax api answer mode can be changed
by adding to the Body Args Object, the property AnswerMode set to Status | Echo
-
restomax api GetXXX operation can be normal or simplified
by adding to the Body Args Object, the property simplified true|false.
in simplified mode, all properties will be returned (coalescing to default value).
-
restomax api SetXXX operation can be partial or full
by adding to the Body Args Object, the property SetMode set to OnlyModif | Full
OnlyModif : will update only properties received
Full : will update all properties. (setting missing props to default).
-
restomax api legacy
still implement special Del as Set with Object Property SetMode set to Delete
restomax api Select ops
- all select ops can be filtered using simple {SearchKey:yyy,SearchVal:xxx|regex:xxx} criteria
where yyy is a fieldname and xxx wanted value - example to select some Articles(PLU)
Resto:GetArticles&{SearchVal:11,SearchKey:Categorie} : Search/Read all Articles in Categorie=11
Resto:GetArticles : Search/Read all Articles
RPCs List
Ping
Ping
Help
-
Descr: Describe Restomax RPC(s)
-
Request: None or WantedAction or [Action,...]
-
Response: Describe Restomax RPC(s)
-
Response content-type: text/markdown
-
Demo Urls
Help&Help=Ping
Help&Help=GetEtab
Resto:GetMetaData
-
Descr: Describe Restomax API Intf/Obj
-
ObjectName: Etab,Station,Service,Division,...
-
Request: None or ObjectName or [ObjectNames]
-
Response content-type: text/typescript
-
Demo Urls
Resto:GetMetaData&GetMetaData=Etab
Resto:GetMetaData&GetMetaData=Etab&GetMetaData=Station
Resto:GetMetaData&GetMetaData=[Etab,Station]
Resto:GetRestoDBObjs
Resto:GetRestoDBObjs
Resto:GetRestoDBObj
Resto:GetRestoDBObj&Obj=Article
Resto:GetRptCodes
Resto:GetRptCodes
Resto:GetRptList
Resto:GetRptList
Resto:GetRptInfo
Resto:GetRptInfo&Rpt='010'
Resto:GetRptInfo&Rpt='011'
Resto:GetData
Resto:GetData
Resto:SetData
-
Descr: Update/Insert/Delete passed object(s)
-
Request: {Staff:Login,Data:IData | SingleObj,SetMode:OnlyModif} IR5GetDataIntf
Use : SetMode:[OnlyModif,Full,Delete] (default OnlyModif)
For Objs Array, Obj not present are deleted iff SetMode ...
-
Response: IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:SetData&{"Data":{"Article":{"Nom":"Test","No":"TEST"}},"Staff":123456}
Resto:GetEtab
Resto:GetEtab
Resto:ClotureSvc
Resto:ClotureSvc&Staff=123456&Station=1
Resto:OpenSvc
-
Descr: Open Service
-
Request: Require Staff,Station,Svc
Svc : { Dte:yyymmdd, No?:xxx}
-
Response: IR5Etab
-
Response content-type: text/json
-
Demo Urls
Resto:OpenSvc&Staff=123456&Station=123456
Resto:OpenSvc&Staff=123456&Station=123456&Svc={Dte:20191016,No:1}
Resto:ClotureStaff
Resto:ClotureStaff
Resto:OpenStaff
Resto:OpenStaff
Resto:ClockOutStaff
Resto:ClockOutStaff
Resto:ClockInStaff
Resto:ClockInStaff
Resto:GetEtabParam
-
Descr: Return EtabExtParam
-
Request: {Key:xx}
-
Response: {Key:xx,Value=yyy,Bin=zzz}
-
Response content-type: text/json
-
Demo Urls
Resto:GetEtabParam&{Key:Test}
Resto:SetEtabParam
-
Descr: Update/Insert/Delete EtabExtParam
-
Request: {Key:xx,Value=yyy,Bin=zzz}
-
Response: {Key:xx,Value=yyy,Bin=zzz}
-
Response content-type: text/json
-
Demo Urls
Resto:SetEtabParam&{Key:Test,Value:Test}
Resto:GetImages
Resto:GetImages
Resto:GetImage
Resto:GetImage&Image=200
Resto:SetImage
Resto:SetImage&Image=300&Description=Test
Resto:DelImage
Resto:DelImage&Image=999
Resto:GetStations
Resto:GetStations
Resto:GetStation
Resto:GetStation&Station=1
Resto:SetStation
-
Descr: Update/Insert Selected Station
-
Request: 123 | {Station:xxx} | {No:123 | FiscalId:456 | MacAddress:xxx} IR5Station or NumStation
-
Response: IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:SetStation&Station=1&Description=Test
Resto:DelStation
-
Descr: Delete Selected Station
-
Request: 123 | {Station:xxx} | {No:123 | FiscalId:456 | MacAddress:xxx} IR5Station or NumStation
-
Response: IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:DelStation&Station=999
Resto:GetDivisions
Resto:GetDivisions
Resto:GetDivision
Resto:GetDivision&Division=1
Resto:SetDivision
-
Descr: Update/Insert Selected Division
-
Request: 123 | {Division:xxx} IR5Division
-
Response: IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:SetDivision&Division=1&Description=Test
Resto:DelDivision
-
Descr: Delete Selected Division
-
Request: 123 | {Division:xxx} IR5Division or NumDivision
-
Response: IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:DelDivision&Division=999
Resto:GetAccueil
Resto:GetAccueil
Resto:GetStaffs
Resto:GetStaffs
Resto:GetStaff
Resto:GetStaff&Staff=92
Resto:SetStaff
Resto:SetStaff&{Staff:92,Description:12345}
Resto:DelStaff
Resto:DelStaff&Staff=92
Resto:GetSalles
Resto:GetSalles
Resto:GetTblBtns
Resto:GetTblBtns
Resto:GetTblBtn
Resto:GetTblBtn&TblBtn=1
Resto:SetTblBtn
Resto:SetTblBtn&TblBtn=1&Description=Test
Resto:DelTblBtn
Resto:DelTblBtn&TblBtn=123456
Resto:GetTables
-
Descr: Return All Tables (True Tables, Doors, ....)
-
Response: Array of IR5Tbl
-
Response content-type: text/json
-
Demo Urls
Resto:GetTables
Resto:GetTable
Resto:GetTable&TblBtn=1
Resto:SetTable
Resto:SetTable&TblBtn=1&Description=Test
Resto:DelTable
Resto:DelTable&TblBtn=123456
Resto:GetMvtTbls
Resto:GetMvtTbls
Resto:GetCarte
Resto:GetCarte
Resto:SetCarte
-
Descr: Update Restomax Carte/Pointage Screen Data
-
Request: IR5Carte
-
Response: IRestoAnswer or IR5Carte
-
Response content-type: text/json
-
Demo Urls
Resto:SetCarte
Resto:GetCategs
-
Descr: Return All Article Categs
-
Response: Array of IR5ArtCategory
-
Response content-type: text/json
-
Demo Urls
Resto:GetCategs
Resto:GetCateg
-
Descr: Return Selected Article Categ
-
Request: need at least one key (CategNum,ExtRef,...). IR5ArtCategory
-
Response: IR5ArtCategory
-
Response content-type: text/json
-
Demo Urls
Resto:GetCateg&Categ=1
Resto:SetCateg
-
Descr: Update/Insert Selected Article Categ
-
Request: need at least one key (CategNum,ExtRef,...). IR5ArtCategory
-
Response: IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:SetCateg&Categ={Num:1,Description:Test}
Resto:DelCateg
-
Descr: Delete Selected Article Categ
-
Request: need at least one key (CategNum,ExtRef,...). IR5ArtCategory
-
Response: IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:DelCateg&Categ={Num:1,Description:Test}
Resto:GetGroups
-
Descr: Return All Article Groups
-
Response: Array of IR5ArtGroup
-
Response content-type: text/json
-
Demo Urls
Resto:GetGroups
Resto:GetGroup
-
Descr: Return Selected Article Group
-
Request: need at least one key (GroupNum,ExtRef,...). TR5ArtGroup
-
Response: TR5ArtGroup
-
Response content-type: text/json
-
Demo Urls
Resto:GetGroup&Group=1
Resto:SetGroup
-
Descr: Update/Insert Selected Article Group
-
Request: need at least one key (GroupNum,ExtRef,...). IR5ArtGroup
-
Response: IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:SetGroup&Group={Num:1,Description:Test}
Resto:DelGroup
-
Descr: Delete Selected Article Group
-
Request: need at least one key (GroupNum,ExtRef,...). IR5ArtGroup
-
Response: IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:DelGroup&Group={Num:1,Description:Test}
Resto:GetTariffColors
-
Descr: Return All TariffColors
-
Response: Array of IR5TariffColor
-
Response content-type: text/json
-
Demo Urls
Resto:GetTariffColors
Resto:GetTariffColor
Resto:GetTariffColor&Tariff=1000
Resto:SetTariffColor
Resto:SetTariffColor&Tariff=1000&Description=Test
Resto:DelTariffColor
Resto:DelTariffColor&Tariff=1000
Resto:GetSimplifiedArticles
-
Descr: Return All Articles in Simplified Fmt (Including Prices for all Tariffs,...)
-
Response: Array of IR5SimplifiedArticle
-
Response content-type: text/json
-
Demo Urls
Resto:GetSimplifiedArticles
Resto:GetSimplifiedArticles&{SearchKey:Groupe,SearchVal=regex:75|76}
Resto:GetArticles
-
Descr: Return All Articles
-
Response: Array of IR5Article
-
Response content-type: text/json
-
Demo Urls
Resto:GetArticles
Resto:GetArticles&SearchVal=11&SearchKey=Categorie
Resto:GetArticle
Resto:GetArticle&PLU=0001
Resto:SetArticle
-
Descr: Update/Insert Selected Article. Individual Flag can be added ex: Bloque:true|false
-
Request: IR5Article or Array of IR5Article
-
Response: IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:SetArticle&PLU={PLU:1234,Nom:Test,Description=Test}
Resto:SetArticle&PLU={PLU:1234,Bloque:true}
Resto:SetArticle&PLU={PLU:1234,Bloque:false}
Resto:SetArticle&PLUs=[{PLU:1234,Bloque:false},{PLU:7890,Bloque:true}]
Resto:DelArticle
Resto:DelArticle&PLU={PLU:1234,Nom:Test}
Resto:GetArticlesStocks
-
Descr: Return wanted articles Stock Status
-
Response: Array of IR5ArticleStock or IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:GetArticlesStocks
Resto:GetArticlesStocks&SearchVal=11&SearchKey=Categorie
Resto:GetArticleStock
Resto:GetArticleStock&PLU=0001
Resto:GetSuppliers
-
Descr: Return Suppliers(Fournisseurs)
-
Response: Array of IR5Supplier or IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:GetSuppliers
Resto:GetStockDocs
-
Descr: Return wanted StockDocs(Bon Livraisons) in periode d1..d2
-
Response: Array of IR5StockDoc or IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:GetStockDocs&D1=20190101&D2=20191231
Resto:GetStockDoc
-
Descr: Return wanted StockDoc(Bon Livraisons)
-
Request: DocNr yyyymmdd-xxx
-
Response: IR5StockDoc or IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:GetStockDoc
Resto:SetStockDoc
Resto:SetStockDoc
Resto:DelStockDoc
-
Descr: Delete one StockDoc(Bon Livraisons).
-
Request: DocNr yyyymmdd-xxx
-
Response: IR5StockDoc or IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:DelStockDoc
Resto:GetEncaisse
Resto:GetEncaisse
Resto:GetModePays
-
Descr: Return All ModePays
-
Response: Array of IR5ModePay
-
Response content-type: text/json
-
Demo Urls
Resto:GetModePays
Resto:GetModePay
Resto:GetModePay&ModePay=CASH
Resto:SetModePay
Resto:SetModePay&ModePay=CASH&Description=Test
Resto:DelModePay
Resto:DelModePay&ModePay=9999
Resto:GetRoutes
-
Descr: Return Print Routes
-
Response: Array of IR5Route
-
Response content-type: text/json
-
Demo Urls
Resto:GetRoutes
Resto:GetPtrs
-
Descr: Return Printers Devices
-
Response: Array of IR5PtrDevice
-
Response content-type: text/json
-
Demo Urls
Resto:GetPtrs
Resto:GetPtrLnks
Resto:GetPtrLnks
Resto:TicketStatus
-
Descr: Return Get/Set Ticket Status
-
MoreInfos: mark the ticket as Printed if Status:true or AutoRedirected
-
Request: TicketStatus
-
Response: TicketStatus
-
Response content-type: text/json
-
Demo Urls
Resto:TicketStatus&{TicketId:123,Status:true}
Resto:GetMembers
-
Descr: Search Members. Return Members List. Warning RegEx:Search use SQL RegEx pattern (similar to %blabla%)
-
Request: {FromRow:0,PacketSize:50,SearchVal:zzz|star,SearchKey:MemberFieldName|star}.
-
Response: Return Selected Members. Array of IR5Member
-
Response content-type: text/json
-
Demo Urls
Resto:GetMembers
Resto:GetMember
-
Descr: Return Member
-
Request: need at least one key (NumCard,ExtRef,Barcode,...). IR5Member
-
Response: IR5Member or IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:GetMember&NumCarte=Test
Resto:SetMember
-
Descr: Update/Insert Selected Member
-
Request: need at least one key (NumCard,ExtRef,Barcode,...). IR5Member
-
Response: IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:SetMember&{NumCarte:Test,Nom:Test,Description=Test}
Resto:DelMember
-
Descr: Delete Selected Member
-
Request: need at least one key (NumCard,ExtRef,Barcode,...). IR5Member
-
Response: IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:DelMember&{NumCarte:Test,Nom:Test,Description=Test}
Resto:GetMemberPhoto
-
Descr: Return MemberPhoto
-
Request: need at least one key (NumCard,ExtRef,Barcode,...). IR5Member
-
Response: IR5MemberPhoto or IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:GetMemberPhoto&NumCarte=Test
Resto:SetMemberPhoto
-
Descr: Update MemberPhoto and Return updated MemberPhoto
-
Request: need at least one key (NumCard,ExtRef,Barcode,...). IR5MemberPhoto
-
Response: IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:SetMemberPhoto&{NumCarte:Test}
Resto:GetMemberPoints
-
Descr: Return the Member Fidelity Points
-
Request: need at least one key (NumCard,ExtRef,Barcode,...). IR5Member
-
Response: IR5MemberTotPoints or IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:GetMemberPoints&NumCarte=Test
Resto:SetMemberPoints
-
Descr: Update the Member Fidelity Points
-
Request: need at least one key (NumCard,ExtRef,Barcode,...). IR5MemberTotPoints
-
Response: IRestoAnswer
-
Response content-type: text/json
-
Demo Urls
Resto:SetMemberPoints&{NumCarte:Test}
Resto:GetResource
Resto:GetResource&Resource=Resto_Restomax_Address
Resto:GetUrl
-
Descr: Return Url. Text Url are parsed by restomax <#Etab.Name>
-
MoreInfos: same as http://localhost:8787/AnyFileInHtmlsPath
-
Request: WantedUrl
can be any url below c:/restomax/HTMLS/xxx
can be any restomax resources
can be any restomax images
-
Response: Wanted URL. Variable MimeType !
-
Demo Urls
Resto:GetUrl&Resource=Resto_Restomax_Address
Resto:GetUrl&Image=200
Resto:GetUri
-
Descr: Same as GetUrl as JSON. Text Url are parsed by restomax <#Etab.Name>
-
MoreInfos: same as http://localhost:8787/AnyFileInHtmlsPath
-
Request: WantedUrl
can be any url below c:/restomax/HTMLS/xxx
can be any restomax resources
can be any restomax images
-
Response content-type: text/json
-
Demo Urls
Resto:GetUri&Resource=Resto_Restomax_Address
Resto:GetUri&Image=200
Resto:GetHisto
Resto:GetHisto&Staff=123456&D1=20190101
Resto:GetArchive
Resto:GetArchive&Staff=123456&D1=20190101
Resto:GetView
Resto:GetView&Staff=123456&View=Rpt_010&D1=20190101&D2=20991231
Resto:GetRpt
-
Descr: Execute One Simple report or a Layout of reports or a A4 report
- Simple report: see list with Resto:GetRptCodes
- Layout of reports: Cloture,... or custom layout id
- A4 report : SummaryView,RentaRpt,DailyView1,DailyView2,MonthlyView,PeriodeCompareView,TariffByArt,TariffsRpt,TariffByCateg, ... or custom layout id
In Case of A4 report, it return the generated PDF URL
-
Request: Supported Params D1,D2,PLU,...
-
Response content-type: text/json
-
Demo Urls
Resto:GetRpt&Staff=123456&Rpt=Rpt_012&D1=20190101&D2=20991231
Resto:GetLedger
-
Descr: Return Histo Ledger. Sales Data (list of sales tickets)
- OSvc : Open Service Sales Ledger
- TLSvc: TimeLine Sales all after LastSeq
- Svcs : Periode[D1..D2] Sales Ledger
- Apic : Periode[D1..D2] Sales Ledger in Apic Format
-
Request: Wanted Mode and Selection. ILedgerIntf or LedgerDef
- {Staff:xxx, Params:{Mode:xxx, ModeParams }}
- Mode:OSvc,TLSvc Params : {LastSeq: { DateHeure:xxx, NoSeq:zzzz }}
- Mode:Svcs,Apic Params : {D1: yyyymmdd, D2: yyyymmdd}
-
Response: according wanted mode. ILedgerOSvc or ILedgerTLSvc or ILedgerSvcs
-
Response content-type: text/json
-
Demo Urls
Resto:GetLedger&{Staff:123456,Params:{Mode:OSvc}}
Resto:GetLedger&{Staff:123456,Params:{Mode:OSvc,LastSeq:{NoSeq:123,DateHeure:'2020.10.10T20:30:10'}}}
Resto:GetLedger&{Staff:123456,Params:{Mode:TLSvc,LastSeq:{NoSeq:123,DateHeure:'2020.10.10T20:30:10'}}}
Resto:GetLedger&{Staff:123456,Params:{Mode:Svcs,D1:20200101,D2:20291231}}
Resto:GetLedger&{Staff:123456,Params:{Mode:Apic,D1:20200101,D2:20291231}}
Resto:GetDashBoard
Resto:GetDashBoard&{Staff:123456}
Resto:GetSvcDashBoard
-
Descr: Return Service DashBoard (open service or last service)
-
Response: ISvcDashboardIntf
-
Response content-type: text/json
-
Demo Urls
Resto:GetSvcDashBoard&{Staff:123456}
Resto:GetInvoices
[Resto:GetInvoices&{Staff:123456, D1:20190101, D2:20191231}](http://demo.restomax.com:1307/action?action=Resto:GetInvoices&{Staff:123456, D1:20190101, D2:20191231})
Resto:GetInvDoc
[Resto:GetInvDoc&{Staff:123456, Jrl: Inv, Num: 123}](http://demo.restomax.com:1307/action?action=Resto:GetInvDoc&{Staff:123456, Jrl: Inv, Num: 123})
Resto:GetPointage
-
Descr: Get Pointage Details for a Tbl(Command)
Search in Tbls Open and/or Tbls Clotured according Request Params
-
Request: IR5PointageReq or Hre or NoSales or GUID
Request Must have the Key(s) to find the Tbl(Command). It can be:
- DteSvc/NoSvc/Hre ex: Tbl: {DteSvc:2020.12.04, NoSvc:1, Hre:378385}
- DteSvc/NoSvc/NoSales ex: Tbl: {DteSvc:2020.12.04, NoSvc:1, NoSales:123456}
- GUID ex: Tbl: {GUID:123123-465465-489498}
- Tbl in this case will answer LastClotured ex: {Tbl:123456}
- Hre in this case will search in open service
-
Response: IR5PointageRes or IRestoAnswer
-
Response content-type: text/json
-
See also: IR5Delivry , IR5PointageConso , IR5PointagePay , ILedgerSalesConso , ILedgerSalesPay , ILedgerTblSeq , HistoAction
-
Demo Urls
Resto:GetPointage&Tbl=123
Resto:GetPointage&{Tbl:{Tbl:123}}
Resto:SetPointage
-
Descr: Add Consos and/or Payments to a Tbl(Command), then Execute wanted action and Return GetPointage
Open the Table iff needed
Action=Cloture will perform needed action (pay,addition,...) and Close the Tbl Command
-
Request: IR5PointageReq
Table Id has two variants Tbl:xxx.z or NoTbl:xxx,SsTbl:z
Who defined by Staff:300|sss (staff may need some permission)
Where defined by Station:304|306|308|309|kkkk (where to print,...)
What defined by Consos,Pays and Action
Consos Article Obj : Missing Field are completed with some default (from Article,...)
Pays Obj : Missing Field are completed with some default (from ModePay,...)
Default Action is just lancer
-
Response: IR5PointageRes or IRestoAnswer
-
Response content-type: text/json
-
See also: IR5Delivry , IR5PointageConso , IR5PointagePay , ILedgerSalesConso , ILedgerSalesPay , ILedgerTblSeq , HistoAction
-
Demo Urls
Resto:SetPointage&{Staff:123456,Station:1,Tbl:{Tbl:1.0,Consos:[{PLU:1234}]}}
Resto:SetPointage&{Staff:123456,Station:1,Tbl:{Tbl:1.0,Action:Cloture,Consos:[{PLU:1234}]}}
Resto:SetPointage&{Staff:123456,Station:1,Tbl:{Tbl:1.0,Action:Cloture}}
Resto:Action
Resto:GetEtab