curl --request PATCH \
--url https://api.fabric.inc/v3/carts/{cartId}/customer \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-fabric-tenant-id: <x-fabric-tenant-id>' \
--data '
{
"id": "109840938",
"attributes": {
"email": "test@gmail.com"
},
"segments": [
{
"name": "membership",
"value": [
"gold",
"silver"
]
}
],
"sessionId": "3a5fd2d3-5c96-4e57-b069-7ff2a88c1119"
}
'import requests
url = "https://api.fabric.inc/v3/carts/{cartId}/customer"
payload = {
"id": "109840938",
"attributes": { "email": "test@gmail.com" },
"segments": [
{
"name": "membership",
"value": ["gold", "silver"]
}
],
"sessionId": "3a5fd2d3-5c96-4e57-b069-7ff2a88c1119"
}
headers = {
"x-fabric-tenant-id": "<x-fabric-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'x-fabric-tenant-id': '<x-fabric-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
id: '109840938',
attributes: {email: 'test@gmail.com'},
segments: [{name: 'membership', value: ['gold', 'silver']}],
sessionId: '3a5fd2d3-5c96-4e57-b069-7ff2a88c1119'
})
};
fetch('https://api.fabric.inc/v3/carts/{cartId}/customer', 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.fabric.inc/v3/carts/{cartId}/customer",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'id' => '109840938',
'attributes' => [
'email' => 'test@gmail.com'
],
'segments' => [
[
'name' => 'membership',
'value' => [
'gold',
'silver'
]
]
],
'sessionId' => '3a5fd2d3-5c96-4e57-b069-7ff2a88c1119'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-fabric-tenant-id: <x-fabric-tenant-id>"
],
]);
$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.fabric.inc/v3/carts/{cartId}/customer"
payload := strings.NewReader("{\n \"id\": \"109840938\",\n \"attributes\": {\n \"email\": \"test@gmail.com\"\n },\n \"segments\": [\n {\n \"name\": \"membership\",\n \"value\": [\n \"gold\",\n \"silver\"\n ]\n }\n ],\n \"sessionId\": \"3a5fd2d3-5c96-4e57-b069-7ff2a88c1119\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-fabric-tenant-id", "<x-fabric-tenant-id>")
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.patch("https://api.fabric.inc/v3/carts/{cartId}/customer")
.header("x-fabric-tenant-id", "<x-fabric-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"109840938\",\n \"attributes\": {\n \"email\": \"test@gmail.com\"\n },\n \"segments\": [\n {\n \"name\": \"membership\",\n \"value\": [\n \"gold\",\n \"silver\"\n ]\n }\n ],\n \"sessionId\": \"3a5fd2d3-5c96-4e57-b069-7ff2a88c1119\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fabric.inc/v3/carts/{cartId}/customer")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-fabric-tenant-id"] = '<x-fabric-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": \"109840938\",\n \"attributes\": {\n \"email\": \"test@gmail.com\"\n },\n \"segments\": [\n {\n \"name\": \"membership\",\n \"value\": [\n \"gold\",\n \"silver\"\n ]\n }\n ],\n \"sessionId\": \"3a5fd2d3-5c96-4e57-b069-7ff2a88c1119\"\n}"
response = http.request(request)
puts response.read_body{
"id": "109840938",
"attributes": {
"email": "test@gmail.com"
},
"segments": [
{
"name": "membership",
"value": [
"gold",
"silver"
]
}
],
"sessionId": "3a5fd2d3-5c96-4e57-b069-7ff2a88c1119"
}{
"type": "BAD_REQUEST",
"message": "x-fabric-tenant-id is required"
}{
"type": "CART_NOT_FOUND",
"message": "Cart not found"
}Update customer
Updates the customer information in the cart.
The Cart ID from the Create cart endpoint is used in the path parameter.
curl --request PATCH \
--url https://api.fabric.inc/v3/carts/{cartId}/customer \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-fabric-tenant-id: <x-fabric-tenant-id>' \
--data '
{
"id": "109840938",
"attributes": {
"email": "test@gmail.com"
},
"segments": [
{
"name": "membership",
"value": [
"gold",
"silver"
]
}
],
"sessionId": "3a5fd2d3-5c96-4e57-b069-7ff2a88c1119"
}
'import requests
url = "https://api.fabric.inc/v3/carts/{cartId}/customer"
payload = {
"id": "109840938",
"attributes": { "email": "test@gmail.com" },
"segments": [
{
"name": "membership",
"value": ["gold", "silver"]
}
],
"sessionId": "3a5fd2d3-5c96-4e57-b069-7ff2a88c1119"
}
headers = {
"x-fabric-tenant-id": "<x-fabric-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'x-fabric-tenant-id': '<x-fabric-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
id: '109840938',
attributes: {email: 'test@gmail.com'},
segments: [{name: 'membership', value: ['gold', 'silver']}],
sessionId: '3a5fd2d3-5c96-4e57-b069-7ff2a88c1119'
})
};
fetch('https://api.fabric.inc/v3/carts/{cartId}/customer', 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.fabric.inc/v3/carts/{cartId}/customer",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'id' => '109840938',
'attributes' => [
'email' => 'test@gmail.com'
],
'segments' => [
[
'name' => 'membership',
'value' => [
'gold',
'silver'
]
]
],
'sessionId' => '3a5fd2d3-5c96-4e57-b069-7ff2a88c1119'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-fabric-tenant-id: <x-fabric-tenant-id>"
],
]);
$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.fabric.inc/v3/carts/{cartId}/customer"
payload := strings.NewReader("{\n \"id\": \"109840938\",\n \"attributes\": {\n \"email\": \"test@gmail.com\"\n },\n \"segments\": [\n {\n \"name\": \"membership\",\n \"value\": [\n \"gold\",\n \"silver\"\n ]\n }\n ],\n \"sessionId\": \"3a5fd2d3-5c96-4e57-b069-7ff2a88c1119\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-fabric-tenant-id", "<x-fabric-tenant-id>")
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.patch("https://api.fabric.inc/v3/carts/{cartId}/customer")
.header("x-fabric-tenant-id", "<x-fabric-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"109840938\",\n \"attributes\": {\n \"email\": \"test@gmail.com\"\n },\n \"segments\": [\n {\n \"name\": \"membership\",\n \"value\": [\n \"gold\",\n \"silver\"\n ]\n }\n ],\n \"sessionId\": \"3a5fd2d3-5c96-4e57-b069-7ff2a88c1119\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fabric.inc/v3/carts/{cartId}/customer")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-fabric-tenant-id"] = '<x-fabric-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": \"109840938\",\n \"attributes\": {\n \"email\": \"test@gmail.com\"\n },\n \"segments\": [\n {\n \"name\": \"membership\",\n \"value\": [\n \"gold\",\n \"silver\"\n ]\n }\n ],\n \"sessionId\": \"3a5fd2d3-5c96-4e57-b069-7ff2a88c1119\"\n}"
response = http.request(request)
puts response.read_body{
"id": "109840938",
"attributes": {
"email": "test@gmail.com"
},
"segments": [
{
"name": "membership",
"value": [
"gold",
"silver"
]
}
],
"sessionId": "3a5fd2d3-5c96-4e57-b069-7ff2a88c1119"
}{
"type": "BAD_REQUEST",
"message": "x-fabric-tenant-id is required"
}{
"type": "CART_NOT_FOUND",
"message": "Cart not found"
}Authorizations
This is the authorization token used to authenticate the request. You must pass the access token generated from the system app. For more information, see the Making your first API request section.
Headers
A header used by fabric to identify the tenant making the request. You must include tenant id in the authentication header for an API request to access any of fabric’s endpoints. You can retrieve the tenant id , which is also called account id, from Copilot. This header is required.
"617329dfd5288b0011332311"
Unique request ID for tracking.
"263e731c-45c8-11ed-b878-0242ac120002"
x-fabric-channel-id identifies the sales channel through which the API request is being made; primarily for multichannel use cases. It is a required field. The default US channel is 12 while the default Canada channel is 11.
"12"
Path Parameters
The 24-character system-generated Cart ID. This ID is generated using the Create cart endpoint.
Body
Customer Context Request
This is where you can include non-system-generated Customer ID. Since there is no validation for duplicate Customer IDs, ensure each ID is unique to each customer.
"109840938"
Customer attributes such as email.
Show child attributes
Show child attributes
{ "email": "test@gmail.com" }
An array containing customer segments.
Show child attributes
Show child attributes
Session ID
"3a5fd2d3-5c96-4e57-b069-7ff2a88c1119"
Response
OK
The Customer ID that was added to the customer attribute when using this endpoint.
"109840938"
Customer attributes such as email.
Show child attributes
Show child attributes
{ "email": "test@gmail.com" }
An array containing customer segments.
Show child attributes
Show child attributes
Session ID
"3a5fd2d3-5c96-4e57-b069-7ff2a88c1119"
Was this page helpful?
