Developers
 
Library Developer Home Web Appearance Customising Reports APIs Primitives OpenAPI eLink O3 DataRead FD1 Client Protocol Base Functions Info URL space Realtime SSE Levels Online Services xyz.online.fielpine.com Telemetry User Portals Zone Stock Levels
Worked Examples Customer Signup Detailed Guides Login Pages Tips & Tricks Database Override POS UI Cheatsheet

Online.Fieldpine.com

For each retailer, Fieldpine provides an internet domain that is loosely connected to the retailer. This domain is called xxx.online.fieldpine.com where "xxx" varies by Retailer, and is allocated by Fieldpine.

This domain is used to provide a number of services to the retailer, and also to act as a public domain that can be accessed when needed by third party services. Using a Fieldpine controlled domain offloads management effort and ensures resources are available even when store computers are powered down.

The following URLs are available

General Purpose URLs

/do/oauth.1

Allows a web page to call a URL directly, where the original web page is blocked from calling the target page directly for some reason.

Called with PUT or POST. Has a payload/body as follows

{
method: "POST",
url: "https://someservice.example.com/something",
body: ....,
headers {
  name: value
  }
}

The URL in the body passed to /do/oauth1.htm is called with the method and body passed over. Note that URLs/Hosts may be restricted to specific whitelisted (by Fieldpine) sites.

Example of use from client side browser, calling a URL that cannot be called locally for some reason (often CORS, or outbound firewall restrictions)

fetch("https://{YOUR-CODE}.online.fieldpine.com/do/oauth.1",
{
    method: "POST",
    body: JSON.stringify(
        {
            method: "POST",
            url: "https://oauth.example.com/as/token.oauth2",
            body: "grant_type=client_credentials&client_id=ABC123&client_secret=111222333",
            headers: {
                "content-type": "application/x-www-form-urlencoded"
            }
        }
    )
})
.then(function (rsp) { return rsp.json() })
.then(function (d) {
    // Handle response
});

Consider carefully if this URL is the right option, why is the target URL not reachable from a browser and are you circumventing security?

/do/document.1

Upload a document scan/photo/pdf for automatic processing. Typically this URL is loaded into scanners or other devices that require a public URL. The document loaded to this URL is decoded and then passed to the retailer store systems for processing.

This URL may require a password.

Example of webpage uploading document for processing

fetch("https://example.online.fieldpine.com/do/document.1", {
    method: "POST",
    body: FileData
})
    .then(function (rsp) { return rsp.json() })
    .then(function (d) {
        ProcessDocumentResult(d);
    })

Internal URLs

These URLs are mainly used by Fieldpine as they are somewhat special purpose.

/ingest/stocklevel

This URL is used by Fieldpine directly to store shared stocklevels in realtime. Most commonly this is sharing of stocklevels between related by seperate business.