curl --request POST \
--url https://api.exowpee.com/v1/order/cash/instance-registrations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"registration_key": "<string>",
"cash_register_id": "<string>",
"name": "<string>",
"computer_id": "<string>",
"host_fingerprint": "<string>",
"company_id": "<string>",
"pos_sync_instance_id": "<string>"
}
'import requests
url = "https://api.exowpee.com/v1/order/cash/instance-registrations"
payload = {
"registration_key": "<string>",
"cash_register_id": "<string>",
"name": "<string>",
"computer_id": "<string>",
"host_fingerprint": "<string>",
"company_id": "<string>",
"pos_sync_instance_id": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
registration_key: '<string>',
cash_register_id: '<string>',
name: '<string>',
computer_id: '<string>',
host_fingerprint: '<string>',
company_id: '<string>',
pos_sync_instance_id: '<string>'
})
};
fetch('https://api.exowpee.com/v1/order/cash/instance-registrations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.exowpee.com/v1/order/cash/instance-registrations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'registration_key' => '<string>',
'cash_register_id' => '<string>',
'name' => '<string>',
'computer_id' => '<string>',
'host_fingerprint' => '<string>',
'company_id' => '<string>',
'pos_sync_instance_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.exowpee.com/v1/order/cash/instance-registrations"
payload := strings.NewReader("{\n \"registration_key\": \"<string>\",\n \"cash_register_id\": \"<string>\",\n \"name\": \"<string>\",\n \"computer_id\": \"<string>\",\n \"host_fingerprint\": \"<string>\",\n \"company_id\": \"<string>\",\n \"pos_sync_instance_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.exowpee.com/v1/order/cash/instance-registrations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"registration_key\": \"<string>\",\n \"cash_register_id\": \"<string>\",\n \"name\": \"<string>\",\n \"computer_id\": \"<string>\",\n \"host_fingerprint\": \"<string>\",\n \"company_id\": \"<string>\",\n \"pos_sync_instance_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.exowpee.com/v1/order/cash/instance-registrations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"registration_key\": \"<string>\",\n \"cash_register_id\": \"<string>\",\n \"name\": \"<string>\",\n \"computer_id\": \"<string>\",\n \"host_fingerprint\": \"<string>\",\n \"company_id\": \"<string>\",\n \"pos_sync_instance_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"company_id": "<string>",
"cash_register_id": "<string>",
"pos_sync_instance_id": "<string>",
"computer_id": "<string>",
"name": "<string>",
"platform": "<string>",
"status": "<string>",
"approved_at": "2023-11-07T05:31:56Z",
"approved_by": "<string>",
"rejected_at": "2023-11-07T05:31:56Z",
"rejected_by": "<string>",
"completed_at": "2023-11-07T05:31:56Z",
"instance_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"request_token": "<string>"
}
}{
"message": "<string>",
"errors": {}
}Request a cash register computer link
A computer asks to be linked to a cash register of a company, using the company registration key. The request waits for a manager approval and returns a private token the machine keeps to follow its request.
curl --request POST \
--url https://api.exowpee.com/v1/order/cash/instance-registrations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"registration_key": "<string>",
"cash_register_id": "<string>",
"name": "<string>",
"computer_id": "<string>",
"host_fingerprint": "<string>",
"company_id": "<string>",
"pos_sync_instance_id": "<string>"
}
'import requests
url = "https://api.exowpee.com/v1/order/cash/instance-registrations"
payload = {
"registration_key": "<string>",
"cash_register_id": "<string>",
"name": "<string>",
"computer_id": "<string>",
"host_fingerprint": "<string>",
"company_id": "<string>",
"pos_sync_instance_id": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
registration_key: '<string>',
cash_register_id: '<string>',
name: '<string>',
computer_id: '<string>',
host_fingerprint: '<string>',
company_id: '<string>',
pos_sync_instance_id: '<string>'
})
};
fetch('https://api.exowpee.com/v1/order/cash/instance-registrations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.exowpee.com/v1/order/cash/instance-registrations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'registration_key' => '<string>',
'cash_register_id' => '<string>',
'name' => '<string>',
'computer_id' => '<string>',
'host_fingerprint' => '<string>',
'company_id' => '<string>',
'pos_sync_instance_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.exowpee.com/v1/order/cash/instance-registrations"
payload := strings.NewReader("{\n \"registration_key\": \"<string>\",\n \"cash_register_id\": \"<string>\",\n \"name\": \"<string>\",\n \"computer_id\": \"<string>\",\n \"host_fingerprint\": \"<string>\",\n \"company_id\": \"<string>\",\n \"pos_sync_instance_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.exowpee.com/v1/order/cash/instance-registrations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"registration_key\": \"<string>\",\n \"cash_register_id\": \"<string>\",\n \"name\": \"<string>\",\n \"computer_id\": \"<string>\",\n \"host_fingerprint\": \"<string>\",\n \"company_id\": \"<string>\",\n \"pos_sync_instance_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.exowpee.com/v1/order/cash/instance-registrations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"registration_key\": \"<string>\",\n \"cash_register_id\": \"<string>\",\n \"name\": \"<string>\",\n \"computer_id\": \"<string>\",\n \"host_fingerprint\": \"<string>\",\n \"company_id\": \"<string>\",\n \"pos_sync_instance_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"company_id": "<string>",
"cash_register_id": "<string>",
"pos_sync_instance_id": "<string>",
"computer_id": "<string>",
"name": "<string>",
"platform": "<string>",
"status": "<string>",
"approved_at": "2023-11-07T05:31:56Z",
"approved_by": "<string>",
"rejected_at": "2023-11-07T05:31:56Z",
"rejected_by": "<string>",
"completed_at": "2023-11-07T05:31:56Z",
"instance_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"request_token": "<string>"
}
}{
"message": "<string>",
"errors": {}
}- registration_key must be the company’s cash registration key; an unknown key is refused.
- company_id is prohibited; the company comes from the key.
- If pos_sync_instance_id is given, it must be an active POS device of the register’s organization on the same computer; otherwise 422.
- No active device may already exist for this machine on this register; otherwise 409.
- Only one open request (pending, or approved and not completed) per machine, by computer or host fingerprint, on the same register; otherwise 409.
- The route is limited to 10 calls per minute.
- Creates a pending request and returns a one-time request token; only its hash is stored.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
The company's cash registration key (26-character ULID). Required; it identifies the company and must exist.
26Identifier of the cash register (27-character KSUID) the machine asks to be linked to. Required; must belong to the company found from the key.
27Display name of the machine, up to 120 characters. Required.
120Stable identifier of the computer, up to 255 characters. Required.
255Fingerprint of the host, up to 255 characters. Required; stored only as a hash.
255Identifier of the company the record belongs to.
Optional identifier of the POS sync device already active on the same computer in the register's organization. If given and not active on that computer, the request is refused.
27Operating system of the machine: darwin, win32 or linux. Optional.
darwin, win32, linux Response
CashInstanceRegistrationSubmissionResource
Items of this page.
Show child attributes
Show child attributes