curl --request POST \
--url https://{customerDomain}.fabric.zone/api-commerceIdentity/user/guest \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--header 'x-site-context: <x-site-context>' \
--data '
{
"user": {
"name": {
"first": "Pat",
"middle": "E",
"last": "Kake"
},
"phone": [
{
"number": "555-123-4567",
"countryCode": "+91",
"extenstion": "x-6789",
"kind": "Mobile"
}
],
"email": "test@mail.com",
"extra": {}
},
"provider": {
"username": "user101",
"password": "ABC123"
}
}
'import requests
url = "https://{customerDomain}.fabric.zone/api-commerceIdentity/user/guest"
payload = {
"user": {
"name": {
"first": "Pat",
"middle": "E",
"last": "Kake"
},
"phone": [
{
"number": "555-123-4567",
"countryCode": "+91",
"extenstion": "x-6789",
"kind": "Mobile"
}
],
"email": "test@mail.com",
"extra": {}
},
"provider": {
"username": "user101",
"password": "ABC123"
}
}
headers = {
"x-site-context": "<x-site-context>",
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-site-context': '<x-site-context>',
'x-api-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
user: {
name: {first: 'Pat', middle: 'E', last: 'Kake'},
phone: [
{
number: '555-123-4567',
countryCode: '+91',
extenstion: 'x-6789',
kind: 'Mobile'
}
],
email: 'test@mail.com',
extra: {}
},
provider: {username: 'user101', password: 'ABC123'}
})
};
fetch('https://{customerDomain}.fabric.zone/api-commerceIdentity/user/guest', 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://{customerDomain}.fabric.zone/api-commerceIdentity/user/guest",
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([
'user' => [
'name' => [
'first' => 'Pat',
'middle' => 'E',
'last' => 'Kake'
],
'phone' => [
[
'number' => '555-123-4567',
'countryCode' => '+91',
'extenstion' => 'x-6789',
'kind' => 'Mobile'
]
],
'email' => 'test@mail.com',
'extra' => [
]
],
'provider' => [
'username' => 'user101',
'password' => 'ABC123'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>",
"x-site-context: <x-site-context>"
],
]);
$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://{customerDomain}.fabric.zone/api-commerceIdentity/user/guest"
payload := strings.NewReader("{\n \"user\": {\n \"name\": {\n \"first\": \"Pat\",\n \"middle\": \"E\",\n \"last\": \"Kake\"\n },\n \"phone\": [\n {\n \"number\": \"555-123-4567\",\n \"countryCode\": \"+91\",\n \"extenstion\": \"x-6789\",\n \"kind\": \"Mobile\"\n }\n ],\n \"email\": \"test@mail.com\",\n \"extra\": {}\n },\n \"provider\": {\n \"username\": \"user101\",\n \"password\": \"ABC123\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-site-context", "<x-site-context>")
req.Header.Add("x-api-key", "<api-key>")
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://{customerDomain}.fabric.zone/api-commerceIdentity/user/guest")
.header("x-site-context", "<x-site-context>")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"user\": {\n \"name\": {\n \"first\": \"Pat\",\n \"middle\": \"E\",\n \"last\": \"Kake\"\n },\n \"phone\": [\n {\n \"number\": \"555-123-4567\",\n \"countryCode\": \"+91\",\n \"extenstion\": \"x-6789\",\n \"kind\": \"Mobile\"\n }\n ],\n \"email\": \"test@mail.com\",\n \"extra\": {}\n },\n \"provider\": {\n \"username\": \"user101\",\n \"password\": \"ABC123\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{customerDomain}.fabric.zone/api-commerceIdentity/user/guest")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-site-context"] = '<x-site-context>'
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"user\": {\n \"name\": {\n \"first\": \"Pat\",\n \"middle\": \"E\",\n \"last\": \"Kake\"\n },\n \"phone\": [\n {\n \"number\": \"555-123-4567\",\n \"countryCode\": \"+91\",\n \"extenstion\": \"x-6789\",\n \"kind\": \"Mobile\"\n }\n ],\n \"email\": \"test@mail.com\",\n \"extra\": {}\n },\n \"provider\": {\n \"username\": \"user101\",\n \"password\": \"ABC123\"\n }\n}"
response = http.request(request)
puts response.read_body{
"_id": "596f7557696e2d4d617a616c546f7621",
"userId": "6169b2d892a5f30009d76480",
"roles": "customer",
"name": "Pat E Kake",
"account": "xxxxxcxxxxxxxxxxxxxx",
"userType": "customer",
"accessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxZjIyMTU4...",
"refreshToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxZjIyMTU4..."
}{
"error": "BAD_REQUEST",
"code": "400",
"message": "BAD_REQUEST"
}{
"error": "INTERNAL_SERVER_ERROR",
"code": "500",
"message": "Internal server error"
}Create guest user
Create guest user
curl --request POST \
--url https://{customerDomain}.fabric.zone/api-commerceIdentity/user/guest \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--header 'x-site-context: <x-site-context>' \
--data '
{
"user": {
"name": {
"first": "Pat",
"middle": "E",
"last": "Kake"
},
"phone": [
{
"number": "555-123-4567",
"countryCode": "+91",
"extenstion": "x-6789",
"kind": "Mobile"
}
],
"email": "test@mail.com",
"extra": {}
},
"provider": {
"username": "user101",
"password": "ABC123"
}
}
'import requests
url = "https://{customerDomain}.fabric.zone/api-commerceIdentity/user/guest"
payload = {
"user": {
"name": {
"first": "Pat",
"middle": "E",
"last": "Kake"
},
"phone": [
{
"number": "555-123-4567",
"countryCode": "+91",
"extenstion": "x-6789",
"kind": "Mobile"
}
],
"email": "test@mail.com",
"extra": {}
},
"provider": {
"username": "user101",
"password": "ABC123"
}
}
headers = {
"x-site-context": "<x-site-context>",
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-site-context': '<x-site-context>',
'x-api-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
user: {
name: {first: 'Pat', middle: 'E', last: 'Kake'},
phone: [
{
number: '555-123-4567',
countryCode: '+91',
extenstion: 'x-6789',
kind: 'Mobile'
}
],
email: 'test@mail.com',
extra: {}
},
provider: {username: 'user101', password: 'ABC123'}
})
};
fetch('https://{customerDomain}.fabric.zone/api-commerceIdentity/user/guest', 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://{customerDomain}.fabric.zone/api-commerceIdentity/user/guest",
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([
'user' => [
'name' => [
'first' => 'Pat',
'middle' => 'E',
'last' => 'Kake'
],
'phone' => [
[
'number' => '555-123-4567',
'countryCode' => '+91',
'extenstion' => 'x-6789',
'kind' => 'Mobile'
]
],
'email' => 'test@mail.com',
'extra' => [
]
],
'provider' => [
'username' => 'user101',
'password' => 'ABC123'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>",
"x-site-context: <x-site-context>"
],
]);
$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://{customerDomain}.fabric.zone/api-commerceIdentity/user/guest"
payload := strings.NewReader("{\n \"user\": {\n \"name\": {\n \"first\": \"Pat\",\n \"middle\": \"E\",\n \"last\": \"Kake\"\n },\n \"phone\": [\n {\n \"number\": \"555-123-4567\",\n \"countryCode\": \"+91\",\n \"extenstion\": \"x-6789\",\n \"kind\": \"Mobile\"\n }\n ],\n \"email\": \"test@mail.com\",\n \"extra\": {}\n },\n \"provider\": {\n \"username\": \"user101\",\n \"password\": \"ABC123\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-site-context", "<x-site-context>")
req.Header.Add("x-api-key", "<api-key>")
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://{customerDomain}.fabric.zone/api-commerceIdentity/user/guest")
.header("x-site-context", "<x-site-context>")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"user\": {\n \"name\": {\n \"first\": \"Pat\",\n \"middle\": \"E\",\n \"last\": \"Kake\"\n },\n \"phone\": [\n {\n \"number\": \"555-123-4567\",\n \"countryCode\": \"+91\",\n \"extenstion\": \"x-6789\",\n \"kind\": \"Mobile\"\n }\n ],\n \"email\": \"test@mail.com\",\n \"extra\": {}\n },\n \"provider\": {\n \"username\": \"user101\",\n \"password\": \"ABC123\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{customerDomain}.fabric.zone/api-commerceIdentity/user/guest")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-site-context"] = '<x-site-context>'
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"user\": {\n \"name\": {\n \"first\": \"Pat\",\n \"middle\": \"E\",\n \"last\": \"Kake\"\n },\n \"phone\": [\n {\n \"number\": \"555-123-4567\",\n \"countryCode\": \"+91\",\n \"extenstion\": \"x-6789\",\n \"kind\": \"Mobile\"\n }\n ],\n \"email\": \"test@mail.com\",\n \"extra\": {}\n },\n \"provider\": {\n \"username\": \"user101\",\n \"password\": \"ABC123\"\n }\n}"
response = http.request(request)
puts response.read_body{
"_id": "596f7557696e2d4d617a616c546f7621",
"userId": "6169b2d892a5f30009d76480",
"roles": "customer",
"name": "Pat E Kake",
"account": "xxxxxcxxxxxxxxxxxxxx",
"userType": "customer",
"accessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxZjIyMTU4...",
"refreshToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxZjIyMTU4..."
}{
"error": "BAD_REQUEST",
"code": "400",
"message": "BAD_REQUEST"
}{
"error": "INTERNAL_SERVER_ERROR",
"code": "500",
"message": "Internal server error"
}Authorizations
Headers
The x-site-context header is a JSON object that contains information about the source you wish to pull from. The mandatory account is the 24 character identifier found in Copilot. The channel (Sales channel ID), stage (environment name), and date attributes can be used to further narrow the scope of your data source.
"{\"date\": \"2023-01-01T00:00:00.000Z\", \"channel\": 12, \"account\": \"1234abcd5678efgh9ijklmno\",\"stage\":\"production\"}"
Body
Response
Sign-in response
Sign-in response body
Response ID
"596f7557696e2d4d617a616c546f7621"
User ID
"6169b2d892a5f30009d76480"
User roles
"customer"
User's full name
Show child attributes
Show child attributes
"Pat E Kake"
Merchant account ID
"xxxxxcxxxxxxxxxxxxxx"
Type of user
"customer"
Access token
"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxZjIyMTU4..."
Refresh token
"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxZjIyMTU4..."
Was this page helpful?
