www.sunsoft.gr

External Connection Web API

HTTP method POST

Try calls using method HTTP POST

URL Endpoint

/api/GeneralInformation

GetVersion

Call example: http://localhost:5600/api/GeneralInformation/GetVersion

Summary

Gets the web service version and the sql script version. Returns server version and script version. Both version should be the same!

Method Parameters

-

Success Response

HTTP 200 OK

Error Response

HTTP 500 Internal Server Error
Error Message
Go to top...

Login

Call example: http://localhost:5600/api/GeneralInformation/Login?serialFormat=json&clientVersion=4.01.000&devInfo=sunsoft-123456&uid=sunsoft&pwd=sunsoft&cachedVersion

Summary

Executes user login to the web service. Service response containing UserId, DeviceTicket and all user's available stations. DevInfo is provided by Sunsoft.

Method Parameters

NAME TYPE REQUIRED EXAMPLE NOTES
SerialFormat string yes json Form of the serialized data. (json/xml)
ClientVersion string yes 4.01.000 Service Version
CachedVersion string no - -
DevInfo string yes sunsoft-123456 Device Info
Uid string yes sunsoft Username
Pwd string yes sunsoft Password


Success Response

HTTP 200 OK

Error Response

HTTP 500 Internal Server Error
Error Message
Go to top...

GetStationItems

Call example: http://localhost:5600/api/GeneralInformation/GetStationItems?SerialFormat=json&ClientVersion=4.01.000&DeviceTicket=18005956&CachedVersion&StationId=2

Summary

Gets all info for items. Items, Remarks, Additionals and their connection. Service response containing info for all station items.

Method Parameters

NAME TYPE REQUIRED EXAMPLE NOTES
SerialFormat string yes json Form of the serialized data. (json/xml)
ClientVersion string yes 4.01.000 AmvrosiaWebService compatibility
DeviceTicket long yes 18005956 Ticket for user. Returned from login
CachedVersion string no - Hash data used in previous call
StationId int yes 2 Station id
ItemWeb int? no 1 ItemWeb value of returned items


Success Response

HTTP 200 OK
{
    "Items ": [
    {
        "Id ": 364
        "ThemeId ": 2,
        "Name ": "ΧΑΜΟΜΗΛΙ ",
        "ItemUniqueId ": 245,
        "UsePortions ": false,
        "ItemInfo ": "  ",
        "ItemWithoutDiscount ": false,
        "ItemWithFixedPrice ": false,
        "ItemFixedPrice ": 0.0000
    }
    ],
    "Remarks ": [
    {
        "Id ": 8,
        "IsModifier ": false,
        "Name ": "7UP "
    }
    ],
    "ItemRemarks ": [
    {
        "ItemId ": 1,
        "RemarkId ": 53
    }
    ],
    "SubItems ": [
    {
        "Id ": 641,
        "ShopItemId ": 642,
        "ItemUniqueId ": 641,
        "Name ": "DIROLLO   (Σ) ",
        "Type ": 0,
        "ItemWithoutDiscount ": false,
        "ItemWithFixedPrice ": false,
        "ItemFixedPrice ": 0.0000
    }
    ],
    "ItemSubItems ": [
    {
        "ItemId ": 68,
        "ItemUniqueId ": 68,
        "SubItemId ": 74,
        "SubItemUniqueId ": 74,
        "Selected ": false,
        "Required ": false
    }
    ],
    "ItemConnItems ": [
    {
        "ItemId ": 2,
        "ItemUniqueId ": 2,
        "ConnItemId ": 5,
        "ConnItemUniqueId ": 5
    }
    ]
}

ItemRemarks (Correlation)

NAME TYPE EXPLANATION
ItemId int Item Id
RemarkId int Remark Id

Items

NAME TYPE EXPLANATION
Id int Item Id
ThemeId int Theme Id
Name string Item Name
ItemUniqueId int Item Unique Code
UsePortions bool If Portions used in Item
ItemInfo string Item Information
ItemWithoutDiscount bool If item can get Discounted
ItemWithFixedPrice bool If item has Fixed Price
ItemFixedPrice decimal Item's Fixed Price

Remarks

NAME TYPE EXPLANATION
Id int Remark Id
IsModifier bool If Remark is Additive e.g. πολύ, λίγο κ.α.
Name string Remark

