This article will walk you through setting up the Skywire application programming interface
API Setup
First, create a folder in the root of IIS called “SkyWireAPI.”
The directory path should be: “C:\inetpub\wwwroot\SkyWireAPI.”
Allow permissions for IIS to read and write to the directory.
Within IIS, create a web page named “SkyWire API.”
Enter site name, enter the physical path “C:\inetpub\wwwroot\SkyWireAPI”, assign port 443 for SSL and edit bindings to assign SSL certificate.
Copy the API files into root of the SkyWireAPI folder
Create SQL Connection String
The SQL connection string allows the API to connect to the POS database. Below are examples of the connection string default values and how it needs to be formatted:
Default
<connectionStrings>
<add name="SkyWirePosContext" connectionString="$(ReplacableToken_SkyWirePosContext-Web.config Connection String_0)" providerName="System.Data.SqlClient" />
</connectionStrings>
Formatted
<connectionStrings>
<add name="SkyWirePosContext" connectionString="data source=lvuatskywzc-1;Integrated Security=false;User Id=svc_LabBriggs_sql;Password=lights25;Initial Catalog=kiosk;" providerName="System.Data.SqlClient" />
</connectionStrings>
Add Handlers
The URL Handler allows the calls for posting orders to the OData endpoint. Below are examples of the default values and how it needs to be formatted:
Default
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
Formatted
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE" type="System.Web.Handlers.TransferRequestHandler" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
<staticContent>
<clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00" />
</staticContent>
<caching>
<profiles>
<add extension="*" policy="DisableCache" kernelCachePolicy="DontCache" varyByHeaders="Accept-Language, Accept-Charset" varyByQueryString="$expand, expand, ExceptionModifierGroups, Products, ProductsGroups, ExceptionModifiers" />
</profiles>
</caching>
</system.webServer>