SubItems

NAME TYPE EXPLANATION
Id int Sub Item Id
ShopItemId int Shop Item Code
ItemUniqueId int Item Unique Code
Name string Sub Item Name
Type int 0 for additive 1 for accessories
ItemWithoutDiscount bool If item can get Discounted
ItemWithFixedPrice bool If item has Fixed Price
ItemFixedPrice decimal Item's Fixed Price

ItemSubItems (Correlation)

NAME TYPE EXPLANATION
ItemId int Item Id
ItemUniqueId int Item Unique Code
SubItemId int Sub Item Id
SubItemUniqueId int Sub Item Unique Code
Selected bool By Default selected Item's Subitem. Used in Alexandros
Required bool Is Required Subitem of Item?

ItemConnItems (Correlation)

NAME TYPE EXPLANATION
ItemId int Main Item Id
ItemUniqueId int Main Item Unique Code
ConnItemId int Conected Item Id
ConnItemUniqueId int Conected Item Unique Code

Error Response

HTTP 500 Internal Server Error
Error Message
Go to top...

GetStationMenuItems

Call example: http://localhost:5600/api/GeneralInformation/GetStationMenuItems?SerialFormat=json&ClientVersion=4.01.000&DeviceTicket=18005956&CachedVersion&StationId=2

Summary

Gets all info for menu items (special item category supported from Sunsoft Amvrosia). Service response containing info for menu groups and items.

Method Parameters

NAME TYPE REQUIRED EXAMPLE NOTES
SerialFormat string yes json Form of the serialized data. (json/xml)
ClientVersion string yes 4.01.000 Service Version
DeviceTicket long yes 18005956 Ticket for user. Returned from login
CachedVersion string no - Hash data used in previous call
StationId int yes 2 Station id


Success Response

HTTP 200 OK
{
	"MenuHeaders ": [
	{
	  "Id ": 3,
	  "Name ": "HOT ΕΠΙΛΟΓΕΣ ",
	  "Sort ": 1,
	  "ColorInt ": -1,
	  "Color ": "White "
	}
	],
	"MenuDetails ": [
	{
	  "Id ": 35,
	  "MenuHdrId ": 3,
	  "MenuDtlId ": 35,
	  "ShopItemId ": 635
	}
	]
}

                        

MenuHeaders

NAME TYPE EXPLANATION
Id int Menu Header Id
Name string Menu Description
Sort int Display sort of SubMenus
ColorInt Int Menu Color in Amvrosia
Color string Menu Color

MenuDetails

NAME TYPE EXPLANATION
Id int Menu Id
MenuHdrId int Menu Header Id
MenuDtlId int Menu Details Id
ShopItemId Int Shop Item Id

Error Response

HTTP 500 Internal Server Error
Error Message
Go to top...

GetCouponInfo

Call example: http://localhost:5600/api/GeneralInformation/GetCouponInfo?SerialFormat=json&ClientVersion=4.01.000&DeviceTicket=18005956&CachedVersion

Summary

Returns coupon information.

Method Parameters

NAME TYPE REQUIRED EXAMPLE NOTES
SerialFormat string yes json Form of the serialized data. (json/xml)
ClientVersion string yes 4.01.000 Service Version
DeviceTicket long yes 18005956 Ticket for user. Returned from login
CachedVersion string no - -


Success Response

HTTP 200 OK
{
    "Coupons ": [
        {
            "UniqueCode ": "f5ed5ac5-6b65-457c-b108-057e105fbb40 ",
            "Name ": "ΠΟΣΟΣΤΙΑΙΟ ΚΟΥΠΟΝΙ ",
            "Kind ": 2,
            "Values ": [
                10,
                20,
                30,
                40
            ]
        },
        {
            "UniqueCode ": "d5eacea2-be7f-4169-a306-136e10a80805 ",
            "Name ": "ΑΞΙΑΚΟ ΚΟΥΠΟΝΙ ",
            "Kind ": 1,
            "Values ": [
                2,
                5,
                10
            ]
        }
    ]
}

Coupons

NAME TYPE EXPLANATION
UniqueCode string Coupon GUID
Name string Coupon Name
Kind int 0=Invalid, 1=Value, 2=Percentage
Values[ ] decimal All Possible Values of Coupon

Error Response

HTTP 500 Internal Server Error
Error Message
Go to top...

GetStationThemes

Call example: http://localhost:5600/api/GeneralInformation/GetStationThemes?SerialFormat=json&ClientVersion=4.01.000&DeviceTicket=18005956&CachedVersion&StationId=2

Summary

Gets all item categories and subcategories. Service response containing a dataset with categories and subcategories. Categories may not be fetched if not parameterized accordingly.

Method Parameters

NAME TYPE REQUIRED EXAMPLE NOTES
SerialFormat string yes json Form of the serialized data. (json/xml)
ClientVersion string yes 4.01.000 Service Version
DeviceTicket long yes 18005956 Ticket for user. Returned from login
CachedVersion string no - Hash data used in previous call
StationId int yes 2 Station id
ItemWeb int? no 1 ItemWeb value of returned items


Success Response

HTTP 200 OK
{
  "Themes ": [
    {
      "Id": 3,
      "Name": "ΦΑΓΗΤΑ",
      "UseInMenu": true,
      "ParentId": 0
    },
    {
      "Id": 38,
      "Name": "ΤΥΛΙΧΤΑ",
      "UseInMenu": true,
      "ParentId": 3
    }
  ]
}

Themes

NAME TYPE EXPLANATION
Id int Theme Id
Name string Theme Description
UseInMenu bool If true Theme is used in menu
ParentId Int Theme Parent Id

**Result depends on the configuration of BO. You may get only ParentID=0 visit Parameters->Installation -> Application Parameters->Παραμετρικα-3- Αποστολη POS ομαδων ή υποομαδων Value:2

Error Response

HTTP 500 Internal Server Error
Error Message
Go to top...

GetPriceListInfo

Call example: http://localhost:5600/api/GeneralInformation/GetPriceListInfo?SerialFormat=json&ClientVersion=4.01.000&DeviceTicket=18005956&CachedVersion&StationId=2

Summary

Gets all info regarding pricing for the selected station. Pricelists, prices and usages. Service response containing all pricing info of station.

Method Parameters

NAME TYPE REQUIRED EXAMPLE NOTES
SerialFormat string yes json Form of the serialized data. (json/xml)
ClientVersion string yes 4.01.000 AmvrosiaWebService compatibility
DeviceTicket long yes 18005956 Ticket for user. Returned from login
CachedVersion string no - Hash data used in previous call
StationId int yes 2 Station id
ItemWeb int? no 1 ItemWeb value of returned items


Success Response

HTTP 200 OK
{
    "PriceLists ": [
    {
        "Id ": 17,
        "Code ": "1 ",
        "Name ": "ΒΑΣΙΚΟΣ (ΟΛΑ ΤΑ ΕΙΔΗ) "
    }
    ],
    "PriceListUsages ": [
    {
        "Mode ": 2,
        "TableId ": 112,
        "PriceListId ": 20,
        "IsDefault ": true
    }
    ],
    "ItemPrices ": [
    {
        "PriceListId ": 30,
        "ItemId ": 1825,
        "Price ": 0,
        "DiscountPercent ": 0,
        "EnableConnItems" : false
    }
    ]
}

PriceLists

NAME TYPE EXPLANATION
Id int Price List Id
Code Int Price LIst Code
Name string Price List Description

PriceListUsages (Correlation)

NAME TYPE EXPLANATION
Mode int 0=Warehouse, 1=Station, 2=Table PriceList
TableId int Table Id
PriceListId int PriceListId
IsDefault bool Is Default Price List

ItemPrices

NAME TYPE EXPLANATION
PriceListId int Price List Id
ItemId int Table Id
Price decimal Item Price
DiscountPercent double Discount Percentage
EnableConnItems bool If true, connected items should also appear in Order

Error Response

HTTP 500 Internal Server Error
Error Message
Go to top...

GetStationComboItems

Call example: http://localhost:5600/api/GeneralInformation/GetStationComboItems?SerialFormat=json&ClientVersion=4.01.000&DeviceTicket=18005956&CachedVersion=&StationId=2

Summary

Gets all info for combo items (special item category supported from Sunsoft Amvrosia). Service response containing info for combo groups and items.

Method Parameters

NAME TYPE REQUIRED EXAMPLE NOTES
SerialFormat string yes json Form of the serialized data. (json/xml)
ClientVersion string yes 4.01.000 Service Version
DeviceTicket long yes 18005956 Ticket for user. Returned from login
CachedVersion string no - Hash data used in previous call
StationId int yes 2 Station id
ItemWeb int? no 1 ItemWeb value of returned items


Success Response

HTTP 200 OK
{
      "ComboGroups ": [
            {
              "ItemUniqueId ": 1823,                    
              "Name ": "1 + 1 ΔΩΡΟ ",	                                              
              "ComboGroupUniqueId ": "bbcbf98b-72d3-4263-8cf2-74fb73e735e9 ",	      
              "ComboGroupName ": "ΕΠΙΛΕΞΤΕ PIZZA ΔΩΡΟ "	                                
            }
      ],
      "ComboItems ": [
            {
              "ComboGroupUniqueId ": "bbcbf98b-72d3-4263-8cf2-74fb73e735e9 ",	        
              "ItemUniqueId ": 166,	                                                   
              "Name ": "PIZZA PEPERONI (S) "	                                       
            }
      ]
}

ComboGroups

NAME TYPE EXPLANATION
ItemUniqueId int Item Unique Code(for the Combo)
Name string Item Name
ComboGroupUniqueId string GUID of Combo
ComboGroupName string Group Name Description

ComboItems

NAME TYPE EXPLANATION
ComboGroupUniqueId string GUID of Combo
ItemUniqueId int Group Item Unique Code
Name string Item Description

Error Response

HTTP 500 Internal Server Error
Error Message
Go to top...

GetNoteTypeInfo

Call example: http://localhost:5600/api/GeneralInformation/GetNoteTypeInfo?SerialFormat=json&ClientVersion=4.01.000&DeviceTicket=18005956&CachedVersion=&StationId=2

Summary

Gets all info regarding note types for the selected station. Note types, payways, note type usages. Service response containing all note type info of station.

Method Parameters

NAME TYPE REQUIRED EXAMPLE NOTES
SerialFormat string yes json Form of the serialized data. (json/xml)
ClientVersion string yes 4.01.000 Service Version
DeviceTicket long yes 18005956 Ticket for user. Returned from login
CachedVersion string no - Hash data used in previous call
StationId int yes 2 Station id


Success Response

HTTP 200 OK
{
  "NoteTypes": [
    {
      "Id": 39,
      "Name": "AΠΟΔΕΙΞΗΛΙΑΝΙΚΗΣΠΩΛΗΣΗΣ",
      "AllowZeroNote": true,
      "ForcePriceListId": 0,
      "AutoPay": false,
      "IsAutoParadosi": false,
      "Abbreviation": "ΑΛΠΜΕ",
      "IsDefault": false
    }
  ],
  "NoteTypeUsages": [
    {
      "TableId": 0,
      "Order_NoteTypeId": 89,
      "Order_IsDefault": true,
      "Check_NoteTypeId": 39,
      "Check_IsDefault": true
    }
  ],
  "NoteTypePayWays": [
    {
      "Id": 6,
      "NoteTypeId": 39,
      "Name": "ΜΕΤΡΗΤΟΙΣ",
      "PayWayPosType": 0,
      "IsDefault": true,
      "IsAutoParadosi": false
    }
  ]
}

NoteTypes

NAME TYPE EXPLANATION
Id int Note Id
Name string Note Type Description
AllowZeroNote bool if true Update FO
ForcePriceListId Int Price List Id, per Note, Per Station
AutoPay bool Auto Pay
IsAutoParadosi bool Note is for Emploees αυτοπαραδοση
Abbreviation string Note Type Αbbreviation
IsDefault bool Is default Note Type

NoteTypeUsages (correlation)

NAME TYPE EXPLANATION
TableId int Table Id
Order_NoteTypeId int Note Type of Order
Order_IsDefault bool Is Default Order Note Type
Check_NoteTypeId int Note Type of Check
Check_IsDefault bool Is Default Check Note Type

NoteTypePayWays

NAME TYPE EXPLANATION
Id int Pay Way Id
NoteTypeId int Note Type Id
Name string Pay Way Name
PayWayPosType int 0=normal, 1=room, 2=dikaioumena
IsDefault bool Default Pay Way
IsAutoParadosi bool Is for Emploees

Error Response

HTTP 500 Internal Server Error
Error Message
Go to top...

GetStationTables

Call example: http://localhost:5600/api/GeneralInformation/GetStationTables?SerialFormat=json&ClientVersion=4.01.000&DeviceTicket=18005956&CachedVersion=&StationId=2&UserId=11

Summary

Gets all station tables and halls for user. Service response containing a list with all stations tables. Excluded Delivery and Fake tables.

Method Parameters

NAME TYPE REQUIRED EXAMPLE NOTES
SerialFormat string yes json Form of the serialized data. (json/xml)
ClientVersion string yes 4.01.000 Service Version
DeviceTicket long yes 18005956 Ticket for user. Returned from login
CachedVersion string no - Hash data used in previous call
StationId int yes 2 Station id
UserId int yes 11 User id


Success Response

HTTP 200 OK
{
  "StationId": 0,
  "WorkingDate": "0001-01-01T00:00:00",
  "OrderInfo": null,
  "Halls": [
    {
      "Id": 4,
      "Name": "ΠΡΩΤΗ"
    }
  ],
  "Tables": [
    {
      "Id": 4,
      "Name": "4",
      "HallId": 4
    }
  ]
}

RootElements

NAME TYPE EXPLANATION
StationId int Station Id
WorkingDate string Date Time yyyy-mm-dd'T'HH:mm:ss
OrderInfo TableOrderInfo Table Order Info

Halls

NAME TYPE EXPLANATION
Id int Hall Id
Name string Hall Description

Tables

NAME TYPE EXPLANATION
Id int Table Id
Name string Table Name
HallId int Hall Id

TableOrderInfo

NAME TYPE EXPLANATION
Orders int Count Orders
Checks int Count Checks
Closed int Count Close Orders
Total int Count Total
OrderAmount decimal Orders' Amount
CheckAmount decimal Checks' Amount
ClosedAmount int Closed Orders' Amount
TotalAmount int Total Amount

Error Response

HTTP 500 Internal Server Error
Error Message
Go to top...

GetMessagingInfo

Call example: http://localhost:5600/api/GeneralInformation/GetMessagingInfo?serialFormat=Json&clientVersion=5.01.003&deviceTicket=123&cachedVersion=11&stationId=3

Summary

Gets information about Messages

Method Parameters

NAME TYPE REQUIRED EXAMPLE NOTES
SerialFormat string yes json Form of the serialized data. (json/xml)
ClientVersion string yes 4.01.000 Service Version
DeviceTicket long yes 18005956 Ticket for user. Returned from login
CachedVersion string no - Hash data used in previous call
StationId int yes 2 Station id


Success Response

HTTP 200 OK
{
  "Categories": [
    {
      "Id": 1,
      "Name": "ATCOM"
    }
  ],
  "Messages": [
    {
      "CategoryId": 1,
      "Id": 1,
      "Code": "1",
      "Name": "TEST",
      "IsEditable": true,
      "WithItems": false
    }
  ],
  "Devices": [
    {
      "Id": 1,
      "Name": "MHNYMA ATCOM",
      "DeviceType": 2,
      "Host": "DESKTOP-LS8DOC1"
    }
  ],
  "DeviceUsage": [
    {
      "MessageId": 1,
      "DeviceId": 1
    }
  ]
}

RootElements

NAME TYPE EXPLANATION
Categories Categories Categories Info
Messages Messages Messages Info
Devices Devices Devices Info
DeviceUsage Device Usage Device Usage Info

Categories

NAME TYPE EXPLANATION
Id int Category Id
Name string Category Description

Messages

NAME TYPE EXPLANATION
CategoryId int Category Id
Id int Message Id
Code string Message Code
Name string Message Name
IsEditable boolean is editable
WithItems boolean Has Items

Devices

NAME TYPE EXPLANATION
Id int Device Id
Name string Device Description
DeviceType int Device Type: 0 for Inactive, 1 for Printer,
2 for Screen, 3 for ARS
Host string Device Host

DeviceUsage

NAME TYPE EXPLANATION
MessageId int Message Id
DeviceId int Device Id

Error Response

HTTP 500 Internal Server Error
Error Message
Go to top...