ReactorCX API
The ReactorCX REST API can be leveraged to integrate the functionality of ReactorCX into your application. The API serves two main purposes:
- Direct read/modification of objects via CRUD operations
- Processing of Activities against the ReactorCX engine
Each API describes the structure of the resource and the operations on it.
Base URL
The hostname shown in code examples throughout this reference (https://rcx-crud.tenant.rcx-backend.lmvi.net) is illustrative. The actual base URL for your environment is provided by RCX Support at the time the environment is provisioned. Substitute that URL wherever the examples show the placeholder host.
Authentication
Login
LogIn Request Example
POST /api/v1/login HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache
username=sev%2Fadmin&password=wint00l%24s
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/login \
-H 'cache-control: no-cache' \
-H 'content-type: application/x-www-form-urlencoded' \
-d 'username=sev%2Fadmin&password=wint00l%24s'
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/login", {
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
"Cache-Control": "no-cache"
},
body: new URLSearchParams({
username: "sev/admin",
password: "wint00l$s"
})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/login"))
.header("Content-Type", "application/x-www-form-urlencoded")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString("username=sev%2Fadmin&password=wint00l%24s"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/login");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("username=sev%2Fadmin&password=wint00l%24s", Encoding.UTF8, "application/x-www-form-urlencoded");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/login")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("username=sev/admin&password=wint00l$s".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/login")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/x-www-form-urlencoded"
request["Cache-Control"] = "no-cache"
request.body = "username=sev%2Fadmin&password=wint00l%24s"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/login',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Content-Type: application/x-www-form-urlencoded',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
Success
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwK1hCNnZoQ240YnpCWFhIKzFsbHgyZnhmYmpTNHgxckJFRWVuTW9DcHlUKzdwbXloYWNxSzNFaHJhOFI1WTd5RFpENmFBakgrYk95a2ViTk56bzdXK2FlL2NZSXlWbGoxRU50L2pyMW5mM1Z0OEFyaTBaSEdpYmpyYXgvai9UbnZJQWFXclNJMXFvQVdVc1ZJbmY0YnArVHNvOVJTSjc1K1pRMVY1WHBxSWJWNXpIUGQ5ZzBNQndTU2I2QURsN2giLCJleHAiOjE1MDgzOTIyNzI3MTQsImlhdCI6MTUwODM2MzQ3Mn0.gjfcR6VDVQkxFJsB6dCBxY4rDETpaWlKrpPjhM4Dyr8",
"version": "1.11.0",
"build": "3319"
}
Fail
{
"message": "Your login credentials were not correct. Please try again.",
"status": 401,
"code": 1003
}
HTTP Request
POST /api/v1/login
The ReactorCX API provides authentication through issuing security tokens which are compliant with the JWT standard.
These tokens are issued upon a login request supplied with valid credentials.
Here is the typical sequence of requests:
- Send HTTPS Request
POST /api/v1/login/ HTTP/1.1
Content-Type: application/x-www-form-urlencoded
username=admin&password=1234562
or
Content-Type: application/json
{"username": "john_doe", "password": "MyS3cret$"}
Upon successful validation, RCX API returns a JSON object with a
tokenproperty.The token can be used in subsequent HTTPS requests to the API, by supplying it in the Authorization header, e.g.:
Authorization: Bearer <valid token returned from RCX API>
Logout
Logout Example
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/myaccount/logout", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkdFF6VHNER1cwaDR1TzE2SFlvL2JqcGo0b0dGUUs3SHRNWEFsQ2R0NVoyUWhJTFMyUzJnZ2dQKzBGTC9KeFR0M0lwQmozandSTm5wNFZQUW96R0hUSDJIZmhPK1IzdXEyU0NXdjk0SXljTTdVSytvRXZxN3pOVmwzYkh3QWhRMG9lZzBTem1TK0pKTFhETEl0aDZTbHR1V01QK0tBVGhkamNJR3FCa2FlQTh0Zlh1cncwcC9nZjhIanpxZ1pnZzciLCJleHAiOjE1MDgzOTU4Mjc1ODEsImlhdCI6MTUwODM2NzAyN30.BerLT7AtSlDYwt-Cv2JOVHBlSft0LlyzxVheROwhjj4",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/myaccount/logout"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkdFF6VHNER1cwaDR1TzE2SFlvL2JqcGo0b0dGUUs3SHRNWEFsQ2R0NVoyUWhJTFMyUzJnZ2dQKzBGTC9KeFR0M0lwQmozandSTm5wNFZQUW96R0hUSDJIZmhPK1IzdXEyU0NXdjk0SXljTTdVSytvRXZxN3pOVmwzYkh3QWhRMG9lZzBTem1TK0pKTFhETEl0aDZTbHR1V01QK0tBVGhkamNJR3FCa2FlQTh0Zlh1cncwcC9nZjhIanpxZ1pnZzciLCJleHAiOjE1MDgzOTU4Mjc1ODEsImlhdCI6MTUwODM2NzAyN30.BerLT7AtSlDYwt-Cv2JOVHBlSft0LlyzxVheROwhjj4")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/myaccount/logout");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkdFF6VHNER1cwaDR1TzE2SFlvL2JqcGo0b0dGUUs3SHRNWEFsQ2R0NVoyUWhJTFMyUzJnZ2dQKzBGTC9KeFR0M0lwQmozandSTm5wNFZQUW96R0hUSDJIZmhPK1IzdXEyU0NXdjk0SXljTTdVSytvRXZxN3pOVmwzYkh3QWhRMG9lZzBTem1TK0pKTFhETEl0aDZTbHR1V01QK0tBVGhkamNJR3FCa2FlQTh0Zlh1cncwcC9nZjhIanpxZ1pnZzciLCJleHAiOjE1MDgzOTU4Mjc1ODEsImlhdCI6MTUwODM2NzAyN30.BerLT7AtSlDYwt-Cv2JOVHBlSft0LlyzxVheROwhjj4");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/myaccount/logout")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkdFF6VHNER1cwaDR1TzE2SFlvL2JqcGo0b0dGUUs3SHRNWEFsQ2R0NVoyUWhJTFMyUzJnZ2dQKzBGTC9KeFR0M0lwQmozandSTm5wNFZQUW96R0hUSDJIZmhPK1IzdXEyU0NXdjk0SXljTTdVSytvRXZxN3pOVmwzYkh3QWhRMG9lZzBTem1TK0pKTFhETEl0aDZTbHR1V01QK0tBVGhkamNJR3FCa2FlQTh0Zlh1cncwcC9nZjhIanpxZ1pnZzciLCJleHAiOjE1MDgzOTU4Mjc1ODEsImlhdCI6MTUwODM2NzAyN30.BerLT7AtSlDYwt-Cv2JOVHBlSft0LlyzxVheROwhjj4"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/myaccount/logout',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkdFF6VHNER1cwaDR1TzE2SFlvL2JqcGo0b0dGUUs3SHRNWEFsQ2R0NVoyUWhJTFMyUzJnZ2dQKzBGTC9KeFR0M0lwQmozandSTm5wNFZQUW96R0hUSDJIZmhPK1IzdXEyU0NXdjk0SXljTTdVSytvRXZxN3pOVmwzYkh3QWhRMG9lZzBTem1TK0pKTFhETEl0aDZTbHR1V01QK0tBVGhkamNJR3FCa2FlQTh0Zlh1cncwcC9nZjhIanpxZ1pnZzciLCJleHAiOjE1MDgzOTU4Mjc1ODEsImlhdCI6MTUwODM2NzAyN30.BerLT7AtSlDYwt-Cv2JOVHBlSft0LlyzxVheROwhjj4',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/myaccount/logout HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkdFF6VHNER1cwaDR1TzE2SFlvL2JqcGo0b0dGUUs3SHRNWEFsQ2R0NVoyUWhJTFMyUzJnZ2dQKzBGTC9KeFR0M0lwQmozandSTm5wNFZQUW96R0hUSDJIZmhPK1IzdXEyU0NXdjk0SXljTTdVSytvRXZxN3pOVmwzYkh3QWhRMG9lZzBTem1TK0pKTFhETEl0aDZTbHR1V01QK0tBVGhkamNJR3FCa2FlQTh0Zlh1cncwcC9nZjhIanpxZ1pnZzciLCJleHAiOjE1MDgzOTU4Mjc1ODEsImlhdCI6MTUwODM2NzAyN30.BerLT7AtSlDYwt-Cv2JOVHBlSft0LlyzxVheROwhjj4
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/myaccount/logout \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkdFF6VHNER1cwaDR1TzE2SFlvL2JqcGo0b0dGUUs3SHRNWEFsQ2R0NVoyUWhJTFMyUzJnZ2dQKzBGTC9KeFR0M0lwQmozandSTm5wNFZQUW96R0hUSDJIZmhPK1IzdXEyU0NXdjk0SXljTTdVSytvRXZxN3pOVmwzYkh3QWhRMG9lZzBTem1TK0pKTFhETEl0aDZTbHR1V01QK0tBVGhkamNJR3FCa2FlQTh0Zlh1cncwcC9nZjhIanpxZ1pnZzciLCJleHAiOjE1MDgzOTU4Mjc1ODEsImlhdCI6MTUwODM2NzAyN30.BerLT7AtSlDYwt-Cv2JOVHBlSft0LlyzxVheROwhjj4' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/myaccount/logout")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkdFF6VHNER1cwaDR1TzE2SFlvL2JqcGo0b0dGUUs3SHRNWEFsQ2R0NVoyUWhJTFMyUzJnZ2dQKzBGTC9KeFR0M0lwQmozandSTm5wNFZQUW96R0hUSDJIZmhPK1IzdXEyU0NXdjk0SXljTTdVSytvRXZxN3pOVmwzYkh3QWhRMG9lZzBTem1TK0pKTFhETEl0aDZTbHR1V01QK0tBVGhkamNJR3FCa2FlQTh0Zlh1cncwcC9nZjhIanpxZ1pnZzciLCJleHAiOjE1MDgzOTU4Mjc1ODEsImlhdCI6MTUwODM2NzAyN30.BerLT7AtSlDYwt-Cv2JOVHBlSft0LlyzxVheROwhjj4", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
Success
{
"message": "User Logged out successuflly."
}
HTTP Request
GET /api/v1/myaccount/logout
Logs out the currently logged in user for the token supplied.
Common Fields
Time Stamp
{
"createdAt": "2016-08-10T12:56:29.153Z",
"updatedAt": "2016-08-10T12:56:29.153Z"
}
Each object carries standard fields that are automatically saved with each access.
| Field | Type | Description |
|---|---|---|
| createdAt | Date | Creation timestamp |
| updatedAt | Date | Last update timestamp |
User Access
Sample User Access
{
"createdBy": "5512a108b7565a201ff99feb",
"updatedBy": "5512a108b7565a201ff99feb"
}
Every object has information about the user, who created or changed the data.
| Field | Type | Description |
|---|---|---|
| createdBy | ObjectId | ObjectId of the user who created the record. |
| updatedBy | ObjectId | ObjectId of the user who last updated the record. |
Record Ownership
Sample Org Ownership
{
"org": "5512a108b7565a201ff99feb"
}
Every object carries the organization to which it belongs.
| Field | Type | Description |
|---|---|---|
| org | ObjectId | ObjectId of the organization which owns the record. |
Accepted Date Formats
- Below are the different types of date formats accepted by ReactorCX in date fields.
| Date format | Description |
|---|---|
| YYYY-MM-DDTHH:mm:ss.SSS+HH:MM | Local date with positive UTC offset. Example: IST locale date 2018-07-08T09:30:45.654+05:30 |
| YYYY-MM-DDTHH:mm:ss.SSS-HH:MM | Local date with negative UTC offset. Example: EST locale date 2018-07-08T09:30:45.654-05:00 |
| YYYY-MM-DDTHH:mm:ss.SSS+HHMM | Local date with positive UTC offset. Example: IST locale date 2018-07-08T09:30:45.654+0530 |
| YYYY-MM-DDTHH:mm:ss.SSS-HHMM | Local date with negative UTC offset. Example: EST locale date 2018-07-08T09:30:45.654-0500 |
| YYYY-MM-DDTHH:mm:ss.SSS | Local date with out UTC offset. Example: EST locale date 2018-07-08T09:30:45.654 |
| YYYY-MM-DD HH:mm:ss.SSS | Local date with out UTC offset. Example: EST locale date 2018-07-08 09:30:45.654 |
| YYYY-MM-DDTHH:mm:ss.SSSZ | UTC date Example: 2018-07-08T09:30:45.654Z |
Cache
Cache is a reserved data storage location that stores data temporarily, so that future requests for that data can be served faster.
Clear Cache
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/refreshcache?entity=Enum", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/refreshcache?entity=Enum"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/refreshcache?entity=Enum");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/refreshcache?entity=Enum")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/refreshcache?entity=Enum',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/refreshcache?entity=Enum HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/refreshcache?entity=Enum \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/refreshcache?entity=Enum")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
This method clears the cache successfully.
HTTP Request
POST /api/v1/refreshcache
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| entity | String | Entity represents the particular model.(Ex:Enum,ExtSchema) |
Output Arguments
On success, an empty JSON object {} is returned. Valid entity values are all, Enum, ExtSchema, and Division; any other value returns error code 4014.
Filters and Inclusion Params
Inclusion Params
Inclusion params is an object used to search any entity based on specified field parameters
InclusionParams Structure
Sample InclusionParams Object
{
internalCode:{
isIncluded:true,
type:string,
searchStr: "241141,241172",
ids:null
}
}
| Field | Type/Format | Description |
|---|---|---|
| IsIncluded | Boolean | Boolean value which says whether the value provided in search to be included or excluded |
| type | String | Data type of the field being searched |
| SearchStr | String | value which is searched |
| ids | Array | Object ids of the sub document references (ex: for searching mandatory rewarding segments) |
| isSubDoc | Boolean | Returned true when ids has some length |
Location and Product Filters
The structure of products and Locations selection criteria within the reward policy or rule.
| Field | Type/Format | Description |
|---|---|---|
| isDisabled | Boolean | Whether this product group has been configured. |
| isIncluded | Boolean | Whether the selection criteria is for eligible or ineligible products. |
| count | Number | Number of products satisfying the selection criteria. |
| inclusionParams | String | Selection criteria. |
| isORQuery | Boolean | Flag that determines if the specified query search would perform logical 'and' or logical 'or' operation |
| isWildCardSearch | Boolean | Performs wildcard search |
| query | String | mongodb query generated using |
| inclusionparamsnamedList | ObjectId | unique The id of the NamedList |
Extension Fields
For all the data entities in this API, it's possible to define extension fields to add more information depending on the needs of the program.
These fields are generally stored under a sub-document called ext within the main entity. See example on the right-hand side of a Location having an extended field.
This shows how a Location object can have an extended field
managerNamewhich lives in theextsub-document:
{
"number": "123",
"name": "Store 123",
"desc": "A sample store",
// ...
// other standard Location fields
// ...
"ext": {
"managerName": "John Doe"
}
}
The extensions themselves are added via the Extension Schemas and Extension Defs routes.
Advanced Queries
QueryString arguments
Advanced query:
var token = 'eyJ0eXAiOiJKV1QiL';
var request = require('superagent');
request
.GET('https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members?limit=20&query={"firstName":"Sid"}&skip=0')
.set('Content-Type', 'application/json')
.set('Authorization', 'Bearer ' + token)
.end(function(res) {
if (res.statusCode === 200){
var result = JSON.parse(res.text);
}
});
The above command returns an array of Member objects.
| Argument | Example | Description |
|---|---|---|
/count |
Returns list count | |
/?query={query} |
/?query={"name":"~test"} |
Search by complex query |
/?{field}={value} |
/?name=~test |
Search by field value |
/?select={fields} |
/?select=name, desc |
Returns only desired field/s |
/?distinct={fields} |
/?distinct=program |
Distinct values by field/s |
/?populate={field} |
/?populate=program |
Populate referenced program |
/?skip={value} |
/?skip=10 |
How many records to skip |
/?sort={value} |
/?sort=name |
Sorting by field |
/?sort={query} |
/?sort={"name":1} |
Sorting by complex query |
/?limit={value} |
/?limit=10 |
How many records to list |
Queries
Supports all operators ($regex, $gt, $gte, $lt, $lte, $ne) as well as shorthands: ~, >, >=, <, <=, !=
| Example | Description |
|---|---|
| ?query={"name":"Bob"} | "name" equals "Bob" |
| ?query={"name":{"$regex":"^(Bob)"}} | "name" starts with "Bob" |
| ?query={"name":"~^(Bob)"} | "name" starts with "Bob" |
| ?query={"balance":{"$gt":12}} | "balance" is greater than 12 |
| ?query={"balance":">12"} | "balance" is greater than 12 |
| ?query={"balance":{"$gte":12}} | "balance" is greater than or equals 12 |
| ?query={"balance":">=12"} | "balance" is greater than or equals 12 |
| ?query={"balance":{"$lt":12}} | "balance" is less than 12 |
| ?query={"balance":"<12"} | "balance" is less than 12 |
| ?query={"balance":{"$lte":12}} | "balance" is less than or equals 12 |
| ?query={"balance":"<=12"} | "balance" is less than or equals 12 |
| ?query={"balance":{"$ne":12}} | "balance" doesn't equal 12 |
| ?query={"balance":"!=12"} | "balance" doesn't equal 12 |
Select
| Example | Description |
|---|---|
| ?select=name | Returns "name" |
| ?select=-name | Doesn't return "name" |
| ?select={"name":1} | Returns "name" |
| ?select={"name":0} | Doesn't return "name" |
Distinct
| Example | Description |
|---|---|
| ?distinct=name | Select distinct values for "name" field |
Pre-processing
Request body can be preprocessed to evaluate if any dynamic lookups or autoincrement defintions are present
Request-body pre-processing is applied for the following request methods
[POST, PATCH, PUT]
In addition, lookups referenced in the query parameter are resolved on GET requests.
Also, to run pre-processing a query param is required
?preprocess=true
Lookups
Dynamic lookups are used to get the required data from DB and then use the returned result as value of the corresponding field.
The below definition returns the value of field "_id" from model "Org" using the provided keys. The returned value is used as the value of "org".
"org": {
"lookup": {
"model": "Org",
"keys": {"name": "sev"},
"select": ["_id"]
}
}
// After processing, the above object will be modified to
"org": "5c04aed2cc79aa00633a2f7b"
Similarly, if there are multiple "select" fields, it returns an object.
"org": {
"lookup": {
"model": "Org",
"keys": {"name": "sev"},
"select": ["_id", "name"]
}
}
// This will be converted to a object
"org": {
"_id": "5c04aed2cc79aa00633a2f7b",
"name": "sev"
}
If lookup doesn't return any data, default value is used.
"org": {
"lookup": {
"model": "Org",
"keys": {"name": "invalid org"},
"select": ["_id", "name"],
"default": "5c04aed2cc79aa00633a2f7b"
}
}
// value of org is default value
"org": "5c04aed2cc79aa00633a2f7b"
- Valid definition of lookup -
| Key | Description | Mandatory |
|---|---|---|
lookup |
Lookup definition root | Yes |
lookup.model |
Model name to query | Yes |
lookup.keys |
Same as mongodb "AND" query | Yes |
lookup.select |
Fields to select, if more than one field is given, then the returned value is an object. | No |
lookup.default |
If lookup doesn't return any data, this default value is used. | No |
- If lookup doesn't return any data and there is no default value provided, then the API throws
Lookup not founderror. In case of any other error, it throwsLookup Failederror
AutoIncrement
AutoIncrement gets the next sequence value
Below definition modifies the given object to the next sequence value of
member-customer-key.
"CUSTOMER_KEY": {
"autoIncrement": {
"seqName": "member-customer-key",
"type": "string"
}
}
// This will modify above object to its next sequence value.
// Assuming its the begining of sequence, it will return 2
"CUSTOMER_KEY": 2
- Valid definition of AutoIncrement -
| Key | description | Mandatory |
|---|---|---|
autoIncrement |
AutoIncrement definition root | Yes |
autoIncrement.seqName |
Sequence name to get next value (Has to be a valid value from enum) | Yes |
autoIncrement.type |
Data type of the field to which the sequence value is being set. Required only when the data type is string | No |
In case of invalid
seqName, it throwsInvalid sequence nameerrorIn case of any other error, it throws
Auto increment failederror
Error Handling
The RCX API is REST-based and returns the standard HTTP codes as they apply to the processing.
Success Status Codes
HTTP Status codes, sent by RCX API on success, along with any relevant JSON output (for example, newly created object, and so on):
| Code | Description |
|---|---|
| 200 | Success -- The request succeeded. |
| 201 | Created -- A new resource was successfully created (for example, using POST) |
| 202 | Accepted -- A new request is accepted for processing on the server (but isn't complete). |
| 204 | No Content -- The request succeeded and no response was necessary. (for example, using DELETE) |
Error Structure and Status Codes
Sample Error Object
{
"code": 4002,
"message": "Resource not found.",
"status": 404
}
When an error object is returned, it's represented by a JSON object as follows:
| Field | Description |
|---|---|
| code | An RCX application error code (for example, 4002) indicating the type of error (for example, Resource not found). |
| message | A description of the error and why it occurred. |
| status | A copy of the HTTP status code |
HTTP Status codes, used from RCX API on error:
| Code | Description |
|---|---|
| 400 | Bad Request -- The request couldn't be understood by the server due to malformed syntax, missing or invalid parameters. |
| 401 | Unauthorized -- The request requires user authentication. Please ensure you have included Authorization heather with a JWT Bearer token returned from authentication. |
| 403 | Forbidden --You don't have access to the requested data. This is due to permissions not being available to the user identified in Authorization token. Please check with your RCX admin to ensure you have enough permissions to perform the action you are attempting. |
| 404 | Not Found -- The resource URI you are trying to access isn't found. Please ensure you have specified the correct _id for the object you are trying to access, and ensure your URL is correct. |
| 405 | Method Not Allowed -- You tried to send a HTTP request with an invalid method for the resource you are trying to access. |
| 406 | Not Acceptable -- You requested a content type that isn’t application/json. The RCX API only produces applicaiton/json responses. |
| 410 | Gone -- The requested data has been removed from our servers. |
| 422 | Unprocessable Entity - the JSON sent over in a request isn't valid and can't be processed. |
| 500 | Internal Server Error -- The server was unable to process the request due to an unexpected internal condition. |
| 503 | Service Unavailable -- The server is unavailable. Try the request again later. |
Common Error Types
Certain kinds of errors, such as validation errors and database errors, can be returned by many APIs. We describe these common errors here and refer to them from each API that can return these errors. The Error Reference at the end of this document lists the categories of errors and their messages.
Validation Errors
Sample Validation Error
{
"message": "Validation Error",
"status": 422,
"errors": [
{
"message": "Path `type` is required.",
"path": "type",
"kind": "required",
}
]
},
"code": 1200
}
Submitting JSON objects to the API within a request body results in validation of the inputs, and can produce errors when the inputs are invalid or missing.
A validation error has the following fields:
| Field | Description |
|---|---|
| code | 1200 |
| message | Validation Error |
| status | 422 |
| errors | An array consisting of all fields that were in error |
| errors.[].message | The error for the specific field that wasn't valid. |
| errors.[].kind | The kind of error that occurred on a specific field (for example, required) |
| errors.[].path | The path of the field inside the JSON document |
System Errors
System errors are related to unrecoverable conditions that are beyond applicaiton problems. These errors have the following fields:
| Field | Description |
|---|---|
| code | 1300 |
| status | 500 |
| message | Database Error # |
| error | An underlying infrastructure-specific error object giving more details about the nature of the problem. |
Accrual Items
This API is compliant with the query interface described in Advanced Queries.
Accrual items are the smallest blocks of points that are awarded for a given activity. Each action awarding points to a purse will result in a separate accrual item. The accrual items also tracks expiration, escrow and how points are used during point redemptions.
Note: While technically possible, you should never change/create/delete accrual items directly, as this will affect system integrity. Special permissions are required for any operations other than reading.
Accrual Item Structure
{
"rule": "59deecd6584b770052ac2b9a",
"member": "59df84e2bc4f61095c84add2",
"activity": "59df8524900914005c86c458",
"purse": "59df84e2bc4f61095c84add4",
"purseName": "Free Drink Points",
"program": "59de86b7584b770052aaacaf",
"accruedPoints": 2,
"burnedPoints": 0,
"availablePoints": 2,
"dtEarned": "2017-06-18T18:56:41.615Z",
"dtExpiresOn": "2017-06-18T18:56:41.615Z",
"dtEscrowsOn": "2017-06-18T18:56:41.615Z",
"hasExpired": false,
"hasEscrowed": true,
"hasBurned": false,
"orgAccrualId": "59df8524900914005c86c45f",
"_id": "59df8524900914005c86c45f",
"divisions": ["59de86b7584b770052aaacb1", "59de86b7584b770052aaacb2"],
"createdAt": "2017-10-12T15:07:16.343Z",
"updatedAt": "2017-10-12T15:07:16.343Z",
"createdBy": "59de84708d69b9006b8295df",
"updatedBy": "59de84708d69b9006b8295df"
}
| Field | Type/Format | Description |
|---|---|---|
| _id | ObjectId | DB record’s ID. |
| accruedPoints | Integer | accured points |
| activity | ObjectId | parent activity |
| availablePoints | Integer | avalible points for redemption |
| burnedPoints | Integer | burned points |
| dtEarned | String | Date when earned |
| dtEscrowsOn | String | Date when escrows |
| dtExpiresOn | String | Date when expires |
| hasBurned | Boolean | is the accrual burned |
| hasEscrowed | Boolean | is the accrual escrowed in |
| hasExpired | Boolean | is the accrual expired |
| orgAccrualId | ObjectId | _id of the original accrual item during cancellation |
| purse | ObjectId | _id of the Purse which has the accrual item. |
| purseName | String | Name of the Purse which holds the accrual item. |
| program | ObjectId | _id of the Program that this accrual item was generated from. |
| member | ObjectId | required _id of the Member for which the accrual was generated. |
| rule | ObjectId | the _id of the Rule which awarded the accrual item. |
| divisions | Array | Array of ObjectId references to divisions. This field provides restriction to user groups. |
The object contains common fields
Read all Accrual Items
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accrualitems", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accrualitems"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accrualitems");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accrualitems")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accrualitems',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/accrualitems HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accrualitems \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accrualitems")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Accrual Item objects.
This methods returns all accrualitems in the system.
HTTP Request
GET /api/v1/accrualitems
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| accrualitems | Array | set of Accrual Item objects |
| status | Number | Status Codes. |
Read Accrual Item by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accrualitems/59de97de584b770052aab641", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accrualitems/59de97de584b770052aab641"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accrualitems/59de97de584b770052aab641");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accrualitems/59de97de584b770052aab641")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accrualitems/59de97de584b770052aab641',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/accrualitems/59de97de584b770052aab641 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accrualitems/59de97de584b770052aab641 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accrualitems/59de97de584b770052aab641")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Accrual Item object.
This method returns the specified accrual item.
HTTP Request
GET /api/v1/accrualitems/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from Accrual Item structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| accrual item | Object | Accrual Item object |
| status | Number | Status Codes. |
Activity
An Activity is an object which represents a customer action on any channel. This includes but isn't limited to:
- Purchases (accruals)
- Cancellations
- Redemptions
- Non-purchase Actions (for example, Facebook likes, store check-ins, or profile completions)
- Offer Arbitration Requests
- Offer and Reward Use
An Activity is the vehicle for driving all RCX engagement. In order to feed RCX with any new information about engagement interactions with customers, you need to post Activities that reflect these interactions and trigger specific rules and mechanisms within the system in response.
Activity Structure
Sample Activity Object
{
"type": "Accrual",
"date": "06/20/2015 18:56:09",
"srcChannelType": "web",
"srcChannelID": "String",
"value": 10,
"currencyCode": "USD",
"loyaltyID": "8504858682",
"lineItems": [
{
"lineNo": 1,
"itemPrice": "10",
"itemSKU": "9856325896523",
"quantity": 1,
"itemAmount": 3,
"itemUOM": "each"
}
],
"tenderItems": [
{
"itemNo": "3695258962",
"lineNo": 1,
"type": "VISA",
"value": "10"
}
]
}
| Field | Type | Description |
|---|---|---|
| _id | ObjectId | The unique id of the Activity. |
| type | String | Indicates what's being done on the customer-facing channel - for example, Accrual, Redemption, or Cancellation. The valid values can be extended through Enums with type=ActivityType. |
| date | String | The date when the activity occurred in GMT timezone. This isn't necessarily the same as the current date/time, as we can retroactively post activities as well. Date Formats |
| status | String | Activity Status. Could be one of Processed, Error, or Cancelled. |
| srcChannelType | String | Source channel type. Indicates on which channel activity originated - for example, POS, Web, or Mobile. The valid values can be extended through Enums with type=ChannelType. |
| srcChannelID | String | Location name. This is the Location name that could be a store number, for example. |
| value | Integer | The total transaction value of the activity. This could be dollars or points, depending on how the program is setup. The default is a sum of the itemPrice*itemQuantity for all Line Items present in the activity. |
| currencyCode | String | Currency Code. ex: 'USD', 'JPY' |
| loyaltyID | String | A valid loyalty id which can be looked up to find out which Member is submitting the Activity. |
| referralCode | String | Referral Code. This must correspond to the code field in the Refferal for a Member |
| lineItems | Array | A set of Line Items indicating what was purchased. |
| tenderItems | Array | A set of Tender Items indicating how the customer paid. |
| couponCode | String | Coupon code. A coupon code to be applied to the activity. (Deprecated) |
| partnerCode | String | Partner code. If this Activity is being posted through a coalition partner, this must correspond to the code field of Partner. |
| referredMember | Boolean | Referred Member. Whether this activity is posted for a referred member(for example, referral bonus). |
| memberID | ObjectId | The _id field from Member. Activities can be submitted directly without a Loyalty ID if we know this value. |
| originalMemberID | ObjectId | Member id by whom activity was originally initiated. This is needed for pooling; it's possible that a Loyalty ID is designated to accrue points to a pooled member (for example, a charity), in which case originalMemberID contains the original member who performed the activity, even though the memberID reflects the pooled member. |
| originalTxnId | ObjectId | original Transaction Id. In case of a Cancellation, this is the _id field of the Activity which was cancelled by the current Activity. |
| externalTxnId | String | external Transaction Id. This is used to allow submitting transactions with external ids, possibly asynchronously, and then using that external ID to query processing status. |
| result | Object | Result object with data, errors and log sub-objects. An Activity is processed and any results from this processing are returned to the REST caller and also stored in the result section. This includes an execution log, any errors, and any data returned by actions in the Activity. |
| result.log | Array | The log is an array of objects, containing internal logs that are useful for debugging. |
| result.errors | Array | The errors that were found during processing of the activity are logged in this array. See Error Handling to see the structure of errors. |
| result.data | Object | These are the results of processing the activity. The mandatory fields are activityId and status which mirror the _id and status. This data section also contains any dynamic properties added via rule engine rules that were configured for a program. |
| program | ObjectId | Program ObjectId |
| location | Mixed | Record from the location collection |
| locationId | ObjectId | Location ObjectId |
| coupon | Object | Record selected by using coupon code given in activity from the Offers or Rewards collection . |
| currentRule | Object | Record from rules collection |
| utcOffset | Number | Difference in minutes from Universal Time (UTC) for a particular place |
| oplogTS | Number | opLog time stamp on the mongoDB |
| bestOffers | Mixed | An array of reward policies applied while processing the activity. Populates limited data related to the applied reward policies from offers and rewards collection. Refer to Offer Structure/Reward Structure for more details. |
| partner | Mixed | Populates partner information. Refer to Partner Structure for more details |
| ruleMatch | Array | An array of rules applied while processing the activity. Refer to Rule Match Structure |
| reasonCode | String | Reason code of the activity. |
| subReasonCode | String | Sub-reason code of the activity. |
| divisions | Array | Array of ObjectId references to divisions. This field provides restriction to user groups. |
Line Item Structure
LineItems represent products and quantities purchased within a specific activity. Normally only an itemSKU is represented in line items, however, within Activity processing rules, we can execute a Lookup Product action to load the associated Product details from the product catalog for this line item.
Sample Line Item
{
"lineNo": 1,
"quantity": 10,
"itemSKU": "3421313123213",
"itemPrice": 12,
"itemAmount": 3,
"itemUOM": "each"
}
| Field | Type/Format | Description |
|---|---|---|
| _id | String | id of the item |
| itemPrice | Integer | The price of a single item |
| itemSKU | String | Stock keeping unit number. This matches the sku field of the Product. |
| quantity | Integer | The quantity of the item |
| type | String | Line Item Type |
| lineNo | Number | Line Order Number |
| product | Object | Associated Product. This field is populated if we've performed a Lookup Products action within the rules of the program. |
| couponCode | String | Optional coupon to be applied directly to the item. |
| offerId | ObjectId | Reward/Offer id. |
| itemAmount | Number | The total value of an item. The default is itemPrice*itemQuantity. |
| itemUOM | String | Item units of measurement. This is validated against Enums (Type = SalesUOM |
| discountAmount | Number | Pre-applied line item discount. |
| coupon | Object | Populates applied reward policy from offers or rewards collection with limited data. Refer to Offer Structure/Reward Structure for more details. |
| productId | ObjectId | Unique code of the product. |
The object contains common fields
Tender Item Structure
TenderItem represents a payment made with a specific tender. It's possible that multiple tender items are associated with the same parent Activity to reflect a split payment for the ticket.
Sample Tender Item
{
"lineNo": 1,
"type": "VISA",
"subType": "Gift Card",
"itemNo": "123",
"value": 123,
"createdAt": "2015-06-08T17:39:53.749Z",
"updatedAt": "2015-06-08T17:39:53.749Z",
}
| Field | Type/Format | Description |
|---|---|---|
| type | String | Type of tender item. |
| subType | String | Sub type of tender item. |
| value | Integer | Amount of currency for paying |
| _id | String | Id of the item |
| itemNo | String | Item number - this can be used to store a credit card hash, or an SVC number. |
| lineNo | Number | Line number |
The object contains common fields
Post Activity
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activity", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"date": "2017-10-27T22:38:00.000Z",
"externalTxnId": "123",
"loyaltyID": "12345678",
"srcChannelID": "Corporate",
"srcChannelType": "Web",
"type": "Accrual",
"value": "2",
"currencyCode": "USD",
"lineItems": [
{
"itemPrice": 2,
"itemSKU": "Sku-13",
"quantity": 1,
"itemAmount": 3,
"itemUOM": "each"
}
],
"tenderItems": [
{
"lineNo": 1,
"type": "VISA",
"subType": "Gift Card",
"value": "2"
}
]
})
});
const data = await response.json();
console.log(data);
String body = """
{
"date": "2017-10-27T22:38:00.000Z",
"externalTxnId": "123",
"loyaltyID": "12345678",
"srcChannelID": "Corporate",
"srcChannelType": "Web",
"type": "Accrual",
"value": "2",
"currencyCode": "USD",
"lineItems": [
{
"itemPrice": 2,
"itemSKU": "Sku-13",
"quantity": 1,
"itemAmount": 2,
"itemUOM": "each"
}
],
"tenderItems": [
{
"lineNo": 1,
"type": "VISA",
"subType": "Gift Card",
"value": "2"
}
]
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activity"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activity");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"date": "2017-10-27T22:38:00.000Z",
"externalTxnId": "123",
"loyaltyID": "12345678",
"srcChannelID": "Corporate",
"srcChannelType": "Web",
"type": "Accrual",
"value": "2",
"currencyCode": "USD",
"lineItems": [
{
"itemPrice": 2,
"itemSKU": "Sku-13",
"quantity": 1,
"itemAmount": 2,
"itemUOM": "each"
}
],
"tenderItems": [
{
"lineNo": 1,
"type": "VISA",
"subType": "Gift Card",
"value": "2"
}
]
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activity")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"date": "2017-10-27T22:38:00.000Z",
"externalTxnId": "123",
"loyaltyID": "12345678",
"srcChannelID": "Corporate",
"srcChannelType": "Web",
"type": "Accrual",
"value": "2",
"currencyCode": "USD",
"lineItems": [
{
"itemPrice": 2,
"itemSKU": "Sku-13",
"quantity": 1,
"itemAmount": 2,
"itemUOM": "each"
}
],
"tenderItems": [
{
"lineNo": 1,
"type": "VISA",
"subType": "Gift Card",
"value": "2"
}
]
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activity',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"date": "2017-10-27T22:38:00.000Z",
"externalTxnId": "123",
"loyaltyID": "12345678",
"srcChannelID": "Corporate",
"srcChannelType": "Web",
"type": "Accrual",
"value": "2",
"currencyCode": "USD",
"lineItems": [
{
"itemPrice": 2,
"itemSKU": "Sku-13",
"quantity": 1,
"itemAmount": 2,
"itemUOM": "each"
}
],
"tenderItems": [
{
"lineNo": 1,
"type": "VISA",
"subType": "Gift Card",
"value": "2"
}
]
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/activity HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ
Content-Type: application/json
Cache-Control: no-cache
{
"date": "2017-10-27T22:38:00.000Z",
"externalTxnId": "123",
"loyaltyID": "12345678",
"srcChannelID": "Corporate",
"srcChannelType": "Web",
"type": "Accrual",
"value": "2",
"currencyCode": "USD",
"lineItems": [
{
"itemPrice": 2,
"itemSKU": "Sku-13",
"quantity": 1,
"itemAmount": 2,
"itemUOM": "each"
}
],
"tenderItems": [
{
"lineNo": 1,
"type": "VISA",
"subType": "Gift Card",
"value": "2"
}
]
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activity \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"date": "2017-10-27T22:38:00.000Z",
"externalTxnId": "123",
"loyaltyID": "12345678",
"srcChannelID": "Corporate",
"srcChannelType": "Web",
"type": "Accrual",
"value": "2",
"currencyCode": "USD",
"lineItems": [
{
"itemPrice": 2,
"itemSKU": "Sku-13",
"quantity": 1,
"itemAmount": 2,
"itemUOM": "each"
}
],
"tenderItems": [
{
"lineNo": 1,
"type": "VISA",
"subType": "Gift Card",
"value": "2"
}
]
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activity")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("{
"date": "2017-10-27T22:38:00.000Z",
"externalTxnId": "123",
"loyaltyID": "12345678",
"srcChannelID": "Corporate",
"srcChannelType": "Web",
"type": "Accrual",
"value": "2",
"currencyCode": "USD",
"lineItems": [
[
"itemPrice": 2,
"itemSKU": "Sku-13",
"quantity": 1,
"itemAmount": 2,
"itemUOM": "each"
]
],
"tenderItems": [
[
"lineNo": 1,
"type": "VISA",
"subType": "Gift Card"
"value": "2"
]
]
}".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns JSON structured like this:
{
"result": {
"log": [
{
"action": "addPoints",
"results": {
"_id": "56c1db8a499223daf6733c51",
"accruals": [
{
"_id": "56cdb039521b11e11eea8d9b",
"accruedPoints": 100,
"activity": "56cdb039521b11e11eea8d9a",
"availablePoints": 100,
"burnedPoints": 0,
"dtEarned": "2016-02-24T13:29:29.893Z",
"dtEscrowsOn": "2016-02-24T13:29:29.893Z",
"dtExpiresOn": "2016-09-11T13:29:29.893Z",
"hasBurned": false,
"hasEscrowed": true,
"hasExpired": false,
"purse": "56c1db8a499223daf6733c51",
"rule": "555888246efe787017692369"
}
],
"availBalance": 41009,
"balance": 41009,
"escrowsIn": 0,
"expiredPoints": 0,
"expiresIn": 200,
"name": "Retail Points Purse",
"overdraftLimit": 0,
"primary": true,
"program": "555884a16efe787017692315",
"updatedAt": "2016-02-24T13:29:15.113Z"
}
"rule": "555888246efe787017692369",
"time": "2016-02-24T13:29:29.898Z",
"type": "addPoints"
}
],
"errors": [],
"data": {}
}
}
This method posts an Activity to the RCX API to be processed. The result is composed of 3 items:
HTTP Request
POST /api/v1/activity/?filter=all
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| activity | Object | Activity object |
| filter | String | Allows control over how much data to return. By default RCX returns three sections - execution log, errors, and data. Use log, errors, data to display only the sections of interest. |
| persist | Boolean | Provided as a query parameter to avoid storing activities in history which we don't wish to track. (default: true) |
Output Arguments
| Name | Type | Description |
|---|---|---|
| member | Object | Member object |
| result | Object | Result with Data, Errors and Log (details about the rule that has been executed and objects that it involves) sub-objects. |
| status | Number | Status Codes. |
Cancel Activity
To cancel an activity, post a cancellation activity using this request.
Example Cancelling Activity
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activity/59de93dd584b770052aab5e7/cancel", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"type": "Redemption",
"value": 29,
"couponCode": "cancelling activity"
})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activity/59de93dd584b770052aab5e7/cancel"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString("{\n \"type\": \"Redemption\",\n \"couponCode\": \"cancelling activity\",\n \"value\": \"29\"\n }\n ]\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activity/59de93dd584b770052aab5e7/cancel");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"type\": \"Redemption\",\n \"couponCode\": \"cancelling activity\",\n \"value\": \"29\"\n }\n ]\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activity/59de93dd584b770052aab5e7/cancel")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"type\": \"Redemption\",\n \"couponCode\": \"cancelling activity\",\n \"value\": \"29\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activity/59de93dd584b770052aab5e7/cancel',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"type": "Redemption",
"value": 29,
"couponCode": "cancelling activity"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/activity/59de93dd584b770052aab5e7/cancel HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ
Content-Type: application/json
Cache-Control: no-cache
{
"type": "Redemption",
"value": 29,
"couponCode": "cancelling activity"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activity/59de93dd584b770052aab5e7/cancel \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
-d '{
"type": "Redemption",
"value": 29,
"couponCode": "cancelling activity"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activity/59de93dd584b770052aab5e7/cancel")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"type": "Redemption",
"value": 29,
"couponCode": "cancelling activity"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Member object which also contains a set of Activity objects.
{
"log": {},
"data": {
"activityId": "... the _id of the cancellation activity created...",
"status": "Processed"
},
"errors": []
}
HTTP Request
POST /api/v1/activity/:id/cancel
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Activity _id field |
| query | Object | Query to select activityHistories to be cancelled. |
| activity | Object | These key value pairs are used while creating cancel activity. |
| memberId | ObjectId | Used to identify unique record from API. |
| validate | Object | validate object is passed as query parameter to validate the activity before cancellation. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| results | Object | An object which contains an execution log, errors and data. The data section includes activityId and status which indicate the newly created cancellation activity and its processing status. |
| status | Number | Status Codes. |
Activity Histories
This API is compliant with the query interface described in Advanced Queries.
ActicityHistory is a record of all Activities posted for a member, whether they triggered rules or not.
Activity History Structure
{
// the json for this is the same as [Activity](#activity-structure)
}
The format for ActivityHistory is based on Activity format.
The object contains common fields
Read all Activity Histories
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activityhistories", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activityhistories"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activityhistories");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activityhistories")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activityhistories',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/activityhistories HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activityhistories \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activityhistories")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Activity History objects.
This methods returns all activityhistories in the system.
HTTP Request
GET /api/v1/activityhistories
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| activityhistories | Array | set of Activity History objects |
| status | Number | Status Codes. |
Read Activity History by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activityhistories/59de97de584b770052aab641", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activityhistories/59de97de584b770052aab641"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activityhistories/59de97de584b770052aab641");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activityhistories/59de97de584b770052aab641")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activityhistories/59de97de584b770052aab641',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/activityhistories/59de97de584b770052aab641 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activityhistories/59de97de584b770052aab641 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/activityhistories/59de97de584b770052aab641")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Activity History object.
This method returns the specified activity history.
HTTP Request
GET /api/v1/activityhistories/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from Activity History structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| activity history | Object | Activity History object |
| status | Number | Status Codes. |
Accounts
Accounts represent the multi-program membership of a member.
Account Structure
Sample Account object
{
"_id" : "6087ba67afc91c0040e18dde",
"members" : [
{
"member" : "60839af3e3b54d0040b0daec",
"program" : "60828b1be76d4100402cd503"
},
{
"member" : "6087ba67afc91c0040e18ddf",
"program" : "602467f37823d3015cd8cfef"
}
],
"org" : "60245bec85c63e012653b3fd",
"activeMember" : "6087ba67afc91c0040e18ddf",
"createdAt" : "2021-04-27T07:16:55.436Z",
"updatedAt" : "2021-04-27T07:16:55.436Z",
"createdBy" : "60245bec85c63e012653b3fc",
"updatedBy" : "60245bec85c63e012653b3fc"
}
| Field | Type/Format | Defaults | Description |
|---|---|---|---|
| _id | ObjectId | readonly Unique value for every record |
|
| members | Array | Set of array objects contains the ids of member and the program associated with it | |
| activeMember | ObjectId | the _id of the active member |
The object contains common fields
Read all Accounts
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/accounts HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Accounts objects.
HTTP Request
GET /api/v1/accounts/
This method retrieves all accounts from the API. The result is always an array.
If there are no accounts, the result is an empty array
A search can be performed by using Advanced Queries, based on account's structure.
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Used to identify the user to the API. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| accounts | Array | a set of accounts. |
| status | Number | Status Codes. |
Read Account by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/59de93dd584b770052aab5e7", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/59de93dd584b770052aab5e7"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/59de93dd584b770052aab5e7");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/59de93dd584b770052aab5e7")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/59de93dd584b770052aab5e7',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/accounts/59de93dd584b770052aab5e7 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/59de93dd584b770052aab5e7 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/59de93dd584b770052aab5e7")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a single Account object.
HTTP Request
GET /api/v1/accounts/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API, referenced to "_id" field from account`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| account | Object | Account object retrieved based on the id passed with account's structure. |
| status | Number | Status Codes. |
Read Account by Member ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/member/59de93dd584b770052aab5e9", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/member/59de93dd584b770052aab5e9"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/member/59de93dd584b770052aab5e9");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/member/59de93dd584b770052aab5e9")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/member/59de93dd584b770052aab5e9',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/accounts/member/59de93dd584b770052aab5e9 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/member/59de93dd584b770052aab5e9 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/member/59de93dd584b770052aab5e9")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a single Account object.
HTTP Request
GET /api/v1/accounts/member/:memberid
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| memberid | ObjectId | Used to identify unique record from API, referenced to "members.member" field from account`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| account | Object | Account object retrieved based on the memberid passed with account's structure. |
| status | Number | Status Codes. |
Read Total Purse Points of Members in an Account
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/totalpoints/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/totalpoints/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/totalpoints/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/totalpoints/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/totalpoints/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/accounts/totalpoints/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/totalpoints/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/totalpoints/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns the total points of all the members of an account for a particular purse policy
HTTP Request
GET /api/v1/accounts/totalpoints/:accountid/:purseid
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| accountid | ObjectId | Used to identify unique record from API, referenced to "_id" field from account`s structure. |
| purseid | ObjectId | Used to identify unique record from API, referenced to "policyId" field from purse policies`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| points | Number | Returns the total points of all the members of an account for a particular purse policy |
| status | Number | Status Codes. |
Read Maximum Tier Level of Members in an Account
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/maxtier/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/maxtier/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/maxtier/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/maxtier/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/maxtier/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/accounts/maxtier/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/maxtier/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/maxtier/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns the member with maximum tier level of all the members in the account
HTTP Request
GET /api/v1/accounts/maxtier/:accountid/:tierid
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| accountid | ObjectId | Used to identify unique record from API, referenced to "_id" field from account`s structure. |
| tierid | ObjectId | Used to identify unique record from API, referenced to "policyId" field from tier policies`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| tier | Object | Tier object from member |
| status | Number | Status Codes. |
Create Account
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"members": [
{
"member": "60829bd5f9244c003f3ea0cd",
"program": "60828b1be76d4100402cd503"
},
{
"member": "6087bfcfafc91c0040e18df9",
"program": "602467f37823d3015cd8cfef"
}
],
"activeMember": "6087bfcfafc91c0040e18df9"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"members": [
{
"member": "60829bd5f9244c003f3ea0cd",
"program": "60828b1be76d4100402cd503"
},
{
"member": "6087bfcfafc91c0040e18df9",
"program": "602467f37823d3015cd8cfef"
}
],
"activeMember": "6087bfcfafc91c0040e18df9"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"members": [
{
"member": "60829bd5f9244c003f3ea0cd",
"program": "60828b1be76d4100402cd503"
},
{
"member": "6087bfcfafc91c0040e18df9",
"program": "602467f37823d3015cd8cfef"
}
],
"activeMember": "6087bfcfafc91c0040e18df9"
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"members": [
{
"member": "60829bd5f9244c003f3ea0cd",
"program": "60828b1be76d4100402cd503"
},
{
"member": "6087bfcfafc91c0040e18df9",
"program": "602467f37823d3015cd8cfef"
}
],
"activeMember": "6087bfcfafc91c0040e18df9"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"members": [
{
"member": "60829bd5f9244c003f3ea0cd",
"program": "60828b1be76d4100402cd503"
},
{
"member": "6087bfcfafc91c0040e18df9",
"program": "602467f37823d3015cd8cfef"
}
],
"activeMember": "6087bfcfafc91c0040e18df9"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/accounts HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache
{
members: [
{
member: "60829bd5f9244c003f3ea0cd",
program: "60828b1be76d4100402cd503"
},
{
member: "6087bfcfafc91c0040e18df9",
program: "602467f37823d3015cd8cfef"
}
],
activeMember: "6087bfcfafc91c0040e18df9"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
members: [
{
member: "60829bd5f9244c003f3ea0cd",
program: "60828b1be76d4100402cd503"
},
{
member: "6087bfcfafc91c0040e18df9",
program: "602467f37823d3015cd8cfef"
}
],
activeMember: "6087bfcfafc91c0040e18df9"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"members": [
{
"member": "60829bd5f9244c003f3ea0cd",
"program": "60828b1be76d4100402cd503"
},
{
"member": "6087bfcfafc91c0040e18df9",
"program": "602467f37823d3015cd8cfef"
}
],
"activeMember": "6087bfcfafc91c0040e18df9"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns the newly created Account object.
HTTP Request
POST /api/v1/accounts
This method creates an Account object.
Input Arguments
| Name | Type | Description |
|---|---|---|
| newAccount | Object | New record to add to RCX API with account's structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| account | Object | New data to save in RCX API with account's structure. |
| status | Number | Status Codes. |
Unlink Member by MemberID
const params = new URLSearchParams({
query: "{\"members.memberId\":\"60829bd5f9244c003f3ea0cd\"}"
});
const response = await fetch(`https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/unlink?${params}`, {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/unlink/query={'members.memberId':'60829bd5f9244c003f3ea0cd'}"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/unlink/query={'members.memberId':'60829bd5f9244c003f3ea0cd'}");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/unlink/query={'members.memberId':'60829bd5f9244c003f3ea0cd'}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/unlink/query={"members.memberId":"60829bd5f9244c003f3ea0cd"}',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/accounts/unlink/query={"members.memberId":"60829bd5f9244c003f3ea0cd"}?= HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache
{
members: [
{
member: "60829bd5f9244c003f3ea0cd",
program: "60828b1be76d4100402cd503"
},
{
member: "6087bfcfafc91c0040e18df9",
program: "602467f37823d3015cd8cfef"
}
],
activeMember: "6087bfcfafc91c0040e18df9"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/unlink/query={"members.memberId":"60829bd5f9244c003f3ea0cd"} \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
members: [
{
member: "60829bd5f9244c003f3ea0cd",
program: "60828b1be76d4100402cd503"
},
{
member: "6087bfcfafc91c0040e18df9",
program: "602467f37823d3015cd8cfef"
}
],
activeMember: "6087bfcfafc91c0040e18df9"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/unlink/query={'members.memberId':'60829bd5f9244c003f3ea0cd'}")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"members": [
{
"member": "60829bd5f9244c003f3ea0cd",
"program": "60828b1be76d4100402cd503"
},
{
"member": "6087bfcfafc91c0040e18df9",
"program": "602467f37823d3015cd8cfef"
}
],
"activeMember": "6087bfcfafc91c0040e18df9"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
{
"status": "success"
}
The above command returns the status of member unlink.
This method removes the account based on the memberId passed in the query only if the account has 2 members associated with it. In the case of more than 2 members, we're removing the memberId object from account. If the removed memberId is the activeMember, we're changing it to the first member in the members array.
HTTP Request
POST /api/v1/accounts/unlink
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| query | Object | The query is used to search account for given member Ex: query = {'members.memberId': '60829bd5f9244c003f3ea0cd' |
Output Arguments
| Name | Type | Description |
|---|---|---|
| res | Object | {"status": "success"}. |
| status | Number | Status Codes |
Update Account by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/59de93dd584b770052aab5e7", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"activeMember": "59de93dd584b770052aab5e9"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"activeMember": "59de93dd584b770052aab5e9"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/59de93dd584b770052aab5e7"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/59de93dd584b770052aab5e7");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"activeMember": "59de93dd584b770052aab5e9"
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/59de93dd584b770052aab5e7")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"activeMember": "59de93dd584b770052aab5e9"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/59de93dd584b770052aab5e7',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"activeMember": "59de93dd584b770052aab5e9"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/accounts/59de93dd584b770052aab5e7 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache
{
"activeMember": "59de93dd584b770052aab5e9"
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/59de93dd584b770052aab5e7 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"activeMember": "59de93dd584b770052aab5e9"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/59de93dd584b770052aab5e7")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"activeMember": "59de93dd584b770052aab5e9"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns the updated Account object.
This method updates the sent fields with the new values.
HTTP Request
PUT /api/v1/accounts/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| account | Object | Fields within the account that need to be updated |
| id | ObjectId | The _id field of the Account that needs to be updated |
Output Arguments
| Name | Type | Description |
|---|---|---|
| account | Object | The newly updated Account |
| status | Number | Status Codes |
Delete Account by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/59df84e2bc4f61095c84ada5", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e2bc4f61095c84ada5"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/59df84e2bc4f61095c84ada5");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/59df84e2bc4f61095c84ada5")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/59df84e2bc4f61095c84ada5',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/accounts/59df84e2bc4f61095c84ada5 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/59df84e2bc4f61095c84ada5 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/accounts/59df84e2bc4f61095c84ada5")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
HTTP Request
DELETE /api/v1/accounts/:id
This method deletes one account identified by _id.
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | The _id field of the Account that needs to be deleted |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Aggregates
Aggregates are summarizations or accumulations of data points, typically related to member activities such as points earned or rewards redeemed. These aggregates help in tracking and managing metrics over time.
Aggregates Structure
{
"metricName" : "Reward Points",
"metricAggValue" : 30000,
"day" : "2023-10-03 00:00:00.000Z",
"memberId" : "651b975e04e5f00026088881",
"lastAggDate" : "2023-10-03T04:24:06.928Z",
"org": "5c58d8570bf24c075fb5886c",
"_id": "611babe5ef60979eb694942e",
"divisions": ["59de86b7584b770052aaacb1", "59de86b7584b770052aaacb2"],
"createdAt" : "2023-10-03T04:24:00.914Z",
"updatedAt" : "2023-10-03T04:24:00.914Z",
"createdBy": "5c58d8570bf24c075fb5886b",
"updatedBy": "5c58d8570bf24c075fb5886b"
}
| Field | Type/Format | Description |
|---|---|---|
| _id | ObjectId | readonly Unique value for every record. |
| metricName | String | required Name of the metric. |
| day | Number | The date for which the aggregate belong to. |
| week | Number | min:1, max:54 Week for which the aggregate is being performed. The value of the year field defines which week of the year the aggregate belong to. |
| month | Number | min:1, max:12 Month for which the aggregate is being performed. The value of the year field defines which month of the year the aggregate belong to. |
| quarter | Number | min:1, max:4 Quarter for which the aggregate is being performed. The value of the year field defines which quarter of the year the aggregate belong to. |
| halfYear | Number | min:1, max:2 Part of the halfyear for which the aggregate is being performed. The value of the year field defines which half of the year the aggregate belong to. |
| year | Number | min:1900, max: 3999 The year for which the aggregate is being performed. |
| lastAggDate | Date | The date when last aggregate was performed. |
| memberId | ObjectId | _id field of the Member that's associated with this id. |
| metricAggValue | Number | default: 0 Accumulated value of the aggregate. |
| expirationDate | Date | Expiration Date is use to offload the lifetime aggregates from member transient array to its own collection when this expiration date is reached. It's only applicable for lifetime aggregates. |
| mergeIds | Array | An array of _id values of members that were merged with the memberId. |
| divisions | Array | Array of ObjectId references to divisions. This field provides restriction to user groups. |
The object contains common fields
Read Daily Aggregates for a member
const params = new URLSearchParams({
query: "{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}"
});
const response = await fetch(`https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/dailyaggregates?${params}`, {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
String query = URLEncoder.encode("{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}", StandardCharsets.UTF_8);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/dailyaggregates?query=" + query))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var query = Uri.EscapeDataString("{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}");
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/dailyaggregates?query=" + query);
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
query = URI.encode_www_form_component('{"memberId":"6618e0cc51ad3b0035ddb041"}')
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/dailyaggregates?query=#{query}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/dailyaggregates?query=' . urlencode('{"memberId":"6618e0cc51ad3b0035ddb041"}'),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/dailyaggregates?query=%7B%22memberId%22%3A%226618e0cc51ad3b0035ddb041%22%7D HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -G 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/dailyaggregates' \
--data-urlencode 'query={"memberId":"6618e0cc51ad3b0035ddb041"}' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
-H 'Cache-Control: no-cache'
import Foundation
var components = URLComponents(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/dailyaggregates")!
components.queryItems = [
URLQueryItem(name: "query", value: "{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}")
]
var request = URLRequest(url: components.url!)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of the objects containing the daily aggregates for member with given memberId.
This method finds all daily aggregates from respective collection based on the memberId in query provided by the user.
HTTP Request
GET /api/v1/dailyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| query | Object | required Mongodb query generated using query parameters to get daily aggregates Ex: query = {"memberId":"6618e0cc51ad3b0035ddb041"} |
Output Arguments
| Name | Type | Description |
|---|---|---|
| Array | Array | An array of objects containing the daily aggregates for member. |
| status | Number | Status Codes |
Read Weekly Aggregates for a member
const params = new URLSearchParams({
query: "{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}"
});
const response = await fetch(`https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/weeklyaggregates?${params}`, {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
String query = URLEncoder.encode("{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}", StandardCharsets.UTF_8);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/weeklyaggregates?query=" + query))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var query = Uri.EscapeDataString("{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}");
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/weeklyaggregates?query=" + query);
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
query = URI.encode_www_form_component('{"memberId":"6618e0cc51ad3b0035ddb041"}')
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/weeklyaggregates?query=#{query}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/weeklyaggregates?query=' . urlencode('{"memberId":"6618e0cc51ad3b0035ddb041"}'),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/weeklyaggregates?query=%7B%22memberId%22%3A%226618e0cc51ad3b0035ddb041%22%7D HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -G 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/weeklyaggregates' \
--data-urlencode 'query={"memberId":"6618e0cc51ad3b0035ddb041"}' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
-H 'Cache-Control: no-cache'
import Foundation
var components = URLComponents(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/weeklyaggregates")!
components.queryItems = [
URLQueryItem(name: "query", value: "{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}")
]
var request = URLRequest(url: components.url!)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of the objects containing the weekly aggregates for member with given memberId.
This method finds all weekly aggregates from respective collection based on the memberId in query provided by the user.
HTTP Request
GET /api/v1/weeklyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| query | Object | required Mongodb query generated using query parameters to get weekly aggregates Ex: query = {"memberId":"6618e0cc51ad3b0035ddb041"} |
Output Arguments
| Name | Type | Description |
|---|---|---|
| Array | Array | An array of objects containing the weekly aggregates for member. |
| status | Number | Status Codes |
Read Monthly Aggregates for a member
const params = new URLSearchParams({
query: "{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}"
});
const response = await fetch(`https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/monthlyaggregates?${params}`, {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
String query = URLEncoder.encode("{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}", StandardCharsets.UTF_8);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/monthlyaggregates?query=" + query))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var query = Uri.EscapeDataString("{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}");
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/monthlyaggregates?query=" + query);
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
query = URI.encode_www_form_component('{"memberId":"6618e0cc51ad3b0035ddb041"}')
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/monthlyaggregates?query=#{query}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/monthlyaggregates?query=' . urlencode('{"memberId":"6618e0cc51ad3b0035ddb041"}'),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/monthlyaggregates?query=%7B%22memberId%22%3A%226618e0cc51ad3b0035ddb041%22%7D HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -G 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/monthlyaggregates' \
--data-urlencode 'query={"memberId":"6618e0cc51ad3b0035ddb041"}' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
-H 'Cache-Control: no-cache'
import Foundation
var components = URLComponents(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/monthlyaggregates")!
components.queryItems = [
URLQueryItem(name: "query", value: "{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}")
]
var request = URLRequest(url: components.url!)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of the objects containing the monthly aggregates for member with given memberId.
This method finds all monthly aggregates from respective collection based on the memberId in query provided by the user.
HTTP Request
GET /api/v1/monthlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| query | Object | required Mongodb query generated using query parameters to get monthly aggregates Ex: query = {"memberId":"6618e0cc51ad3b0035ddb041"} |
Output Arguments
| Name | Type | Description |
|---|---|---|
| Array | Array | An array of objects containing the monthly aggregates for member. |
| status | Number | Status Codes |
Read Quarterly Aggregates for a member
const params = new URLSearchParams({
query: "{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}"
});
const response = await fetch(`https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/quarterlyaggregates?${params}`, {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
String query = URLEncoder.encode("{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}", StandardCharsets.UTF_8);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/quarterlyaggregates?query=" + query))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var query = Uri.EscapeDataString("{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}");
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/quarterlyaggregates?query=" + query);
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
query = URI.encode_www_form_component('{"memberId":"6618e0cc51ad3b0035ddb041"}')
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/quarterlyaggregates?query=#{query}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/quarterlyaggregates?query=' . urlencode('{"memberId":"6618e0cc51ad3b0035ddb041"}'),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/quarterlyaggregates?query=%7B%22memberId%22%3A%226618e0cc51ad3b0035ddb041%22%7D HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -G 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/quarterlyaggregates' \
--data-urlencode 'query={"memberId":"6618e0cc51ad3b0035ddb041"}' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
-H 'Cache-Control: no-cache'
import Foundation
var components = URLComponents(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/quarterlyaggregates")!
components.queryItems = [
URLQueryItem(name: "query", value: "{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}")
]
var request = URLRequest(url: components.url!)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of the objects containing the quarterly aggregates for member with given memberId.
This method finds all quarterly aggregates from respective collection based on the memberId in query provided by the user.
HTTP Request
GET /api/v1/quarterlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| query | Object | required Mongodb query generated using query parameters to get quarterly aggregates Ex: query = {"memberId":"6618e0cc51ad3b0035ddb041"} |
Output Arguments
| Name | Type | Description |
|---|---|---|
| Array | Array | An array of objects containing the quarterly aggregates for member. |
| status | Number | Status Codes |
Read HalfYearly Aggregates for a member
const params = new URLSearchParams({
query: "{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}"
});
const response = await fetch(`https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/halfyearlyaggregates?${params}`, {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
String query = URLEncoder.encode("{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}", StandardCharsets.UTF_8);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/halfyearlyaggregates?query=" + query))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var query = Uri.EscapeDataString("{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}");
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/halfyearlyaggregates?query=" + query);
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
query = URI.encode_www_form_component('{"memberId":"6618e0cc51ad3b0035ddb041"}')
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/halfyearlyaggregates?query=#{query}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/halfyearlyaggregates?query=' . urlencode('{"memberId":"6618e0cc51ad3b0035ddb041"}'),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/halfyearlyaggregates?query=%7B%22memberId%22%3A%226618e0cc51ad3b0035ddb041%22%7D HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -G 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/halfyearlyaggregates' \
--data-urlencode 'query={"memberId":"6618e0cc51ad3b0035ddb041"}' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
-H 'Cache-Control: no-cache'
import Foundation
var components = URLComponents(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/halfyearlyaggregates")!
components.queryItems = [
URLQueryItem(name: "query", value: "{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}")
]
var request = URLRequest(url: components.url!)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of the objects containing the halfyearly aggregates for member with given memberId.
This method finds all halfyearly aggregates from respective collection based on the memberId in query provided by the user.
HTTP Request
GET /api/v1/halfyearlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| query | Object | required Mongodb query generated using query parameters to get halfyearly aggregates Ex: query = {"memberId":"6618e0cc51ad3b0035ddb041"} |
Output Arguments
| Name | Type | Description |
|---|---|---|
| Array | Array | An array of objects containing the halfyearly aggregates for member. |
| status | Number | Status Codes |
Read Yearly Aggregates for a member
const params = new URLSearchParams({
query: "{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}"
});
const response = await fetch(`https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/yearlyaggregates?${params}`, {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
String query = URLEncoder.encode("{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}", StandardCharsets.UTF_8);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/yearlyaggregates?query=" + query))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var query = Uri.EscapeDataString("{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}");
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/yearlyaggregates?query=" + query);
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
query = URI.encode_www_form_component('{"memberId":"6618e0cc51ad3b0035ddb041"}')
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/yearlyaggregates?query=#{query}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/yearlyaggregates?query=' . urlencode('{"memberId":"6618e0cc51ad3b0035ddb041"}'),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/yearlyaggregates?query=%7B%22memberId%22%3A%226618e0cc51ad3b0035ddb041%22%7D HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -G 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/yearlyaggregates' \
--data-urlencode 'query={"memberId":"6618e0cc51ad3b0035ddb041"}' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
-H 'Cache-Control: no-cache'
import Foundation
var components = URLComponents(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/yearlyaggregates")!
components.queryItems = [
URLQueryItem(name: "query", value: "{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}")
]
var request = URLRequest(url: components.url!)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of the objects containing the yearly aggregates for member with given memberId.
This method finds all yearly aggregates from respective collection based on the memberId in query provided by the user.
HTTP Request
GET /api/v1/yearlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| query | Object | required Mongodb query generated using query parameters to get yearly aggregates Ex: query = {"memberId":"6618e0cc51ad3b0035ddb041"} |
Output Arguments
| Name | Type | Description |
|---|---|---|
| Array | Array | An array of objects containing the yearly aggregates for member. |
| status | Number | Status Codes |
Read Lifetime Aggregates for a member
const params = new URLSearchParams({
query: "{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}"
});
const response = await fetch(`https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/lifetimeaggregates?${params}`, {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
String query = URLEncoder.encode("{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}", StandardCharsets.UTF_8);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/lifetimeaggregates?query=" + query))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var query = Uri.EscapeDataString("{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}");
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/lifetimeaggregates?query=" + query);
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
query = URI.encode_www_form_component('{"memberId":"6618e0cc51ad3b0035ddb041"}')
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/lifetimeaggregates?query=#{query}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/lifetimeaggregates?query=' . urlencode('{"memberId":"6618e0cc51ad3b0035ddb041"}'),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/lifetimeaggregates?query=%7B%22memberId%22%3A%226618e0cc51ad3b0035ddb041%22%7D HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -G 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/lifetimeaggregates' \
--data-urlencode 'query={"memberId":"6618e0cc51ad3b0035ddb041"}' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
-H 'Cache-Control: no-cache'
import Foundation
var components = URLComponents(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/lifetimeaggregates")!
components.queryItems = [
URLQueryItem(name: "query", value: "{\"memberId\":\"6618e0cc51ad3b0035ddb041\"}")
]
var request = URLRequest(url: components.url!)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of the objects containing the lifetime aggregates for member with given memberId.
This method finds all lifetime aggregates from respective collection based on the memberId in query provided by the user.
HTTP Request
GET /api/v1/lifetimeaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| query | Object | required Mongodb query generated using query parameters to get lifetime aggregates Ex: query = {"memberId":"6618e0cc51ad3b0035ddb041"} |
Output Arguments
| Name | Type | Description |
|---|---|---|
| Array | Array | An array of objects containing the lifetime aggregates for member. |
| status | Number | Status Codes |
Aggregate Policies
An aggregate policy defines rules and configurations governing the management and usage of data summarizations Aggregates related to member activities within a system or application.
Aggregate Policy Structure
{
"_id": "5575cc7ebee6c00300164e39",
"createdAt": "2015-06-08T17:10:22.234Z",
"updatedAt": "2015-06-08T17:10:22.234Z",
"updatedBy": "57347730e2aefeeba10a935b",
"createdBy": "57347730e2aefeeba10a935b",
"program": "66434e10522c390038eb36b9",
"name": "Aggregate Policy Name",
"desc": "Aggregate Policy Description",
"aggregateTypes": ["HalfYearly", "Lifetime", "Monthly", "Quarterly", "Weekly", "Yearly"],
"effectiveDate": "2024-07-09T00:00:00.000Z",
"expirationDate": "2024-12-31T23:59:59.999Z",
"divisions": ["ObjectId1", "ObjectId2"],
"program": "Program ObjectId",
"org": "Org ObjectId"
}
| Field | Type/Format | Description |
|---|---|---|
| program | ObjectId | required Reference to Program |
| name | String | required Name of the aggregate policy. |
| desc | String | Description of the aggregate policy. This is optional field. |
| aggregateTypes | Array | Enum of types of aggregates covered by the policy.(Example: Day, Week, Month, Quarter, Halfyear, Year) |
| effectiveDate | Date | Effective date of the policy. |
| expirationDate | Date | Expiration date of the policy. |
| divisions | Array | Array of ObjectId references to divisions. This is optional field. |
| org | ObjectId | Reference to Org associated with the policy. |
Read all Aggregate Policies
const params = new URLSearchParams({
locale: "en",
offset: "330",
query: "{\"program\":\"66434e10522c390038eb36b9\"}"
});
const response = await fetch(`https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies?${params}`, {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
String query = URLEncoder.encode("{\"program\":\"66434e10522c390038eb36b9\"}", StandardCharsets.UTF_8);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies?locale=en&offset=330&query=" + query))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var query = Uri.EscapeDataString("{\"program\":\"66434e10522c390038eb36b9\"}");
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies?locale=en&offset=330&query=" + query);
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
query = URI.encode_www_form_component('{"program":"66434e10522c390038eb36b9"}')
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies?locale=en&offset=330&query=#{query}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies?locale=en&offset=330&query=' . urlencode('{"program":"66434e10522c390038eb36b9"}'),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/aggregatepolicies?locale=en&offset=330&query=%7B%22program%22%3A%2266434e10522c390038eb36b9%22%7D HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -G 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/ggregatepolicies' \
--data-urlencode 'locale=en' \
--data-urlencode 'offset=330' \
--data-urlencode 'query={"program":"66434e10522c390038eb36b9"}' \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4' \
-H 'cache-control: no-cache'
import Foundation
var components = URLComponents(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies")!
components.queryItems = [
URLQueryItem(name: "locale", value: "en"),
URLQueryItem(name: "offset", value: "330"),
URLQueryItem(name: "query", value: "{\"program\":\"66434e10522c390038eb36b9\"}")
]
var request = URLRequest(url: components.url!)
request.httpMethod = "GET"
request.setValue("Bearer your_access_token", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command return all aggregate policy objects for the specified program.
HTTP Request
GET /api/v1/aggregatepolicies
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| query | Object | The query is used to filter the aggregate policies. Ex: { program: program_id } |
| populate | String | It accepts comma separated string and populates data inside the reference. Ex:populate=program,memberId |
Output Arguments
| Name | Type | Description |
|---|---|---|
| res | Object | Return all aggregate policy objects for the specified program . |
| status | Number | Status Codes. |
Read Aggregate Policy by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer your_access_token", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command return the specified aggregate policy object.
HTTP Request
GET /api/v1/aggregatepolicies/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | The _id field of the Aggregate Policy that needs to be read |
Output Arguments
| Name | Type | Description |
|---|---|---|
| res | Object | Return the specified aggregate policy object. |
| status | Number | Status Codes. |
Create Aggregate Policy
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"expirationSnapTo": "now",
"org": "66430674884bff002d115a5f",
"divisions": [],
"effectiveDate": "2024-07-09T00:00:00.000",
"program": "66434e10522c390038eb36b9",
"expirationDate": "2039-04-01T23:59:59.999",
"name": "weeklyAggregates",
"desc": "this is weekly aggregate",
"aggregateTypes": [
"Weekly"
],
"ext": {}
})
});
const data = await response.json();
console.log(data);
String body = """
{
"expirationSnapTo": "now",
"org": "66430674884bff002d115a5f",
"divisions": [],
"effectiveDate": "2024-07-09T00:00:00.000",
"program": "66434e10522c390038eb36b9",
"expirationDate": "2039-04-01T23:59:59.999",
"name": "weeklyAggregates",
"desc": "this is weekly aggregate",
"aggregateTypes": [
"Weekly"
],
"ext": {}
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"expirationSnapTo": "now",
"org": "66430674884bff002d115a5f",
"divisions": [],
"effectiveDate": "2024-07-09T00:00:00.000",
"program": "66434e10522c390038eb36b9",
"expirationDate": "2039-04-01T23:59:59.999",
"name": "weeklyAggregates",
"desc": "this is weekly aggregate",
"aggregateTypes": [
"Weekly"
],
"ext": {}
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"expirationSnapTo": "now",
"org": "66430674884bff002d115a5f",
"divisions": [],
"effectiveDate": "2024-07-09T00:00:00.000",
"program": "66434e10522c390038eb36b9",
"expirationDate": "2039-04-01T23:59:59.999",
"name": "weeklyAggregates",
"desc": "this is weekly aggregate",
"aggregateTypes": [
"Weekly"
],
"ext": {}
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"expirationSnapTo": "now",
"org": "66430674884bff002d115a5f",
"divisions": [],
"effectiveDate": "2024-07-09T00:00:00.000",
"program": "66434e10522c390038eb36b9",
"expirationDate": "2039-04-01T23:59:59.999",
"name": "weeklyAggregates",
"desc": "this is weekly aggregate",
"aggregateTypes": [
"Weekly"
],
"ext": {}
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/aggregatepolicies HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache
{
"expirationSnapTo": "now",
"org": "66430674884bff002d115a5f",
"divisions": [],
"effectiveDate": "2024-07-09T00:00:00.000",
"program": "66434e10522c390038eb36b9",
"expirationDate": "2039-04-01T23:59:59.999",
"name": "weeklyAggregates",
"desc": "this is weekly aggregate",
"aggregateTypes": [
"Weekly"
],
"ext": {}
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"expirationSnapTo": "now",
"org": "66430674884bff002d115a5f",
"divisions": [],
"effectiveDate": "2024-07-09T00:00:00.000",
"program": "66434e10522c390038eb36b9",
"expirationDate": "2039-04-01T23:59:59.999",
"name": "weeklyAggregates",
"desc": "this is weekly aggregate",
"aggregateTypes": [
"Weekly"
],
"ext": {}
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("{
"expirationSnapTo": "now",
"org": "66430674884bff002d115a5f",
"divisions": [],
"effectiveDate": "2024-07-09T00:00:00.000",
"program": "66434e10522c390038eb36b9",
"expirationDate": "2039-04-01T23:59:59.999",
"name": "weeklyAggregates",
"desc": "this is weekly aggregate",
"aggregateTypes": [
"Weekly"
],
"ext": [:]
}".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns the newly created Aggregate Policy object.
HTTP Request
POST /api/v1/aggregatepolicies
This method creates a new Aggregate Policy object.
Input Arguments
| Name | Type | Description |
|---|---|---|
| newAggregatePolicy | Object | New record to add to RCX API with Aggregate Policy. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| aggregatePolicy | Object | New data to save in RCX API with Aggregate Policy. |
| status | Number | Status Codes. |
Update Aggregate Policy by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a", {
method: "PATCH",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"effectiveDate": "2024-07-09T00:00:00.000Z",
"expirationDate": "2039-04-01T23:59:59.999Z",
"updatedBy": "newUpdatedById"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"effectiveDate": "2024-07-09T00:00:00.000Z",
"expirationDate": "2039-04-01T23:59:59.999Z",
"updatedBy": "newUpdatedById"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.method("PATCH", HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Patch, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"effectiveDate": "2024-07-09T00:00:00.000Z",
"expirationDate": "2039-04-01T23:59:59.999Z",
"updatedBy": "newUpdatedById"
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"effectiveDate": "2024-07-09T00:00:00.000Z",
"expirationDate": "2039-04-01T23:59:59.999Z",
"updatedBy": "newUpdatedById"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"effectiveDate": "2024-07-09T00:00:00.000Z",
"expirationDate": "2039-04-01T23:59:59.999Z",
"description": "Updated monthly aggregate policy",
"aggregates": [],
"divisions": [],
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PATCH /api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache
{
"effectiveDate": "2024-07-09T00:00:00.000Z",
"expirationDate": "2039-04-01T23:59:59.999Z",
"description": "Updated monthly aggregate policy",
"aggregates": [],
"divisions": []
}
curl -X PATCH \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"effectiveDate": "2024-07-09T00:00:00.000Z",
"expirationDate": "2039-04-01T23:59:59.999Z",
"description": "Updated monthly aggregate policy",
"aggregates": [],
"divisions": []
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a")!
var request = URLRequest(url: url)
request.httpMethod = "PATCH"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"effectiveDate": "2024-07-09T00:00:00.000Z",
"expirationDate": "2039-04-01T23:59:59.999Z",
"description": "Updated monthly aggregate policy",
"aggregates": [],
"divisions": []
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns the updated Aggregate Policy object.
HTTP Request
PATCH /api/v1/aggregatepolicies/:id
This method updates an existing Aggregate Policy object identified by {aggregatePolicyId}.
Input Arguments
| Name | Type | Description |
|---|---|---|
| aggregatePolicyId | String | ID of the aggregate policy to update. |
| updatedAggregatePolicy | Object | Fields within the Aggregate Policy that need to be updated. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| updatedAggregatePolicy | Object | The newly updated Aggregate Policy. |
| status | Number | Status Codes. |
Delete Aggregate Policy by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'content-type: application/json' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command deletes the specified Aggregate Policy object.
HTTP Request
DELETE /api/v1/aggregatepolicies/:id
This method deletes one account identified by _id.
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | The _id field of the Aggregate Policy that needs to be deleted |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Badges
Badges are objects contained inside Member objects, under the badges array.
Badge Structure
Sample Badge Object
{
"name": "Road Warrior",
"achievedOn": "2015-10-14T07:00:00.000Z",
"_id": "59e840b131a6b90052ed4ba0",
"createdAt": "2017-10-19T06:05:37.057Z",
"updatedAt": "2017-10-19T06:05:47.010Z",
"createdBy": "59de84708d69b9006b8295df",
"updatedBy": "59de84708d69b9006b8295df"
}
| Field | Type | Default | Description |
|---|---|---|---|
| name | String | required The name of the badge |
|
| achievedOn | Date | required Date when the badge was achieved |
The object contains common fields
Badge Methods
Badge Manipulation Examples
No special API exists to change badges inside a Member. Instead, you can Read Member by ID, use your preferred language to manipulate the
Member.badgesarray inside the Member object, and then use the Update Member by ID API to commit the changes.
Add Badge
Adding a new Badge is initiated through the rules engine in response to processing an activity.
Adding a new Badge is also possible by adding to the Member.badges array and using the Update Member by Id API to update the member.
Data Privacy Compliance
This API handles data privacy compliance DPC-related fields in our system.
DPC Request Structure
Array of loyaltyIds in the request body
[
"1773927370295180200",
"1773927370052584578",
"1773927370203878747"
]
DPC Response Structure
Object where loyaltyId as key and value as one of these "Completed" / "Not Found" / "Error"
{
"1773927370295180200": "Completed",
"1773927370052584578": "Not Found",
"1773927370203878747": "Error"
}
Post DPC
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/dpc", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify([
"1773927370295180200",
"1773927370052584578",
"1773927370203878747"
])
});
const data = await response.json();
console.log(data);
String body = """
[
"1773927370295180200",
"1773927370052584578",
"1773927370203878747"
]
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/dpc"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/dpc");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
[
"1773927370295180200",
"1773927370052584578",
"1773927370203878747"
]
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/dpc")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
[
"1773927370295180200",
"1773927370052584578",
"1773927370203878747"
]
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/dpc',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/dpc HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
["1773927370295180200","1773927370052584578","1773927370203878747"]
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/dpc \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '["1773927370295180200","1773927370052584578","1773927370203878747"]'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/dpc")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
[
"1773927370295180200",
"1773927370052584578",
"1773927370203878747"
]
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a DPC Response object.
This method updates the DPC fields in our system for the given loyaltyIds
HTTP Request
POST /api/v1/dpc/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| loyaltyIds | Array | loyaltyIds array |
Output Arguments
| Name | Type | Description |
|---|---|---|
| loyaltyIds | Object | DPC Response |
| status | Number | Status Codes. |
Divisions
Division is a comprehensive security mechanism that ensures data integrity and access control across the RCX system. It restricts access privileges to user groups that are accountable to maintain specific data segments, enabling organizations to segregate data by business units, regions, or other organizational structures while maintaining referential integrity.
Division Structure
{
"name": "Site1",
"parent": "611babe5ef60979eb694942f",
"isActive": true,
"permissions": {
"read": true,
"create": true,
"update": true,
"delete": true
},
"org": "5c58d8570bf24c075fb5886c",
"_id": "611babe5ef60979eb694942e",
"createdAt": "2021-08-17T12:30:29.030Z",
"updatedAt": "2021-08-23T10:11:07.585Z",
"createdBy": "5c58d8570bf24c075fb5886b",
"updatedBy": "5c58d8570bf24c075fb5886b"
}
| Field | Type/Format | Description |
|---|---|---|
| _id | ObjectId | readonly Unique value for every record |
| name | String | required Name of division |
| parent | ObjectId | optional Reference to parent division for establishing hierarchical relationships |
| isActive | Boolean | default: false Divisions are active when it set to true |
| permissions | Object | Permission settings for the division with boolean flags for read, create, update, and delete operations |
| permissions.read | Boolean | default: true Permission to read entities within this division |
| permissions.create | Boolean | default: false Permission to create entities within this division |
| permissions.update | Boolean | default: false Permission to update entities within this division |
| permissions.delete | Boolean | default: false Permission to delete entities within this division |
The object contains common fields
Read all Divisions
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/divisions", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/divisions"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/divisions");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/divisions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/divisions',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/divisions HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/divisions \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/divisions")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Division objects.
This methods returns all Division in the system.
HTTP Request
GET /api/v1/divisions
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| divisions | Array | set of Division objects |
| status | Number | Status Codes. |
Create Division
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/divisions", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"name": "finance",
"isActive": true
})
});
const data = await response.json();
console.log(data);
String body = """
{
"name": "admin",
"isActive": "true"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/divisions"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/divisions");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"isActive\": \"true\",\n \"name\": \"finance\",\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/divisions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"isActive\": \"true\",\n \"name\": \"finance\",\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/divisions',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"isActive": "true",
"name": "finance"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/divisions HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"isActive": "true",
"name": "finance"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/divisions \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"isActive": "true",
"name": "finance"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/divisions")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"isActive": "true",
"name": "finance"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Division object.
This method creates a new Division.
HTTP Request
POST /api/v1/divisions/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| division | Object | Division object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| division | Object | Division object |
| status | Number | Status Codes. |
Update Divisions by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/divisions/612d07ee92639800b1e6de7c", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"isActive": true,
"name": "finance"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"isActive": "true",
"name": "finance"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/divisions/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/divisions/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"isActive": "true",
"name": "finance"
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/divisions/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"isActive": "true",
"name": "finance"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/divisions/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"name": "finance",
"isActive": true
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/divisions/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"name":"finance",
"isActive": true
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/divisions/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"name":"finance",
"isActive": true
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/divisions/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"name": "finance",
"isActive": true
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Division object.
This method updates the specified Division.
HTTP Request
PUT /api/v1/divisions/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Value references to "_id" field from Division object. |
| division | Object | Division object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| division | Object | Division object |
| status | Number | Status Codes. |
Enums
This API is compliant with the query interface described in Advanced Queries.
Enums (short for enumerations) are basically lists of values used in various places such as ActivityType (Accrual, Redemption, etc.) and other types.
Enum Structure
{
"type": "Language",
"lang": "en",
"value": "en",
"valueType": "String"
"label": "English",
"displayType": "user",
"_id": "59de84728d69b9006b82963a",
"createdAt": "2017-10-11T20:52:02.868Z",
"updatedAt": "2017-10-11T20:52:02.868Z",
"createdBy": "59de84708d69b9006b8295df",
"updatedBy": "59de84708d69b9006b8295df"
}
| Field | Type | Description |
|---|---|---|
| _id | ObjectId | unique The id of the record |
| type | String | required Type of the Enum - for example ActivityType |
| value | Mixed | required Enum value representing the possible values of that type - e.g. Accrual, Redemption, etc. for ActivityType type. Stored as JSON, so it may be a string, number, boolean, or object depending on valueType. |
| displayType | String | Whether or not to display this in the UI - some Enums can be internal and not shown in the UI for direct access by end users. Use system or user here. |
| label | String | required The label of the Enum which is specific to the lang code and will be displayed on UI. |
| lang | String | required The language code of the Enum (e.g. en, fr, etc.) |
| valueType | String | required type of the value(String/Number/Boolean/Date) |
| desc | String | Description about the enum |
| status | String | Default: Active Status of the enum record. |
The object contains common fields
Read all Enums
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/enums HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Enum objects.
This methods returns all enums in the system.
HTTP Request
GET /api/v1/enums
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| enums | Array | set of Enum objects |
| status | Number | Status Codes. |
Read Enum by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums/59de97de584b770052aab641", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums/59de97de584b770052aab641"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums/59de97de584b770052aab641");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums/59de97de584b770052aab641")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums/59de97de584b770052aab641',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/enums/59de97de584b770052aab641 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums/59de97de584b770052aab641 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums/59de97de584b770052aab641")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Enum object.
This method returns the specified enum.
HTTP Request
GET /api/v1/enums/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from Enum structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| enum | Object | Enum object |
| status | Number | Status Codes. |
Create Enum
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
displayType: 'user',
valueType: 'String',
value: 'Validate Reward',
type: 'ActivityType',
label: 'Validate Reward',
lang: 'en'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString("{\n \"lang\": \"en\",\n \"valueType\": \"String\",\n \"displayType\": \"user\",\n \"label\": \"Validate Reward\",\n \"type\": \"ActivityType\",\n \"value\": \"Validate Reward\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"lang\": \"en\",\n \"valueType\": \"String\",\n \"displayType\": \"user\",\n \"label\": \"Validate Reward\",\n \"type\": \"ActivityType\",\n \"value\": \"Validate Reward\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"lang\": \"en\",\n \"valueType\": \"String\",\n \"displayType\": \"user\",\n \"label\": \"Validate Reward\",\n \"type\": \"ActivityType\",\n \"value\": \"Validate Reward\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"lang": "en",
"value": "Validate Reward",
"type": "ActivityType",
"label": "Validate Reward",
"valueType": "String",
"displayType": "user"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/enums HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"lang": "en",
"value": "Validate Reward",
"type": "ActivityType",
"label": "Validate Reward",
"valueType": "String",
"displayType": "user"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"lang": "en",
"value": "Validate Reward",
"type": "ActivityType",
"label": "Validate Reward",
"valueType": "String",
"displayType": "user"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"lang": "en",
"value": "Validate Reward",
"type": "ActivityType",
"label": "Validate Reward",
"valueType": "String",
"displayType": "user"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Enum object.
This method creates a new enum.
HTTP Request
POST /api/v1/enums/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| enum | Object | Enum object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| enum | Object | Enum object |
| status | Number | Status Codes. |
Update Enum by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums/59e918777e09760050c8272d", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
label: 'Use Reward'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString("{\n \"label\": \"Use Reward\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"label\": \"Use Reward\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"label\": \"Use Reward\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"label": "Use Reward"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/enums/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"label": "Use Reward"
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"label": "Use Reward"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"label": "Use Reward"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Enum object.
This method updates the specified enum.
HTTP Request
PUT /api/v1/enums/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Value references to "_id" field from Enum structure. |
| enum | Object | Enum object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| enum | Object | Enum object |
| status | Number | Status Codes. |
Delete Enum by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums/59e918777e09760050c8272d", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/enums/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/enums/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified enum.
HTTP Request
DELETE /api/v1/enums/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from Enum`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
ExtensionDefs
This API is compliant with the query interface described in Advanced Queries.
Extension Defs are to define the visibility of schema extension definitions in UI.
ExtensionDef Structure
{
"model": "Activity",
"org": "5c58d8570bf24c075fb5886c",
"display": true,
"_id": "5c58d8570bf24c075fb588be",
"createdAt": "2019-02-05T00:27:03.533Z",
"updatedAt": "2019-02-05T00:27:03.533Z",
"createdBy": "5c58d8570bf24c075fb5886b",
"updatedBy": "5c58d8570bf24c075fb5886b"
}
| Field | Type | Description |
|---|---|---|
| model | String | required Name of the model to which extensions has to be applied |
| display | Boolean | default: false Defines the visibility of extension schema definition of a specific model in UI |
| _id | ObjectId | unique The id of the record |
The object contains common fields
Read all ExtensionDefs
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/extensiondefs HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of ExtensionDef objects.
This methods returns all extensiondefs in the system.
HTTP Request
GET /api/v1/extensiondefs
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| extensiondefs | Array | set of ExtensionDef objects |
| status | Number | Status Codes. |
Read ExtensionDef by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs/59de97de584b770052aab641", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs/59de97de584b770052aab641"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs/59de97de584b770052aab641");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs/59de97de584b770052aab641")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs/59de97de584b770052aab641',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/extensiondefs/59de97de584b770052aab641 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs/59de97de584b770052aab641 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs/59de97de584b770052aab641")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a ExtensionDef object.
This method returns the specified extensiondef.
HTTP Request
GET /api/v1/extensiondefs/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from ExtensionDef structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| extensiondef | Object | ExtensionDef object |
| status | Number | Status Codes. |
Create ExtensionDef
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
model: 'Activity',
display: 'true'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString("{\n \"model\": \"Activity\",\n \"display\": \"true\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"model\": \"Activity\",\n \"display\": \"true\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"model\": \"Activity\",\n \"display\": \"true\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"display": "true",
"model": "Activity"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/extensiondefs HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"display": "true",
"model": "Activity"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"display": "true",
"model": "Activity"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"display": "true",
"model": "Activity"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a ExtensionDef object.
This method creates a new extensiondef.
HTTP Request
POST /api/v1/extensiondefs/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| extensiondef | Object | ExtensionDef object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| extensiondef | Object | ExtensionDef object |
| status | Number | Status Codes. |
Update ExtensionDef by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs/59e918777e09760050c8272d", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
display: 'false'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString("{\n \"display\": \"false\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"display\": \"false\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"display\": \"false\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"display": "false"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/extensiondefs/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"display": "false"
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"display": "false"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"display": "false"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a ExtensionDef object.
This method updates the specified extensiondef.
HTTP Request
PUT /api/v1/extensiondefs/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Value references to "_id" field from ExtensionDef structure. |
| extensiondef | Object | ExtensionDef object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| extensiondef | Object | ExtensionDef object |
| status | Number | Status Codes. |
Delete ExtensionDef by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs/59e918777e09760050c8272d", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/extensiondefs/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensiondefs/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified extensiondef.
HTTP Request
DELETE /api/v1/extensiondefs/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from ExtensionDef`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
ExtensionSchemas
This API is compliant with the query interface described in Advanced Queries.
Extension Schema is to add extension schema definitions, which can be dynamically modified. Extension field datatype can only be modified when there is no data populated for the field in the database.
ExtensionSchema Structure
{
"model": "Activity",
"org": "5c58d8570bf24c075fb5886c",
"extSchema": {"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"},"txnChannel":{"type":"string"},"transactionId":{"type":"string"},"memberRewardId":{"type":"string"}}},
"uiDef": {"dgeTransSeq":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"txnTypeId":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"txnHeaderId":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"txnEmployeeId":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"txnEmployeeName":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"txnStoreId":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"barcodeParmsOne":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"barcodeParmsTwo":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"barcodeParmsThree":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"barcodeParmsFour":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"barcodeParmsFive":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"barcodeParmsSix":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"barcodeVersion":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"txnChannel":{"acceptData":false,"showInList":false,"searchable":false,"errorMessage":"","type":"string"},"transactionId":{"acceptData":false,"showInList":false,"searchable":false,"errorMessage":"","type":"string"},"memberRewardId":{"acceptData":false,"showInList":false,"searchable":false,"ignoreImport":false,"errorMessage":"","type":"string"}},
"_id": "5c58e9c7967bc9010b3a6131",
"createdAt": "2019-02-05T01:41:27.206Z",
"updatedAt": "2019-05-15T14:24:08.229Z",
"createdBy": "5c58d8570bf24c075fb5886b",
"updatedBy": "5c58d8570bf24c075fb5886b"
}
| Field | Type | Description |
|---|---|---|
| model | String | required Name of the entity to which extension schema is to be applied |
| extSchema | String | required Extensions JSON schema in string format |
| uiDef | String | JSON definition of UI and behavioural configuration |
| _id | ObjectId | unique The id of the record |
The object contains common fields
Read all ExtensionSchemas
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/extensionschemas HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of ExtensionSchema objects.
This methods returns all extensionschemas in the system.
HTTP Request
GET /api/v1/extensionschemas
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| extensionschemas | Array | set of ExtensionSchema objects |
| status | Number | Status Codes. |
Read ExtensionSchema by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas/59de97de584b770052aab641", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas/59de97de584b770052aab641"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas/59de97de584b770052aab641");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas/59de97de584b770052aab641")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas/59de97de584b770052aab641',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/extensionschemas/59de97de584b770052aab641 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas/59de97de584b770052aab641 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas/59de97de584b770052aab641")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a ExtensionSchema object.
This method returns the specified extensionschema.
HTTP Request
GET /api/v1/extensionschemas/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from ExtensionSchema structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| extensionschema | Object | ExtensionSchema object |
| status | Number | Status Codes. |
Create ExtensionSchema
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
extSchema: '{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}',
model: 'Activity',
uiDef: '{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString("{\n \"uiDef\": \"{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}\",\n \"extSchema\": \"{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}\",\n \"model\": \"Activity\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"uiDef\": \"{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}\",\n \"extSchema\": \"{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}\",\n \"model\": \"Activity\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"uiDef\": \"{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}\",\n \"extSchema\": \"{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}\",\n \"model\": \"Activity\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"model": "Activity",
"extSchema": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}",
"uiDef": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/extensionschemas HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"model": "Activity",
"extSchema": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}",
"uiDef": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"model": "Activity",
"extSchema": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}",
"uiDef": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"model": "Activity",
"extSchema": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}",
"uiDef": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a ExtensionSchema object.
This method creates a new extensionschema.
HTTP Request
POST /api/v1/extensionschemas/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| extensionschema | Object | ExtensionSchema object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| extensionschema | Object | ExtensionSchema object |
| status | Number | Status Codes. |
Update ExtensionSchema by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas/59e918777e09760050c8272d", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
uiDef: '{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString("{\n \"uiDef\": \"{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"uiDef\": \"{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"uiDef\": \"{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"uiDef": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/extensionschemas/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"uiDef": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}"
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"uiDef": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"uiDef": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a ExtensionSchema object.
This method updates the specified extensionschema.
HTTP Request
PUT /api/v1/extensionschemas/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Value references to "_id" field from ExtensionSchema structure. |
| extensionschema | Object | ExtensionSchema object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| extensionschema | Object | ExtensionSchema object |
| status | Number | Status Codes. |
Delete ExtensionSchema by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas/59e918777e09760050c8272d", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/extensionschemas/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/extensionschemas/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified extensionschema.
HTTP Request
DELETE /api/v1/extensionschemas/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from ExtensionSchema`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Export data as CSV
This method allows exporting data from a specified entity or named list as a CSV file. The data can be filtered based on the query parameters.
const params = new URLSearchParams({
namedListId: "59df8524900914005c86c45f",
select: "name,category",
activeOnly: "true"
});
const response = await fetch(`https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/exportdatacsv?${params}`, {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
const csv = await response.text();
console.log(csv);
OkHttpClient client = new OkHttpClient();
HttpUrl.Builder urlBuilder = HttpUrl.parse("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/exportdatacsv").newBuilder();
urlBuilder.addQueryParameter("namedListId", "59df8524900914005c86c45f");
urlBuilder.addQueryParameter("select", "name,category");
urlBuilder.addQueryParameter("activeOnly", "true");
Request request = new Request.Builder()
.url(urlBuilder.build())
.get()
.addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo")
.addHeader("cache-control", "no-cache")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
// if entity is provided
OkHttpClient client = new OkHttpClient();
HttpUrl.Builder urlBuilder = HttpUrl.parse("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/exportdatacsv").newBuilder();
urlBuilder.addQueryParameter("entity", "Product");
urlBuilder.addQueryParameter("select", "name,category");
urlBuilder.addQueryParameter("activeOnly", "true");
Request request = new Request.Builder()
.url(urlBuilder.build())
.get()
.addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo")
.addHeader("cache-control", "no-cache")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/exportdatacsv?namedListId=59df8524900914005c86c45f&select=name,category&activeOnly=true");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo");
request.Headers.Add("Cache-Control", "no-cache");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/exportdatacsv?namedListId=59df8524900914005c86c45f&select=name,category&activeOnly=true")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo"
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo"
request["Cache-Control"] = "no-cache"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/exportdatacsv',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/exportdatacsv?namedListId=59df8524900914005c86c45f&select=name,category&activeOnly=true HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo
Cache-Control: no-cache
#if entity is provided
GET /api/v1/exportdatacsv?entity=Product&select=name,category&activeOnly=true HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo
Cache-Control: no-cache
curl -X GET \
'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/exportdatacsv?namedListId=59df8524900914005c86c45f&select=name,category&activeOnly=true' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo' \
-H 'cache-control: no-cache'
#if entity is provided
curl -X GET \
'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/exportdatacsv?entity=Product&select=name,category&activeOnly=true' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo' \
-H 'cache-control: no-cache'
import Foundation
let headers = [
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo",
"cache-control": "no-cache"
]
var urlComponents = URLComponents(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/exportdatacsv")!
urlComponents.queryItems = [
URLQueryItem(name: "namedListId", value: "59df8524900914005c86c45f"),
URLQueryItem(name: "select", value: "name,category"),
URLQueryItem(name: "activeOnly", value: "true")
]
var request = URLRequest(url: urlComponents.url!)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers
let session = URLSession.shared
let task = session.dataTask(with: request) { data, response, error in
if let error = error {
print("Error: \(error)")
} else if let data = data, let responseString = String(data: data, encoding: .utf8) {
print("Response: \(responseString)")
}
}
task.resume()
///if entity is provided
import Foundation
let headers = [
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo",
"cache-control": "no-cache"
]
var urlComponents = URLComponents(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/exportdatacsv")!
urlComponents.queryItems = [
URLQueryItem(name: "entity", value: "Product"),
URLQueryItem(name: "select", value: "name,category"),
URLQueryItem(name: "activeOnly", value: "true")
]
var request = URLRequest(url: urlComponents.url!)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers
let session = URLSession.shared
let task = session.dataTask(with: request) { data, response, error in
if let error = error {
print("Error: \(error)")
} else if let data = data, let responseString = String(data: data, encoding: .utf8) {
print("Response: \(responseString)")
}
}
task.resume()
Note: Either
entityornamedListIdmust be provided.
HTTP Request
GET /api/v1/exportdatacsv
Input Arguments
| Parameter | Type | Required | Description |
|---|---|---|---|
| entity | String | Conditional | The name of the entity (model) to export data from. Either entity or namedListId must be provided, but not both. |
| namedListId | String | Conditional | The ID of the named list to export data from. Either namedListId or entity must be provided, but not both. |
| select | String | No | A comma-separated list of fields to include in the export. |
| activeOnly | Boolean | No | If true, filters data to include only active records (for example, non-expired). |
| query | Object | No | Query object containing fields to filter. This parameter can only be used in conjunction with the entity parameter. |
Output Arguments
The response is in CSV format.
Notes
The
selectparameter defines the specific fields to include in the export. If not specified, all available fields are included by default.The
queryparameter is used to filter the data included in the export. If omitted, the entire dataset is exported. For larger datasets, it's recommended to include aqueryparameter to narrow the results.
Flows
This API is compliant with the query interface described in Advanced Queries.
A flow allows the arrangement of rules and folders in a particular order of execution. This allows handling promotion stacking, conditional data loads, and other advanced concepts that are not possible with simple rule sets.
Flow Structure
{
"_id": "5512a108b7565a201ff99feb",
"name": "Sample Flow",
"desc": "Main Program Flow",
"program": "5512a108b7565a201ff99feb",
"primary": "true",
"graph": "",
"logic": {
"id" : "380e2333-e011-47d6-bc84-98d83a1790a6",
"flows" : {
"59312c3647b92e5c4fa57e90" : {
"output" : {
"nodes" : [
{
"id" : "59312c3647b92e5c4fa57e93"
}
],
"type" : "OR"
},
"rule" : {
"when" : [
{
"next" : {
"rule" : {
"when" : [],
"execution" : "parallel",
"isFlow" : false,
"name" : "59312c3647b92e5c4fa57e93",
"id" : "59312c3647b92e5c4fa57e93"
}
},
"result" : "any"
}
],
"execution" : "parallel",
"isFlow" : false,
"name" : "__START__",
"id" : "__START__"
}
}
},
"path" : {
"output" : null,
"rule" : {
"when" : [
{
"next" : {
"rule" : {
"when" : [
{
"next" : {
"rule" : {
"when" : [ ],
"execution" : "parallel",
"isFlow" : true,
"name" : "59312c3547b92e5c4fa57e80",
"id" : "59312c3547b92e5c4fa57e80"
}
},
"result" : "any"
}
],
"execution" : "parallel",
"isFlow" : false,
"name" : "59312c3547b92e5c4fa57e6e",
"id" : "59312c3547b92e5c4fa57e6e"
}
},
"result" : "any"
}
],
"execution" : "parallel",
"isFlow" : false,
"name" : "__START__",
"id" : "__START__"
}
}
},
"divisions": ["59de86b7584b770052aaacb1", "59de86b7584b770052aaacb2"],
"effectiveFrom": "2015-03-25T11:48:15.635Z",
"effectiveTo": "2015-03-25T11:48:15.635Z",
"createdAt": "2015-03-25T11:48:15.635Z",
"updatedAt": "2015-03-25T11:48:15.635Z"
}
| Field | Type | Description |
|---|---|---|
| _id | String | unique ObjectId string, generated by DB. |
| program | String | required Which program the flow belongs to. |
| name | String | required The Flow name. |
| graph | String | This is a UI-specific representation of the graphics representing the logic. |
| primary | Boolean | Tells whether the flow is primary in the program or a sub-flow. |
| logic | Object | Program execution path. |
| desc | String | The description of the Flow. |
| effectiveFrom | Date | Start date for the period when the flow will be accessible to the engine. |
| effectiveTo | Date | End date for the period when the flow will be accessible to the engine. |
| isCleaned | Boolean | Set to true only when expired rules cleaned up by ExpiredRuleCleanup job |
| divisions | Array | Array of ObjectId references to divisions. This field provides restriction to user groups. |
The object contains common fields
Read all Flows
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/flows HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Flow objects.
This methods returns all flows in the system.
HTTP Request
GET /api/v1/flows
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| flows | Array | set of Flow objects |
| status | Number | Status Codes. |
Read Flow by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows/59de97de584b770052aab641", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows/59de97de584b770052aab641"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows/59de97de584b770052aab641");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows/59de97de584b770052aab641")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows/59de97de584b770052aab641',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/flows/59de97de584b770052aab641 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows/59de97de584b770052aab641 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows/59de97de584b770052aab641")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Flow object.
This method returns the specified flow.
HTTP Request
GET /api/v1/flows/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from Flow structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| flow | Object | Flow object |
| status | Number | Status Codes. |
Create Flow
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
desc: 'Flow',
name: 'Free Drink',
program: '59de86b7584b770052aaacaf'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString("{\n \"program\": \"59de86b7584b770052aaacaf\",\n \"name\": \"Free Drink\",\n \"desc\": \"Flow\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"program\": \"59de86b7584b770052aaacaf\",\n \"name\": \"Free Drink\",\n \"desc\": \"Flow\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"program\": \"59de86b7584b770052aaacaf\",\n \"name\": \"Free Drink\",\n \"desc\": \"Flow\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"desc": "Flow",
"program": "59de86b7584b770052aaacaf",
"name": "Free Drink"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/flows HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"desc": "Flow",
"program": "59de86b7584b770052aaacaf",
"name": "Free Drink"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"desc": "Flow",
"program": "59de86b7584b770052aaacaf",
"name": "Free Drink"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"desc": "Flow",
"program": "59de86b7584b770052aaacaf",
"name": "Free Drink"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Flow object.
This method creates a new flow.
HTTP Request
POST /api/v1/flows/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| flow | Object | Flow object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| flow | Object | Flow object |
| status | Number | Status Codes. |
Update Flow by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows/59e918777e09760050c8272d", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
desc: 'Main flow for the program.'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString("{\n \"desc\": \"Main flow for the program.\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"desc\": \"Main flow for the program.\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"desc\": \"Main flow for the program.\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"desc": "Main flow for the program."
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/flows/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"desc": "Main flow for the program."
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"desc": "Main flow for the program."
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"desc": "Main flow for the program."
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Flow object.
This method updates the specified flow.
HTTP Request
PUT /api/v1/flows/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Value references to "_id" field from Flow structure. |
| flow | Object | Flow object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| flow | Object | Flow object |
| status | Number | Status Codes. |
Delete Flow by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows/59e918777e09760050c8272d", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/flows/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/flows/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified flow.
HTTP Request
DELETE /api/v1/flows/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from Flow`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Jobs
A job is a program that loads the data from a data-store to a target. It's commonly deployed in a server to run as per some schedule or trigger manually.
Job Structure
{
"_id" : "5a7004e24bd2e00453c5ffd7",
"createdBy" : "5a69c1871e040e3546b3fdc1",
"updatedBy" : "5a69c1871e040e3546b3fdc1",
"createdAt" : "2021-08-30T05:38:42.486Z",
"updatedAt" : "2021-08-30T05:38:58.573Z",
"org" : "5a69c1871e040e3546b3fdc2",
"name" : "Generate Tree",
"status" : "Completed",
"submitTime" : "2021-08-30T05:38:42.485Z",
"params" : [
{
"program" : "5a6eb03f4158e8204ce25cd8"
}
],
"__v" : 0,
"completionTime" : "2021-08-30T05:38:58.569Z"
}
| Field | Type/Format | Description |
|---|---|---|
| _id | ObjectId | readonly Unique value for every record |
| name | String | required Name of Job |
| status | String | Defines the state of the job |
| submitTime | Date | Job created timestamp |
| completionTime | Date | Job completed timestamp |
The object contains common fields
Pick Latest Job
const params = new URLSearchParams({
query: "{\"name\":\"Generate Tree\",\"program\":\"5c59005b9a65de010d86057b\"}"
});
const response = await fetch(`https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/jobs/latest?${params}`, {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
String query = URLEncoder.encode("{\"name\":\"Generate Tree\",\"program\":\"5c59005b9a65de010d86057b\"}", StandardCharsets.UTF_8);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/jobs/latest?query=" + query))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var query = Uri.EscapeDataString("{\"name\":\"Generate Tree\",\"program\":\"5c59005b9a65de010d86057b\"}");
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/jobs/latest?query=" + query);
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
query = URI.encode_www_form_component('{"name":"Generate Tree","program":"5c59005b9a65de010d86057b"}')
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/jobs/latest?query=#{query}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/jobs/latest?query=' . urlencode('{"name":"Generate Tree","program":"5c59005b9a65de010d86057b"}'),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/jobs/latest?query=%7B%22name%22%3A%22Generate%20Tree%22%2C%22program%22%3A%225c59005b9a65de010d86057b%22%7D HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/jobs/latest?query={"name":"Generate Tree","program":"5c59005b9a65de010d86057b"} \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4' \
-H 'cache-control: no-cache'
import Foundation
var components = URLComponents(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/jobs/latest")!
components.queryItems = [
URLQueryItem(name: "query", value: "{\"name\":\"Generate Tree\",\"program\":\"5c59005b9a65de010d86057b\"}")
]
var request = URLRequest(url: components.url!)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a latest job (#job-structure) object.
This method returns latest job in the system.
HTTP Request
GET /api/v1/jobs/latest
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| query | Object | The query is used to pick the latest jobs. Ex: { name: 'Generate Tree', program: program id } |
| populate | String | It accepts comma separated string and populates data inside the reference. Ex:populate=program,memberId |
Output Arguments
| Name | Type | Description |
|---|---|---|
| res | Object | returns the job object. |
| status | Number | Status Codes. |
Namedlists
This API is compliant with the query interface described in Advanced Queries.
Named lists are custom filters created on all the reference data. It's a subset of the different types of reference data.
Namedlist Structure
{
"name": "PENN1LOTTOSCRATCHERS",
"modelType": "Product",
"type": "Dynamic",
"query": "{"$and":[{"internalCode":{"$in":["345512","345248","344403","345517","345245","345519","345526","345518","347457"]}}]}",
"inclusionParams": "{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403,345517,345245,345519,345526,345518,347457","expr":null,"ids":null}}",
"isORQuery": false,
"isWildCardSearch": false,
"count": 9,
"refreshDate": "2019-02-21T20:58:24.144Z",
"refreshedBy": "5c58f3c65c7f2d01074c8bc7",
"org": "5c58d8570bf24c075fb5886c",
"_id": "5c329d453ddd2b0102e181fe",
"createdAt": "2019-01-07T00:28:53.543Z",
"updatedAt": "2019-08-19T05:01:18.280Z",
"createdBy": "5c58d8570bf24c075fb5886b",
"updatedBy": "5c58d8570bf24c075fb5886b"
}
| Field | Type/Format | Description |
|---|---|---|
| _id | ObjectId | readonly Unique value for every record |
| type | String | Accepts dynamic and static values |
| isORQuery | Boolean | Flag that determines if the specified query search would perform logical 'and' or logical 'or' operation |
| isWildCardSearch | Boolean | Performs wildcard search |
| count | Number | No of records retrieved based on the search query |
| name | String | required Name of named list |
| modelType | String | required Name of Associated data Collection on which named list is created |
| inclusionParams | String | Selection criteria |
| refreshDate | Date | Date on which it refreshed |
| query | String | mongodb query generated using inclusionparams |
| refreshedBy | ObjectId | Member who last refreshed this. |
The object contains common fields
Read all Namedlists
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/namedlists HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Namedlist objects.
This methods returns all namedlists in the system.
HTTP Request
GET /api/v1/namedlists
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| namedlists | Array | set of Namedlist objects |
| status | Number | Status Codes. |
Read Namedlist by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists/59de97de584b770052aab641", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists/59de97de584b770052aab641"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists/59de97de584b770052aab641");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists/59de97de584b770052aab641")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists/59de97de584b770052aab641',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/namedlists/59de97de584b770052aab641 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists/59de97de584b770052aab641 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists/59de97de584b770052aab641")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Namedlist object.
This method returns the specified namedlist.
HTTP Request
GET /api/v1/namedlists/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from Namedlist structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| namedlist | Object | Namedlist object |
| status | Number | Status Codes. |
Create Namedlist
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"name": "US2018P2HOTSANDWICH",
"modelType": "Product",
"isWildCardSearch": "false",
"inclusionParams": "{\"internalCode\":{\"isIncluded\":true,\"type\":\"string\",\"searchStr\":\"345512,345248,344403,345517,345245,345519,345526,345518,347457\",\"expr\":null,\"ids\":null}}",
"isORQuery": "false",
"type": "Dynamic"
})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"isORQuery\": \"false\",\n \"type\": \"Dynamic\",\n \"modelType\": \"Product\",\n \"isWildCardSearch\": \"false\",\n \"name\": \"US2018P2HOTSANDWICH\",\n \"inclusionParams\": \"{"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"type": "Dynamic",
"isORQuery": "false",
"inclusionParams": "{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403,345517,345245,345519,345526,345518,347457","expr":null,"ids":null}}",
"isWildCardSearch": "false",
"modelType": "Product",
"name": "US2018P2HOTSANDWICH"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/namedlists HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"type": "Dynamic",
"isORQuery": "false",
"inclusionParams": "{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403,345517,345245,345519,345526,345518,347457","expr":null,"ids":null}}",
"isWildCardSearch": "false",
"modelType": "Product",
"name": "US2018P2HOTSANDWICH"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"type": "Dynamic",
"isORQuery": "false",
"inclusionParams": "{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403,345517,345245,345519,345526,345518,347457","expr":null,"ids":null}}",
"isWildCardSearch": "false",
"modelType": "Product",
"name": "US2018P2HOTSANDWICH"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("{
"type": "Dynamic",
"isORQuery": "false",
"inclusionParams": "{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403,345517,345245,345519,345526,345518,347457","expr":null,"ids":null}}",
"isWildCardSearch": "false",
"modelType": "Product",
"name": "US2018P2HOTSANDWICH"
}".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Namedlist object.
This method creates a new namedlist.
HTTP Request
POST /api/v1/namedlists/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| namedlist | Object | Namedlist object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| namedlist | Object | Namedlist object |
| status | Number | Status Codes. |
Update Namedlist by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists/59e918777e09760050c8272d", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"isWildCardSearch": "true",
"inclusionParams": "{\"internalCode\":{\"isIncluded\":true,\"type\":\"string\",\"searchStr\":\"345512,345248,344403\",\"expr\":null,\"ids\":null}}"
})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.method("PUT", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"inclusionParams\": \"{"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"inclusionParams": "{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403","expr":null,"ids":null}}",
"isWildCardSearch": "true"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/namedlists/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"inclusionParams": "{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403","expr":null,"ids":null}}",
"isWildCardSearch": "true"
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"inclusionParams": "{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403","expr":null,"ids":null}}",
"isWildCardSearch": "true"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("{
"inclusionParams": "{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403","expr":null,"ids":null}}",
"isWildCardSearch": "true"
}".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Namedlist object.
This method updates the specified namedlist.
HTTP Request
PUT /api/v1/namedlists/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Value references to "_id" field from Namedlist structure. |
| namedlist | Object | Namedlist object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| namedlist | Object | Namedlist object |
| status | Number | Status Codes. |
Delete Namedlist by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists/59e918777e09760050c8272d", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/namedlists/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlists/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified namedlist.
HTTP Request
DELETE /api/v1/namedlists/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from Namedlist`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Refresh Namedlist
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlist/refresh/5dcd0ef1057893003ea02516", {
method: "PATCH",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJCYndYQXVFdnMxUnlmV3B6alplV0NHaXBZMHQ0SGIvYXk1NW91eUt0aWtoR3B4QjVDNitwVzRPZC96SE5Od3BwTHd1QTNLRDErNkN3NVhqclJVRVFqY3ZpTWhyTmdJVWNaVUMyZ3V6UHhNQ3M4R3Vtb3BHWFVPa2sxZE1wMXdYM09JdFh0WWlPWUEwYjJLbWVsbVM5b1Jlek5VM1lUZEF1Z3JDemlhS2RHRkJ1NXRuSlNCa2ZPWDlZcTJlYSt4RFciLCJleHAiOjE1NzM3MzY5NjI2MTgsImlhdCI6MTU3MzcwODE2Mn0.BuRM0UM0TCPuNSaEaH6j9s9ukodAncsM6LlCi_ZssxY",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlist/refresh/5dcd0ef1057893003ea02516"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJCYndYQXVFdnMxUnlmV3B6alplV0NHaXBZMHQ0SGIvYXk1NW91eUt0aWtoR3B4QjVDNitwVzRPZC96SE5Od3BwTHd1QTNLRDErNkN3NVhqclJVRVFqY3ZpTWhyTmdJVWNaVUMyZ3V6UHhNQ3M4R3Vtb3BHWFVPa2sxZE1wMXdYM09JdFh0WWlPWUEwYjJLbWVsbVM5b1Jlek5VM1lUZEF1Z3JDemlhS2RHRkJ1NXRuSlNCa2ZPWDlZcTJlYSt4RFciLCJleHAiOjE1NzM3MzY5NjI2MTgsImlhdCI6MTU3MzcwODE2Mn0.BuRM0UM0TCPuNSaEaH6j9s9ukodAncsM6LlCi_ZssxY")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.method("PATCH", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Patch, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlist/refresh/5dcd0ef1057893003ea02516");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJCYndYQXVFdnMxUnlmV3B6alplV0NHaXBZMHQ0SGIvYXk1NW91eUt0aWtoR3B4QjVDNitwVzRPZC96SE5Od3BwTHd1QTNLRDErNkN3NVhqclJVRVFqY3ZpTWhyTmdJVWNaVUMyZ3V6UHhNQ3M4R3Vtb3BHWFVPa2sxZE1wMXdYM09JdFh0WWlPWUEwYjJLbWVsbVM5b1Jlek5VM1lUZEF1Z3JDemlhS2RHRkJ1NXRuSlNCa2ZPWDlZcTJlYSt4RFciLCJleHAiOjE1NzM3MzY5NjI2MTgsImlhdCI6MTU3MzcwODE2Mn0.BuRM0UM0TCPuNSaEaH6j9s9ukodAncsM6LlCi_ZssxY");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlist/refresh/5dcd0ef1057893003ea02516")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJCYndYQXVFdnMxUnlmV3B6alplV0NHaXBZMHQ0SGIvYXk1NW91eUt0aWtoR3B4QjVDNitwVzRPZC96SE5Od3BwTHd1QTNLRDErNkN3NVhqclJVRVFqY3ZpTWhyTmdJVWNaVUMyZ3V6UHhNQ3M4R3Vtb3BHWFVPa2sxZE1wMXdYM09JdFh0WWlPWUEwYjJLbWVsbVM5b1Jlek5VM1lUZEF1Z3JDemlhS2RHRkJ1NXRuSlNCa2ZPWDlZcTJlYSt4RFciLCJleHAiOjE1NzM3MzY5NjI2MTgsImlhdCI6MTU3MzcwODE2Mn0.BuRM0UM0TCPuNSaEaH6j9s9ukodAncsM6LlCi_ZssxY"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlist/refresh/5dcd0ef1057893003ea02516',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJCYndYQXVFdnMxUnlmV3B6alplV0NHaXBZMHQ0SGIvYXk1NW91eUt0aWtoR3B4QjVDNitwVzRPZC96SE5Od3BwTHd1QTNLRDErNkN3NVhqclJVRVFqY3ZpTWhyTmdJVWNaVUMyZ3V6UHhNQ3M4R3Vtb3BHWFVPa2sxZE1wMXdYM09JdFh0WWlPWUEwYjJLbWVsbVM5b1Jlek5VM1lUZEF1Z3JDemlhS2RHRkJ1NXRuSlNCa2ZPWDlZcTJlYSt4RFciLCJleHAiOjE1NzM3MzY5NjI2MTgsImlhdCI6MTU3MzcwODE2Mn0.BuRM0UM0TCPuNSaEaH6j9s9ukodAncsM6LlCi_ZssxY',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PATCH /api/v1/namedlist/refresh/5dcd0ef1057893003ea02516 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJCYndYQXVFdnMxUnlmV3B6alplV0NHaXBZMHQ0SGIvYXk1NW91eUt0aWtoR3B4QjVDNitwVzRPZC96SE5Od3BwTHd1QTNLRDErNkN3NVhqclJVRVFqY3ZpTWhyTmdJVWNaVUMyZ3V6UHhNQ3M4R3Vtb3BHWFVPa2sxZE1wMXdYM09JdFh0WWlPWUEwYjJLbWVsbVM5b1Jlek5VM1lUZEF1Z3JDemlhS2RHRkJ1NXRuSlNCa2ZPWDlZcTJlYSt4RFciLCJleHAiOjE1NzM3MzY5NjI2MTgsImlhdCI6MTU3MzcwODE2Mn0.BuRM0UM0TCPuNSaEaH6j9s9ukodAncsM6LlCi_ZssxY
Content-Type: application/json
cache-control: no-cache
curl -X PATCH \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlist/refresh/5dcd0ef1057893003ea02516 \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJCYndYQXVFdnMxUnlmV3B6alplV0NHaXBZMHQ0SGIvYXk1NW91eUt0aWtoR3B4QjVDNitwVzRPZC96SE5Od3BwTHd1QTNLRDErNkN3NVhqclJVRVFqY3ZpTWhyTmdJVWNaVUMyZ3V6UHhNQ3M4R3Vtb3BHWFVPa2sxZE1wMXdYM09JdFh0WWlPWUEwYjJLbWVsbVM5b1Jlek5VM1lUZEF1Z3JDemlhS2RHRkJ1NXRuSlNCa2ZPWDlZcTJlYSt4RFciLCJleHAiOjE1NzM3MzY5NjI2MTgsImlhdCI6MTU3MzcwODE2Mn0.BuRM0UM0TCPuNSaEaH6j9s9ukodAncsM6LlCi_ZssxY' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlist/refresh/5dcd0ef1057893003ea02516")!
var request = URLRequest(url: url)
request.httpMethod = "PATCH"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJCYndYQXVFdnMxUnlmV3B6alplV0NHaXBZMHQ0SGIvYXk1NW91eUt0aWtoR3B4QjVDNitwVzRPZC96SE5Od3BwTHd1QTNLRDErNkN3NVhqclJVRVFqY3ZpTWhyTmdJVWNaVUMyZ3V6UHhNQ3M4R3Vtb3BHWFVPa2sxZE1wMXdYM09JdFh0WWlPWUEwYjJLbWVsbVM5b1Jlek5VM1lUZEF1Z3JDemlhS2RHRkJ1NXRuSlNCa2ZPWDlZcTJlYSt4RFciLCJleHAiOjE1NzM3MzY5NjI2MTgsImlhdCI6MTU3MzcwODE2Mn0.BuRM0UM0TCPuNSaEaH6j9s9ukodAncsM6LlCi_ZssxY", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Namedlist object.
This method refreshes the specified namedlist.
HTTP Request
PATCH /api/v1/namedlist/refresh/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from Namedlist structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| namedlist | Object | Namedlist object |
| status | Number | Status Codes. |
Refresh All Namedlist Object
| Fields | Description |
|---|---|
| name | name of the job. |
| status | status of the job. |
| params.query | query to select the namedlists to be refreshed. |
| submitTime | At the time of submission of job. |
| error | error while submitting the job. |
{
"name": "NamedList Refresh",
"status": "Running",
"params": [
{
"query": "{\"$and\":[{\"name\":{\"$in\":[\"test_namedlist\"]}}],\"org\":\"5c58d8570bf24c075fb5886c\"}",
"user": "5c58d8570bf24c075fb5886b"
}
],
"submitTime": "2019-11-19T05:13:21.920Z",
"error": {},
"org": "5c58d8570bf24c075fb5886c",
"_id": "5dd379f1b17c05003fefb834",
"createdAt": "2019-11-19T05:13:21.920Z",
"updatedAt": "2019-11-19T05:13:21.920Z",
"createdBy": "5c58d8570bf24c075fb5886b",
"updatedBy": "5c58d8570bf24c075fb5886b"
}
Refresh All Namedlist
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlist/refreshall", {
method: "PATCH",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"queryParams": "{\"name\":{\"isIncluded\":true,\"type\":\"string\",\"searchStr\":\"test_namedlist\",\"expr\":null,\"ids\":null}}"
})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlist/refreshall"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.method("PATCH", HttpRequest.BodyPublishers.ofString("{\n \"queryParams\": \"{\\\"name\\\":{\\\"isIncluded\\\":true,\\\"type\\\":\\\"string\\\",\\\"searchStr\\\":\\\"test_namedlist\\\",\\\"expr\\\":null,\\\"ids\\\":null}}\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Patch, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlist/refreshall");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{
\"queryParams\": \"{\\\\\"name\\\\\":{\\\\\"isIncluded\\\\\":true,\\\\\"type\\\\\":\\\\\"string\\\\\",\\\\\"searchStr\\\\\":\\\\\"test_namedlist\\\\\",\\\\\"expr\\\\\":null,\\\\\"ids\\\\\":null}}\"
}", Encoding.UTF8, "undefined");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlist/refreshall")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"queryParams\": \"{\\\"name\\\":{\\\"isIncluded\\\":true,\\\"type\\\":\\\"string\\\",\\\"searchStr\\\":\\\"test_namedlist\\\",\\\"expr\\\":null,\\\"ids\\\":null}}\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlist/refreshall',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"queryParams": "{\\"name\\":{\\"isIncluded\\":true,\\"type\\":\\"string\\",\\"searchStr\\":\\"test_namedlist\\",\\"expr\\":null,\\"ids\\":null}}"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PATCH /api/v1/namedlist/refreshall HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo
Content-Type: application/json
cache-control: no-cache
{
"queryParams": "{\"name\":{\"isIncluded\":true,\"type\":\"string\",\"searchStr\":\"test_namedlist\",\"expr\":null,\"ids\":null}}"
}------WebKitFormBoundary7MA4YWxkTrZu0gW--
curl -X PATCH \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlist/refreshall \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache' \
-d '{
"queryParams": "{\"name\":{\"isIncluded\":true,\"type\":\"string\",\"searchStr\":\"test_namedlist\",\"expr\":null,\"ids\":null}}"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/namedlist/refreshall")!
var request = URLRequest(url: url)
request.httpMethod = "PATCH"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"queryParams": "{\"name\":{\"isIncluded\":true,\"type\":\"string\",\"searchStr\":\"test_namedlist\",\"expr\":null,\"ids\":null}}"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Namedlist refresh object.
This method refreshes all the namedlists. We can also select the specific namedlists to be refreshed by querying or by listing ids in ids array. This method calls the namedlist refresh job. The job is submitted with status running and processes in the background.
HTTP Request
PATCH /api/v1/namedlist/refreshall
Input Arguments
| Name | Type | Description |
|---|---|---|
| ids | Array of namedlist ids | Value references to "_id" field from Namedlist structure. |
| queryParams | String | Selection Criteria |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| namedlist refresh | Object | Namedlist refresh object |
| status | Number | Status Codes. |
Notes
This API is to add service notes in our system.
Notes Structure
Sample Notes Object
{
"note": "Added 10 points",
"memberId": "600a5cce9a48590040859db8",
"org": "5f107084a5ed8700bc09e5ec",
"_id": "600e685d9a48590040859f2d",
"createdAt": "2021-01-25T06:42:37.750Z",
"updatedAt": "2021-01-25T06:51:20.511Z",
"createdBy": "5f107084a5ed8700bc09e5eb",
"updatedBy": "5f107084a5ed8700bc09e5eb"
}
| field | Type/Format | Description |
|---|---|---|
| note | String | required Note |
| memberId | ObjectId | required _id field of the Member that's associated with the note. |
The object contains common fields
Read all Notes
var token = 'eyJ0eXAiOiJKV1QiL';
var request = require('superagent');
request
.GET('https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/notes')
.set('Content-Type', 'application/json')
.set('Authorization', 'Bearer ' + token)
.end(function(res) {
if (res.statusCode === 200){
var notes = JSON.parse(res.text);
}
});
The above command returns an array of Notes objects.
HTTP Request
GET /api/v1/notes
This method retrieves all notes from the API. The result is always an array.
If the API returns no notes, the result is an empty array.
You can see the full Notes structure.
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| notes | Array | set of Notes objects. |
| status | Number | Status Codes. |
Read Note by ID
var token = 'eyJ0eXAiOiJKV1QiL';
var id = '5575cc7bbee6c00300164e22';
var request = require('superagent');
request
.GET('https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/notes/' + id)
.set('Content-Type', 'application/json')
.set('Authorization', 'Bearer ' + token)
.end(function(res) {
if (res.statusCode === 200) {
var note = JSON.parse(res.text);
}
});
The above command returns a Notes object.
This method retrieves a note by it's ID from the API. The result is always an object. If no notes meet the criteria, an empty object is returned. You can see the full Notes structure.
HTTP Request
GET /api/v1/notes/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| note | Object | Note object retrieved based on the id passed with Notes structure. |
| status | Number | Status Codes. |
Create Notes
var token = 'eyJ0eXAiOiJKV1QiL';
var newNote = {
"note":"Added points to us cups purse.",
"memberId": "5f107084a5ed8700bc09e5ec"
};
var request = require('superagent');
request
.POST('https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/notes/')
.set('Content-Type', 'application/json')
.set('Authorization', 'Bearer ' + token)
.send(newNote)
.end(function(res) {
if (res.statusCode === 201){
var note = JSON.parse(res.text);
}
});
The above command returns a Note object.
This method creates a Note through the API. The result is always an object.
HTTP Request
POST /api/v1/notes
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| newNote | Object | New data to save in RCX API with Notes structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| note | Object | New data to save in RCX API with Notes structure. |
| status | Number | Status Codes. |
Update Note by ID
var token = 'eyJ0eXAiOiJKV1QiL';
var id = '55845322979ad50300d1c7b8';
var newNote = {
"note":"updated note: Added points to US Points",
"memberId": "5f107084a5ed8700bc09e5ec"
};
var request = require('superagent');
request
.PUT('https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/notes/' + id)
.set('Content-Type', 'application/json')
.set('Authorization', 'Bearer ' + token)
.send(newNote)
.end(function(res) {
if (res.statusCode === 201) {
var note = JSON.parse(res.text);
}
});
The above command returns a Note object.
This method updates sent fields with the new values.
HTTP Request
PUT /api/v1/notes/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. |
| newNote | Object | New data to save in RCX API with Notes structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| note | Object | New data to save in RCX API with Notes structure. |
| status | Number | Status Codes. |
Delete Note by ID
var token = 'eyJ0eXAiOiJKV1QiL';
var id = '55845322979ad50300d1c7b8';
var request = require('superagent');
request
.DELETE('https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/notes/' + id)
.set('Content-Type', 'application/json')
.set('Authorization', 'Bearer ' + token)
.end(function(res) {
if (res.statusCode === 204) {
var myRes = JSON.parse(res.text);
}
});
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes one Note from the API.
HTTP Request
DELETE /api/v1/notes/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Users
This API is compliant with the query interface described in Advanced Queries.
Users are those who can access RCX.
User Structure
{
"org": "5c58d8570bf24c075fb5886c",
"login": "test3",
"email": "test3.com",
"blocked": false,
"active": true,
"tokenExpirationTime": 480,
"sessMgmtFlag": true,
"sessMultiFlag": true,
"_id": "5c58d8570bf24c075fb5886b",
"createdAt": "2019-02-05T00:27:03.073Z",
"updatedAt": "2019-11-06T09:32:03.527Z",
"createdBy": "5c58d8570bf24c075fb5886b"
}
| field | Type/Format | Description |
|---|---|---|
| _id | ObjectId | required unique Unique ID |
| login | String | required Name of the user. |
| String | required unique Mail id of the user. |
|
| password | String | required Password to login. |
| blocked | Boolean | default: false Block status of user |
| active | Boolean | default: true Active status of user |
| uberFlag | Boolean | default: false |
| invalidLogIns | Number | default: 0 Number of the invalid logins by the user. |
| resetToken | String | Token assigned to user temporarily when requested for resetPassword. |
| resetTimestamp | Date | Period while the reset token is valid. |
| tokenExpirationTime | Number | default: 480 Expiration time of the token given to user. |
| logoutNum | Number | default: 0 Number of times user has been logout |
| lastAccess | Date | Last Access date by the user. |
| sessMgmtFlag | Boolean | default: true Whether to track UI sessions or not |
| sessMultiFlag | Boolean | default: true Whether to allow multiple sessions or not |
| activeSessions | Number | default: 0 Number of sessions active at some particular point of time |
| division | ObjectId | It provides restriction to user groups. |
| limitsEnabled | Boolean | Whether limits are enabled for the user |
| oktaUser | Boolean | Indicates whether the user is okta user |
| possibleDivisions | Array | List of divisions that the user can belong to |
| divisionCheckEnabled | Boolean | Whether division-based access control checks are enabled |
| empName | String | Employee's full name |
| empNumber | String | Employee's unique identification number |
| partner | ObjectId | Reference to the associated partner Id |
The object contains common fields
Read all Users
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/users HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of User objects.
This methods returns all users in the system.
HTTP Request
GET /api/v1/users
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| users | Array | set of User objects |
| status | Number | Status Codes. |
Read User by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users/59de97de584b770052aab641", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users/59de97de584b770052aab641"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users/59de97de584b770052aab641");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users/59de97de584b770052aab641")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users/59de97de584b770052aab641',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/users/59de97de584b770052aab641 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users/59de97de584b770052aab641 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users/59de97de584b770052aab641")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a User object.
This method returns the specified user.
HTTP Request
GET /api/v1/users/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from User structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| user | Object | User object |
| status | Number | Status Codes. |
Create User
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"email": "test3.com",
"login": "test3"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"email": "test3.com",
"login": "test3"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"email": "test3.com",
"login": "test3"
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"email": "test3.com",
"login": "test3"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"email": "test3.com",
"login": "test3"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/users HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"email": "test3.com",
"login": "test3"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"email": "test3.com",
"login": "test3"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"email": "test3.com",
"login": "test3"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a User object.
This method creates a new user.
HTTP Request
POST /api/v1/users/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| user | Object | User object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| user | Object | User object |
| status | Number | Status Codes. |
Update User by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users/59e918777e09760050c8272d", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"email": "test4.com",
"tokenExpirationTime": "520"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"email": "test4.com",
"tokenExpirationTime": "520"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"email": "test4.com",
"tokenExpirationTime": "520"
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"email": "test4.com",
"tokenExpirationTime": "520"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"email": "test4.com",
"tokenExpirationTime": "520"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/users/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"email": "test4.com",
"tokenExpirationTime": "520"
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"email": "test4.com",
"tokenExpirationTime": "520"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"email": "test4.com",
"tokenExpirationTime": "520"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a User object.
This method updates the specified user.
HTTP Request
PUT /api/v1/users/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Value references to "_id" field from User structure. |
| user | Object | User object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| user | Object | User object |
| status | Number | Status Codes. |
Delete User by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users/59e918777e09760050c8272d", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/users/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/users/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified user.
HTTP Request
DELETE /api/v1/users/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from User`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Reset Password Object
{
"userID": "sev/Vamsikrishna",
"token": "H02hxiGx1knapu8CUMux9nzKIeYvpViYhuESxrhDk8aYx0lljPvWWMIAHOw1uJpJdGEdU/t8rugOcZAA4qYsQA=="
}
| field | Description |
|---|---|
| userID | userName of the registered user. |
| token | resetToken of the registered user. |
Reset Password
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/reset-password", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"userID": "sev/Vamsikrishna",
"token": "H02hxiGx1knapu8CUMux9nzKIeYvpViYhuESxrhDk8aYx0lljPvWWMIAHOw1uJpJdGEdU/t8rugOcZAA4qYsQA=="
})
});
const data = await response.json();
console.log(data);
String body = """
{
"userID": "sev/Vamsikrishna",
"token": "H02hxiGx1knapu8CUMux9nzKIeYvpViYhuESxrhDk8aYx0lljPvWWMIAHOw1uJpJdGEdU/t8rugOcZAA4qYsQA=="
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/reset-password"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/reset-password");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{
\"userID\": \"sev/Vamsikrishna\",
\"token\": \"H02hxiGx1knapu8CUMux9nzKIeYvpViYhuESxrhDk8aYx0lljPvWWMIAHOw1uJpJdGEdU/t8rugOcZAA4qYsQA==\"
}", Encoding.UTF8, "undefined");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/reset-password")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"userID": "sev/Vamsikrishna",
"token": "H02hxiGx1knapu8CUMux9nzKIeYvpViYhuESxrhDk8aYx0lljPvWWMIAHOw1uJpJdGEdU/t8rugOcZAA4qYsQA=="
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/reset-password',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"userID": "sev/Vamsikrishna",
"token": "H02hxiGx1knapu8CUMux9nzKIeYvpViYhuESxrhDk8aYx0lljPvWWMIAHOw1uJpJdGEdU/t8rugOcZAA4qYsQA=="
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/reset-password HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o
Content-Type: application/json
cache-control: no-cache
{
"userID": "sev/Vamsikrishna",
"token": "H02hxiGx1knapu8CUMux9nzKIeYvpViYhuESxrhDk8aYx0lljPvWWMIAHOw1uJpJdGEdU/t8rugOcZAA4qYsQA=="
}------WebKitFormBoundary7MA4YWxkTrZu0gW--
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/reset-password \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache' \
-d '{
"userID": "sev/Vamsikrishna",
"token": "H02hxiGx1knapu8CUMux9nzKIeYvpViYhuESxrhDk8aYx0lljPvWWMIAHOw1uJpJdGEdU/t8rugOcZAA4qYsQA=="
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/reset-password")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"userID": "sev/Vamsikrishna",
"token": "H02hxiGx1knapu8CUMux9nzKIeYvpViYhuESxrhDk8aYx0lljPvWWMIAHOw1uJpJdGEdU/t8rugOcZAA4qYsQA=="
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
{
"message": "If the user you entered was a valid one, you should receive an email with further instructions."
}
The above command returns the object shown with property message.
This method sends a link to the registered user's email address to set or update the password.
HTTP Request
POST /api/v1/reset-password/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| user | Object | User object |
| client | String | It helps to send reset password link to respective client. Ex:client=mcp |
Output Arguments
| Name | Type | Description |
|---|---|---|
| message | Object | The message returned after the email has been sent to the registered user. |
| status | Number | Status Codes. |
My Account
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/myaccount", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/myaccount"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/myaccount");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/myaccount")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/myaccount',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/myaccount HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o
Content-Type: application/json
cache-control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/myaccount \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/myaccount")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
{
"id": "5c58d8570bf24c075fb5886b",
"login": "admin",
"email": "change@sev.changeme.com"
}
The above command returns the id, login and email of the User object.
This method returns the account of the user.
HTTP Request
GET /api/v1/myaccount/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| user | Object | Returns id, login and email of User object. |
| status | Number | Status Codes. |
Change Password
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/myaccount/change-password", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJueXRnOWpuSkVoUTZ3T2JEM0RZUE9NYXo4WDByMUxiTnA3cUhTdmxGWE9FS0o2NFR6aVQzdmJlS1RRMGh6eXVYWGl6UU45NUh4K0JFRm5IVk1wRXJlVG15bmYxNVFxZXVzRHRGK1A0Ly9XdkhPbEF0ckJVS25MS3BOUzdCNE4xT3JvY1pUdXJtS3lLbGlwRGlCSkswQm80YW10ZExaMFpveDQzRUNNUkhHSk12K3RWMEZzbnZWL1ZTT2I0Z3pxUHgiLCJleHAiOjE1NzQxMDQxMjgyNTcsImlhdCI6MTU3NDA3NTMyOH0.PYzWbom-vbx5gVTPc6caSWPr8CRD4BcEwTqEm5msOCQ",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"oldPassword": "wint00l$@",
"password": "wint00l$!"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"oldPassword": "wint00l$@",
"password": "wint00l$!"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/myaccount/change-password"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJueXRnOWpuSkVoUTZ3T2JEM0RZUE9NYXo4WDByMUxiTnA3cUhTdmxGWE9FS0o2NFR6aVQzdmJlS1RRMGh6eXVYWGl6UU45NUh4K0JFRm5IVk1wRXJlVG15bmYxNVFxZXVzRHRGK1A0Ly9XdkhPbEF0ckJVS25MS3BOUzdCNE4xT3JvY1pUdXJtS3lLbGlwRGlCSkswQm80YW10ZExaMFpveDQzRUNNUkhHSk12K3RWMEZzbnZWL1ZTT2I0Z3pxUHgiLCJleHAiOjE1NzQxMDQxMjgyNTcsImlhdCI6MTU3NDA3NTMyOH0.PYzWbom-vbx5gVTPc6caSWPr8CRD4BcEwTqEm5msOCQ")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/myaccount/change-password");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJueXRnOWpuSkVoUTZ3T2JEM0RZUE9NYXo4WDByMUxiTnA3cUhTdmxGWE9FS0o2NFR6aVQzdmJlS1RRMGh6eXVYWGl6UU45NUh4K0JFRm5IVk1wRXJlVG15bmYxNVFxZXVzRHRGK1A0Ly9XdkhPbEF0ckJVS25MS3BOUzdCNE4xT3JvY1pUdXJtS3lLbGlwRGlCSkswQm80YW10ZExaMFpveDQzRUNNUkhHSk12K3RWMEZzbnZWL1ZTT2I0Z3pxUHgiLCJleHAiOjE1NzQxMDQxMjgyNTcsImlhdCI6MTU3NDA3NTMyOH0.PYzWbom-vbx5gVTPc6caSWPr8CRD4BcEwTqEm5msOCQ");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{
\"oldPassword\": \"wint00l$@\",
\"password\": \"wint00l$!\"
}", Encoding.UTF8, "undefined");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/myaccount/change-password")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJueXRnOWpuSkVoUTZ3T2JEM0RZUE9NYXo4WDByMUxiTnA3cUhTdmxGWE9FS0o2NFR6aVQzdmJlS1RRMGh6eXVYWGl6UU45NUh4K0JFRm5IVk1wRXJlVG15bmYxNVFxZXVzRHRGK1A0Ly9XdkhPbEF0ckJVS25MS3BOUzdCNE4xT3JvY1pUdXJtS3lLbGlwRGlCSkswQm80YW10ZExaMFpveDQzRUNNUkhHSk12K3RWMEZzbnZWL1ZTT2I0Z3pxUHgiLCJleHAiOjE1NzQxMDQxMjgyNTcsImlhdCI6MTU3NDA3NTMyOH0.PYzWbom-vbx5gVTPc6caSWPr8CRD4BcEwTqEm5msOCQ"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"oldPassword": "wint00l$@",
"password": "wint00l$!"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/myaccount/change-password',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJueXRnOWpuSkVoUTZ3T2JEM0RZUE9NYXo4WDByMUxiTnA3cUhTdmxGWE9FS0o2NFR6aVQzdmJlS1RRMGh6eXVYWGl6UU45NUh4K0JFRm5IVk1wRXJlVG15bmYxNVFxZXVzRHRGK1A0Ly9XdkhPbEF0ckJVS25MS3BOUzdCNE4xT3JvY1pUdXJtS3lLbGlwRGlCSkswQm80YW10ZExaMFpveDQzRUNNUkhHSk12K3RWMEZzbnZWL1ZTT2I0Z3pxUHgiLCJleHAiOjE1NzQxMDQxMjgyNTcsImlhdCI6MTU3NDA3NTMyOH0.PYzWbom-vbx5gVTPc6caSWPr8CRD4BcEwTqEm5msOCQ',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"oldPassword": "wint00l$@",
"password": "wint00l$!"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/myaccount/change-password HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJueXRnOWpuSkVoUTZ3T2JEM0RZUE9NYXo4WDByMUxiTnA3cUhTdmxGWE9FS0o2NFR6aVQzdmJlS1RRMGh6eXVYWGl6UU45NUh4K0JFRm5IVk1wRXJlVG15bmYxNVFxZXVzRHRGK1A0Ly9XdkhPbEF0ckJVS25MS3BOUzdCNE4xT3JvY1pUdXJtS3lLbGlwRGlCSkswQm80YW10ZExaMFpveDQzRUNNUkhHSk12K3RWMEZzbnZWL1ZTT2I0Z3pxUHgiLCJleHAiOjE1NzQxMDQxMjgyNTcsImlhdCI6MTU3NDA3NTMyOH0.PYzWbom-vbx5gVTPc6caSWPr8CRD4BcEwTqEm5msOCQ
Content-Type: application/json
cache-control: no-cache
{
"oldPassword": "wint00l$@",
"password": "wint00l$!"
}------WebKitFormBoundary7MA4YWxkTrZu0gW--
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/myaccount/change-password \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJueXRnOWpuSkVoUTZ3T2JEM0RZUE9NYXo4WDByMUxiTnA3cUhTdmxGWE9FS0o2NFR6aVQzdmJlS1RRMGh6eXVYWGl6UU45NUh4K0JFRm5IVk1wRXJlVG15bmYxNVFxZXVzRHRGK1A0Ly9XdkhPbEF0ckJVS25MS3BOUzdCNE4xT3JvY1pUdXJtS3lLbGlwRGlCSkswQm80YW10ZExaMFpveDQzRUNNUkhHSk12K3RWMEZzbnZWL1ZTT2I0Z3pxUHgiLCJleHAiOjE1NzQxMDQxMjgyNTcsImlhdCI6MTU3NDA3NTMyOH0.PYzWbom-vbx5gVTPc6caSWPr8CRD4BcEwTqEm5msOCQ' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache' \
-d '{
"oldPassword": "wint00l$@",
"password": "wint00l$!"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/myaccount/change-password")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJueXRnOWpuSkVoUTZ3T2JEM0RZUE9NYXo4WDByMUxiTnA3cUhTdmxGWE9FS0o2NFR6aVQzdmJlS1RRMGh6eXVYWGl6UU45NUh4K0JFRm5IVk1wRXJlVG15bmYxNVFxZXVzRHRGK1A0Ly9XdkhPbEF0ckJVS25MS3BOUzdCNE4xT3JvY1pUdXJtS3lLbGlwRGlCSkswQm80YW10ZExaMFpveDQzRUNNUkhHSk12K3RWMEZzbnZWL1ZTT2I0Z3pxUHgiLCJleHAiOjE1NzQxMDQxMjgyNTcsImlhdCI6MTU3NDA3NTMyOH0.PYzWbom-vbx5gVTPc6caSWPr8CRD4BcEwTqEm5msOCQ", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"oldPassword": "wint00l$@",
"password": "wint00l$!"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
{
"message": "Password is changed sucessfully."
}
The above command returns the object shown with property message.
This method is to change the password of the user.
HTTP Request
POST /api/v1/myaccount/change-password/
Input Arguments
| Name | Type | Description |
|---|---|---|
| user | Object | oldPassword and password(new password) of the user |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| message | Object | Returns the message saying Password is changed sucessfully. |
| status | Number | Status Codes. |
Forgot UserId
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/send-userid", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"email": "vkrishna45678@gmail.com"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"email": "vkrishna45678@gmail.com"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/send-userid"))
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/send-userid");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{
\"email\":\"vkrishna45678@gmail.com\"
}", Encoding.UTF8, "undefined");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/send-userid")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"email": "vkrishna45678@gmail.com"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/send-userid',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"email": "vkrishna45678@gmail.com"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/send-userid HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Content-Type: application/json
cache-control: no-cache
{
"email":"vkrishna45678@gmail.com"
}------WebKitFormBoundary7MA4YWxkTrZu0gW--
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/send-userid \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache' \
-d '{
"email":"vkrishna45678@gmail.com"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/send-userid")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"email": "vkrishna45678@gmail.com"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
{
"message": "If the email you entered was a valid user email, you should receive an email with further instructions."
}
The above command returns the object shown with property message.
This method sends the user id to registered email address of user when user forgets.
HTTP Request
POST /api/v1/send-userid/
Input Arguments
| Name | Type | Description |
|---|---|---|
| Object | email of the user |
Output Arguments
| Name | Type | Description |
|---|---|---|
| message | Object | The message returned after the email has been sent to the registered user. |
| status | Number | Status Codes. |
Locations
This API is compliant with the query interface described in Advanced Queries.
Locations are either physical or online sites where business is trasacted and activites are generated.
Location Structure
{
"name": "Corporate",
"desc": "Corporate office",
"city": "Seattle",
"state": "WA",
"country": "USA",
"zipCode": "98119",
"timeZone": "America/Los Angeles",
"number": "0000",
"_id": "59de97de584b770052aab641",
"createdAt": "2017-10-11T22:14:54.688Z",
"updatedAt": "2017-10-12T04:23:07.667Z",
"createdBy": "59de84708d69b9006b8295df",
"updatedBy": "59de84708d69b9006b8295df",
"geoPoint": {"coordinates":["60","50"]},
"divisions": ["59de86b7584b770052aaacb1", "59de86b7584b770052aaacb2"],
}
| field | Type/Format | Description |
|---|---|---|
| _id | ObjectId | required unique Unique ID |
| name | String | required unique the name of the location |
| number | String | unique location number |
| desc | String | the description of the location |
| city | String | location city |
| state | String | location state |
| zipCode | String | location zipCode |
| country | String | location Country |
| timeZone | String | “Area/Location” based time zone. |
| geoPoint | Object | coordinates sub-object with latitude and longitude |
| status | String | Status of the location. |
| divisions | Array | Array of ObjectId references to divisions. This field provides restriction to user groups. |
The object contains common fields
Read all Locations
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/locations HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Location objects.
This methods returns all locations in the system.
HTTP Request
GET /api/v1/locations
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| locations | Array | set of Location objects |
| status | Number | Status Codes. |
Read Location by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/59de97de584b770052aab641", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/59de97de584b770052aab641"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/59de97de584b770052aab641");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/59de97de584b770052aab641")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/59de97de584b770052aab641',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/locations/59de97de584b770052aab641 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/59de97de584b770052aab641 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/59de97de584b770052aab641")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Location object.
This method returns the specified location.
HTTP Request
GET /api/v1/locations/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from Location structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| location | Object | Location object |
| status | Number | Status Codes. |
Create Location
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
timeZone: 'America/Los Angeles',
name: 'Flagship',
state: 'WA',
zipCode: 98119,
city: 'Seattle',
desc: 'Flagship Store and Central Offices',
number: '9910',
country: 'USA'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString("{\n \"number\": \"9910\",\n \"desc\": \"Flagship Store and Central Offices\",\n \"country\": \"USA\",\n \"city\": \"Seattle\",\n \"zipCode\": 98119,\n \"state\": \"WA\",\n \"name\": \"Flagship\",\n \"timeZone\": \"America/Los Angeles\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"number\": \"9910\",\n \"desc\": \"Flagship Store and Central Offices\",\n \"country\": \"USA\",\n \"city\": \"Seattle\",\n \"zipCode\": 98119,\n \"state\": \"WA\",\n \"name\": \"Flagship\",\n \"timeZone\": \"America/Los Angeles\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"number\": \"9910\",\n \"desc\": \"Flagship Store and Central Offices\",\n \"country\": \"USA\",\n \"city\": \"Seattle\",\n \"zipCode\": 98119,\n \"state\": \"WA\",\n \"name\": \"Flagship\",\n \"timeZone\": \"America/Los Angeles\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"timeZone": "America/Los Angeles",
"state": "WA",
"name": "Flagship",
"zipCode": "98119",
"number": "9910",
"desc": "Flagship Store and Central Offices",
"country": "USA",
"city": "Seattle"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/locations HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"timeZone": "America/Los Angeles",
"state": "WA",
"name": "Flagship",
"zipCode": "98119",
"number": "9910",
"desc": "Flagship Store and Central Offices",
"country": "USA",
"city": "Seattle"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"timeZone": "America/Los Angeles",
"state": "WA",
"name": "Flagship",
"zipCode": "98119",
"number": "9910",
"desc": "Flagship Store and Central Offices",
"country": "USA",
"city": "Seattle"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"timeZone": "America/Los Angeles",
"state": "WA",
"name": "Flagship",
"zipCode": "98119",
"number": "9910",
"desc": "Flagship Store and Central Offices",
"country": "USA",
"city": "Seattle"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Location object.
This method creates a new location.
HTTP Request
POST /api/v1/locations/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| location | Object | Location object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| location | Object | Location object |
| status | Number | Status Codes. |
Update Location by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/59e918777e09760050c8272d", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
desc: 'Flagship Store',
state: 'CA'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString("{\n \"state\": \"CA\",\n \"desc\": \"Flagship Store\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"state\": \"CA\",\n \"desc\": \"Flagship Store\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"state\": \"CA\",\n \"desc\": \"Flagship Store\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"desc": "Flagship Store",
"state": "CA"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/locations/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"desc": "Flagship Store",
"state": "CA"
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"desc": "Flagship Store",
"state": "CA"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"desc": "Flagship Store",
"state": "CA"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Location object.
This method updates the specified location.
HTTP Request
PUT /api/v1/locations/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Value references to "_id" field from Location structure. |
| location | Object | Location object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| location | Object | Location object |
| status | Number | Status Codes. |
Delete Location by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/59e918777e09760050c8272d", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/locations/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified location.
HTTP Request
DELETE /api/v1/locations/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from Location`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Get Location Offers
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/5e7899b48b362c003ffe0e32/offers", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/5e7899b48b362c003ffe0e32/offers"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/5e7899b48b362c003ffe0e32/offers");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/5e7899b48b362c003ffe0e32/offers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/5e7899b48b362c003ffe0e32/offers',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/locations/5e7899b48b362c003ffe0e32/offers HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho
Content-Type: application/json
cache-control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/5e7899b48b362c003ffe0e32/offers \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/5e7899b48b362c003ffe0e32/offers")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of the Reward Policy object.
[
{
"name": "testPolicy1",
"desc": "",
"isAppeasement": false,
"expirationHours": 0,
"numUses": 1,
"perDayLimit": 0,
"perWeekLimit": 0,
"perOfferLimit": 0,
"countLimit": 0,
"redemptions": 0,
"availableRedemptions": 1,
"effectiveDate": "2020-03-23T00:00:00.000Z",
"expirationDate": "2020-03-31T23:59:59.999Z",
"activityBasedExpiration": false,
"expiryWarningDays": [],
"expirationSnapTo": "now",
"allowItemOverlap": false,
"intendedUse": "Global Offer",
"upc": "00000000000111",
"priority": 0,
"program": "5c59005b9a65de010d86057b",
"segments": [],
"mandatorySegments": [],
"canPreview": false,
"org": "5c58d8570bf24c075fb5886c",
"minPurchaseAmount": 0,
"locations": {
"isIncluded": true,
"count": 1,
"inclusionParams": "{\"number\":{\"isIncluded\":true,\"type\":\"string\",\"searchStr\":\"2020\"}}",
"isORQuery": false,
"isWildCardSearch": false,
"namedList": null,
"query": "{\"$and\":[{\"number\":{\"$in\":[\"2020\"]}}]}"
},
"mandatoryProducts": {
"isDisabled": true,
"isIncluded": true,
"inclusionParams": "{}",
"isORQuery": false,
"isWildCardSearch": false,
"query": "{}"
},
"primaryProducts": {
"isDisabled": true,
"isIncluded": true,
"inclusionParams": "{}",
"isORQuery": false,
"isWildCardSearch": false,
"query": "{}"
},
"secondaryProducts": {
"isDisabled": true,
"isORQuery": false,
"isWildCardSearch": false,
"query": "{}"
},
"tertiaryProducts": {
"isDisabled": true,
"isORQuery": false,
"isWildCardSearch": false,
"query": "{}"
},
"excludedProducts": {
"isDisabled": true,
"isIncluded": true,
"inclusionParams": "{}",
"isORQuery": false,
"isWildCardSearch": false,
"query": "{}"
},
"expiryUnit": "Hours",
"expiryValue": 0,
"budget": 0,
"budgetUsed": 0,
"availableBudget": 1,
"discountType": "Mix and Match",
"price": 10,
"pricingType": "Package Percent Off",
"primaryProdPricingType": null,
"primaryProdDiscValue": null,
"primaryProdMaxDisc": null,
"secondaryProductQuantity": null,
"secondaryProdPricingType": null,
"secondaryProdDiscValue": null,
"secondaryProdMaxDisc": null,
"tertiaryProductQuantity": null,
"tertiaryProdPricingType": null,
"tertiaryProdDiscValue": null,
"tertiaryProdMaxDisc": null,
"availability": {
"sunday": {
"isEnabled": true,
"startHours": 0,
"startMins": 0,
"endHours": 23,
"endMins": 59
},
"monday": {
"isEnabled": true,
"startHours": 0,
"startMins": 0,
"endHours": 23,
"endMins": 59
}
},
"upcMapping": [],
"applicableMemberStatus": [],
"eligibilityQuery": "",
"transactionLimit": 0,
"_id": "5e78a0278b362c003ffe0f68",
"createdAt": "2020-03-23T11:40:23.880Z",
"updatedAt": "2020-03-23T11:40:23.880Z",
"createdBy": "5c58d8570bf24c075fb5886b",
"updatedBy": "5c58d8570bf24c075fb5886b",
"ext": {
"couponDefId": "4000000412",
"rewardDefId": "4000000410",
"visibleDate": "",
"testStartDate": "",
"testEndDate": ""
},
"optInFlag": true,
"hasOverride": true
}
]
This method finds all the eligible reward policies (only global offers) that are applicable to the specific location including opt-in/opt-out status.
HTTP Request
GET /api/v1/locations/:locId/offers
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| locId | ObjectId | Reference to "_id" field from location |
| utcOffset | Number | UTC offset (Time difference in minutes from UTC). |
| txnDate | Date | txnDate is used to filter out the reward policies by querying on effectiveDate and expirationDate. effectiveDate: {$lte: options.date}, expirationDate: {$gte: options.date} |
| limit | Number | Used to limit the number of results. |
| skip | Number | Used to skip a number of records (for pagination). |
| query | Object | The query is used to filter out the reward policies retrieved using other fields of it. Ex: {"name": "rewardPolicyName", "isAppeasement":false} |
| select | String | It accepts comma separated string and returns only the fields in select. Ex:select=name,program |
| excludeFuture | Boolean | Excludes future offers when set to true. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| Array | Array | An array of Reward Policy records(only global offers are retrieved). |
| status | Number | Status Codes |
Get Location Promos
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/5e7899b48b362c003ffe0e32/rules", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/5e7899b48b362c003ffe0e32/rules"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/5e7899b48b362c003ffe0e32/rules");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/5e7899b48b362c003ffe0e32/rules")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/5e7899b48b362c003ffe0e32/rules',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/locations/5e7899b48b362c003ffe0e32/rules HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho
Content-Type: application/json
cache-control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/5e7899b48b362c003ffe0e32/rules \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locations/5e7899b48b362c003ffe0e32/rules")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of the Rule object.
[
{
"name": "testRule",
"ruleFolder": null,
"program": "5c59005b9a65de010d86057b",
"conditions": [
{
"name": "testRule",
"logicJSON": "{\"group\":{\"operator\":\"and\",\"rules\":[]}}",
"_id": "5e78a3fa8b362c003ffe0f79"
}
],
"actions": [
{
"name": "testRule",
"logicJSON": "{}",
"_id": "5e78a3fa8b362c003ffe0f7a"
}
],
"effectiveFrom": "2020-03-23T00:00:00.000Z",
"effectiveTo": null,
"priority": 0,
"segments": [],
"mandatorySegments": [],
"ruleExecutionType": "Generic",
"bonusType": "Points",
"bonusValue": 0,
"locations": {
"isIncluded": true,
"count": 1,
"inclusionParams": "{\"number\":{\"isIncluded\":true,\"type\":\"string\",\"searchStr\":\"2020\"}}",
"isORQuery": false,
"isWildCardSearch": false,
"namedList": null,
"query": "{\"$and\":[{\"number\":{\"$in\":[\"2020\"]}}]}"
},
"mandatoryProducts": {
"isDisabled": true,
"isIncluded": true,
"inclusionParams": "{}",
"isORQuery": false,
"isWildCardSearch": false,
"query": "{}"
},
"mandatoryExpectedQty": 0,
"primaryProducts": {
"isDisabled": true,
"isIncluded": true,
"inclusionParams": "{}",
"isORQuery": false,
"isWildCardSearch": false,
"query": "{}"
},
"primaryExpectedQty": 0,
"secondaryProducts": {
"isDisabled": true,
"isIncluded": true,
"inclusionParams": "{}",
"isORQuery": false,
"isWildCardSearch": false,
"query": "{}"
},
"secondaryExpectedQty": 0,
"tertiaryProducts": {
"isDisabled": true,
"isIncluded": true,
"inclusionParams": "{}",
"isORQuery": false,
"isWildCardSearch": false,
"query": "{}"
},
"tertiaryExpectedQty": 0,
"canPreview": false,
"availability": {
"sunday": {
"isEnabled": true,
"startHours": 0,
"startMins": 0,
"endHours": 23,
"endMins": 59
},
"monday": {
"isEnabled": true,
"startHours": 0,
"startMins": 0,
"endHours": 23,
"endMins": 59
}
},
"applicableMemberStatus": [],
"org": "5c58d8570bf24c075fb5886c",
"_id": "5e78a3f88b362c003ffe0f72",
"createdAt": "2020-03-23T11:56:40.515Z",
"updatedAt": "2020-03-23T11:56:40.515Z",
"createdBy": "5c58d8570bf24c075fb5886b",
"updatedBy": "5c58d8570bf24c075fb5886b",
"ext": {
"promoDefId": 4000000414,
"streakEndDate": "",
"testStartDate": "",
"testEndDate": ""
},
"optInFlag": true,
"hasOverride": true
}
]
This method finds all the eligible rules that are applicable to the specific location including opt-in/opt-out status.
HTTP Request
GET /api/v1/locations/:locId/rules
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| locId | ObjectId | Reference to "_id" field from location |
| filter | String | Comma-separated list of what to return - valid values are all and promo. If all then all the rules and for promo only the rules which are in promo ruleFolder (isPromoFolder:true) are retrieved with specific to locId. |
| utcOffset | Number | UTC offset (Time difference in minutes from UTC). |
| txnDate | Date | txnDate is used to filter out the rules by querying on effectiveFrom and effectiveTo. effectiveFrom: {$lte: options.date}, effectiveTo: {$gte: options.date} |
| limit | Number | Used to limit the number of results. |
| skip | Number | Used to skip a number of records (for pagination). |
| query | Object | The query is used to filter out the rules retrieved using other fields of it. Ex: {"ruleFolder": "5e7c63a4d292560049b7f67c", "name":"testRuleF"} |
| select | String | It accepts comma separated string and returns only the fields in select. Ex:select=name,ruleFolder |
Output Arguments
| Name | Type | Description |
|---|---|---|
| Array | Array | An array of Rules records. |
| status | Number | Status Codes |
LocationOverrides
This API is compliant with the query interface described in Advanced Queries.
Location overrides are stores that are opted out of, or opted in to, the reward policies that would normally apply to them.
LocationOverride Structure
{
"targetId": "59df8519f2764809adaccdff",
"targetType": "RewardPolicy",
"locId": "59de84728d69b9006b82963a",
"optInFlag": "true",
"_id": "59de97de584b770052aab641",
"createdAt": "2017-10-11T22:14:54.688Z",
"updatedAt": "2017-10-12T04:23:07.667Z",
"createdBy": "59de84708d69b9006b8295df",
"updatedBy": "59de84708d69b9006b8295df"
}
| field | Type/Format | Description |
|---|---|---|
| _id | ObjectId | required unique Unique ID |
| targetId | ObjectId | required To which object we are applying location overrides |
| targetType | String | required To which the targetId is pointing to (RewardPolicy/Rule) |
| locId | ObjectId | required Which location is opted in/out |
| optInFlag | Boolean | default: false For location opt in:true, opt out:false |
The object contains common fields
Read all LocationOverrides
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/locationoverrides HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of LocationOverride objects.
This methods returns all locationoverrides in the system.
HTTP Request
GET /api/v1/locationoverrides
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| locationoverrides | Array | set of LocationOverride objects |
| status | Number | Status Codes. |
Read LocationOverride by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides/59de97de584b770052aab641", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides/59de97de584b770052aab641"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides/59de97de584b770052aab641");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides/59de97de584b770052aab641")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides/59de97de584b770052aab641',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/locationoverrides/59de97de584b770052aab641 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides/59de97de584b770052aab641 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides/59de97de584b770052aab641")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a LocationOverride object.
This method returns the specified locationoverride.
HTTP Request
GET /api/v1/locationoverrides/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from LocationOverride structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| locationoverride | Object | LocationOverride object |
| status | Number | Status Codes. |
Create LocationOverride
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
targetId: '59df8519f2764809adaccdff',
targetType: 'RewardPolicy',
locId: '59de84728d69b9006b82963a'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString("{\n \"targetId\": \"59df8519f2764809adaccdff\",\n \"targetType\": \"RewardPolicy\",\n \"locId\": \"59de84728d69b9006b82963a\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"targetId\": \"59df8519f2764809adaccdff\",\n \"targetType\": \"RewardPolicy\",\n \"locId\": \"59de84728d69b9006b82963a\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"targetId\": \"59df8519f2764809adaccdff\",\n \"targetType\": \"RewardPolicy\",\n \"locId\": \"59de84728d69b9006b82963a\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"targetId": "59df8519f2764809adaccdff",
"targetType": "RewardPolicy",
"locId": "59de84728d69b9006b82963a"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/locationoverrides HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"targetId": "59df8519f2764809adaccdff",
"targetType": "RewardPolicy",
"locId": "59de84728d69b9006b82963a"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"targetId": "59df8519f2764809adaccdff",
"targetType": "RewardPolicy",
"locId": "59de84728d69b9006b82963a"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"targetId": "59df8519f2764809adaccdff",
"targetType": "RewardPolicy",
"locId": "59de84728d69b9006b82963a"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a LocationOverride object.
This method creates a new locationoverride.
HTTP Request
POST /api/v1/locationoverrides/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| locationoverride | Object | LocationOverride object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| locationoverride | Object | LocationOverride object |
| status | Number | Status Codes. |
Update LocationOverride by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides/59e918777e09760050c8272d", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
optInFlag: 'false'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString("{\n \"optInFlag\": \"false\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"optInFlag\": \"false\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"optInFlag\": \"false\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"optInFlag": "false"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/locationoverrides/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"optInFlag": "false"
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"optInFlag": "false"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"optInFlag": "false"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a LocationOverride object.
This method updates the specified locationoverride.
HTTP Request
PUT /api/v1/locationoverrides/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Value references to "_id" field from LocationOverride structure. |
| locationoverride | Object | LocationOverride object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| locationoverride | Object | LocationOverride object |
| status | Number | Status Codes. |
Delete LocationOverride by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides/59e918777e09760050c8272d", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/locationoverrides/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/locationoverrides/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified locationoverride.
HTTP Request
DELETE /api/v1/locationoverrides/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from LocationOverride`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
LoyaltyIds
This API is compliant with the query interface described in Advanced Queries.
A loyalty id is a unique piece of information used to identify a member at a point of activity. For example, it could be a membership card that is scanned, or a phone number which is entered at the Point of Sale. Members can have multiple loyalty ids by which they can be identified.
A loyalty id is unique across all memberships and can not be associated with more than 1 member.
LoyaltyId Structure
{
"name": "SVC",
"loyaltyId": "123",
"memberId": "5a0105d5ef8d36005660e7c0",
"_id": "5a02049cb3bd6100562adfdd",
"createdAt": "2017-11-07T19:08:12.111Z",
"updatedAt": "2017-11-07T19:08:12.111Z",
"createdBy": "5a01006f45cb2a00772046c3",
"updatedBy": "5a01006f45cb2a00772046c3"
}
| field | Type/Format | Description |
|---|---|---|
| _id | ObjectId | required unique Unique ID |
| name | String | required name of the loyalty id - e.g. SVC, Card, Phone, etc. - validated by Enums with type=LoyaltyID. |
| loyaltyId | String | required the description of the loyalty id |
| memberId | String | required _id field of the Member that is associated with this id. |
| accrueTo | ObjectId | id of the group member to whom points to be added |
| status | String | status of the loyalty id(Active/Disabled/Locked/New/PreEnrolled) |
| primary | Boolean | whether loyalty id is primary or not |
The object contains common fields
Read all LoyaltyIds
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/loyaltyids HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of LoyaltyId objects.
This methods returns all loyaltyids in the system.
HTTP Request
GET /api/v1/loyaltyids
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| loyaltyids | Array | set of LoyaltyId objects |
| status | Number | Status Codes. |
Read LoyaltyId by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/59de97de584b770052aab641", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/59de97de584b770052aab641"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/59de97de584b770052aab641");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/59de97de584b770052aab641")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/59de97de584b770052aab641',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/loyaltyids/59de97de584b770052aab641 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/59de97de584b770052aab641 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/59de97de584b770052aab641")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a LoyaltyId object.
This method returns the specified loyaltyid.
HTTP Request
GET /api/v1/loyaltyids/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from LoyaltyId structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| loyaltyid | Object | LoyaltyId object |
| status | Number | Status Codes. |
Create LoyaltyId
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
loyaltyId: '1234567890',
memberId: '5a0105d5ef8d36005660e7c0',
name: 'Membership Card'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString("{\n \"memberId\": \"5a0105d5ef8d36005660e7c0\",\n \"loyaltyId\": \"1234567890\",\n \"name\": \"Membership Card\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"memberId\": \"5a0105d5ef8d36005660e7c0\",\n \"loyaltyId\": \"1234567890\",\n \"name\": \"Membership Card\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"memberId\": \"5a0105d5ef8d36005660e7c0\",\n \"loyaltyId\": \"1234567890\",\n \"name\": \"Membership Card\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"name": "Membership Card",
"memberId": "5a0105d5ef8d36005660e7c0",
"loyaltyId": "1234567890"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/loyaltyids HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"name": "Membership Card",
"memberId": "5a0105d5ef8d36005660e7c0",
"loyaltyId": "1234567890"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"name": "Membership Card",
"memberId": "5a0105d5ef8d36005660e7c0",
"loyaltyId": "1234567890"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"name": "Membership Card",
"memberId": "5a0105d5ef8d36005660e7c0",
"loyaltyId": "1234567890"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a LoyaltyId object.
This method creates a new loyaltyid.
HTTP Request
POST /api/v1/loyaltyids/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| loyaltyid | Object | LoyaltyId object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| loyaltyid | Object | LoyaltyId object |
| status | Number | Status Codes. |
Update LoyaltyId by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/59e918777e09760050c8272d", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
name: 'Phone'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString("{\n \"name\": \"Phone\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"name\": \"Phone\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"name\": \"Phone\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"name": "Phone"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/loyaltyids/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"name": "Phone"
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"name": "Phone"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"name": "Phone"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a LoyaltyId object.
This method updates the specified loyaltyid.
HTTP Request
PUT /api/v1/loyaltyids/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Value references to "_id" field from LoyaltyId structure. |
| loyaltyid | Object | LoyaltyId object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| loyaltyid | Object | LoyaltyId object |
| status | Number | Status Codes. |
Delete LoyaltyId by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/59e918777e09760050c8272d", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/loyaltyids/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified loyaltyid.
HTTP Request
DELETE /api/v1/loyaltyids/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from LoyaltyId`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Update LoyaltyID by LoyaltyID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/26347598?lookupByLID=true", {
method: "PATCH",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"status": "Inactive"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"status": "Inactive"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/26347598?lookupByLID=true"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.method("PATCH", HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Patch, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/26347598?lookupByLID=true");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"status": "Inactive"
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/26347598?lookupByLID=true")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"status": "Inactive"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/26347598?lookupByLID=true',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"status": "Inactive"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PATCH /api/v1/loyaltyids/26347598?lookupByLID=true HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache
{
"status": "Inactive"
}
curl -X PATCH \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/26347598?lookupByLID=true \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"status": "Inactive"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltyids/26347598?lookupByLID=true")!
var request = URLRequest(url: url)
request.httpMethod = "PATCH"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"status": "Inactive"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a LoyaltyID object.
This method updates the specified Loyalty ID using loyaltyId.
HTTP Request
PATCH /api/v1/loyaltyids/:loyaltyId?lookupByLID=true
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| loyaltyId | String | Used to identify unique record from API. Value references to "loyaltyId" field from LoyaltyID`s structure. |
| loyaltyId Object | Object | LoyaltyID object |
| lookupByLID | Boolean | (Query parameter) This is used to update the loyaltyId object using loyalty id. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| loyaltyId | Object | LoyaltyID object |
| status | Number | Status Codes. |
Members
This API is compliant with the query interface described in Advanced Queries.
The Member resource represents a particular membership, along with its current balances on purses, tiers, and some personalization attributes.
Member Structure
Sample Member object
{
"enrollDate": "2017-05-13T23:08:40.052Z",
"enrollChannel": "Web",
"enrollSource": "Campaign 1",
"enrollLocation": "59de99b0584b770052aab648",
"status": "Active",
"program": "59de86b7584b770052aaacaf",
"type": "Individual",
"firstName": "Maurine",
"lastName": "Skiles",
"acquisitionDate": "2017-10-12T10:30:08.096Z",
"acquisitionChannel": "Web",
"address": "386 Swift Street",
"city": "Toreystad",
"state": "VT",
"country": "BZ",
"email": "Matt90@hotmail.com",
"cellPhone": "+13245623549",
"zipCode": "35800-3212",
"socialId": "maurine.skiles",
"tiers": [
{
"name": "Standard",
"level": {
"name": "Welcome",
"color": "#c18f21",
"defaultLevel": true,
"expirationHours": 0,
"expirationSnapTo": "day",
"expiryWarningDays": [],
"activityBasedExpiration": false,
"_id": "59df84e2bc4f61095c84adc6",
"displayName": "Starter"
},
"achievedOn": "2017-10-11T17:12:32.145Z",
"requalsOn": "2017-10-31T08:57:51.339Z",
"primary": true,
"program": "59de86b7584b770052aaacaf",
"policyId": "59de86b7584b770052abcdef",
"_id": "59df84e2bc4f61095c84adc7",
"createdAt": "2017-05-26T14:57:04.925Z",
"updatedAt": "2017-03-12T02:28:39.880Z",
"createdBy": "59de84708d69b9006b8295df",
"updatedBy": "59de84708d69b9006b8295df"
}
],
"badges": [],
"purses": [
{
"name": "Lifetime Points",
"balance": 0,
"availBalance": 0,
"expiresIn": 0,
"escrowsIn": 0,
"overdraftLimit": 0,
"primary": false,
"program": "59de86b7584b770052aaacaf",
"policyId": "59de86b7584b770052abcde2",
"expiredPoints": 0,
"org": "59de84708d69b9006b8295e0",
"_id": "59df84e2bc4f61095c84adc4",
"createdAt": "2017-09-10T13:45:39.627Z",
"updatedAt": "2016-12-08T21:15:45.549Z",
"createdBy": "59de84708d69b9006b8295df",
"updatedBy": "59de84708d69b9006b8295df"
},
{
"name": "Free Drink Points",
"balance": 0,
"availBalance": 0,
"expiresIn": 0,
"escrowsIn": 0,
"overdraftLimit": 0,
"primary": true,
"program": "59de86b7584b770052aaacaf",
"policyId": "59de86b7584b770052abcde1",
"expiredPoints": 0,
"org": "59de84708d69b9006b8295e0",
"_id": "59df84e2bc4f61095c84adc5",
"createdAt": "2017-03-18T05:50:46.738Z",
"updatedAt": "2017-07-18T20:48:34.083Z",
"createdBy": "59de84708d69b9006b8295df",
"updatedBy": "59de84708d69b9006b8295df"
}
],
"streaks": [
{
"startedAt": "2023-02-13T06:30:30Z",
"changedAt": "2023-02-13T06:30:30Z",
"status": "Active",
"value": 0,
"goals": [
{
"name": "Hotel",
"startedAt": "2023-02-13T06:30:30Z",
"changedAt": "2023-02-13T06:30:30Z",
"target": 100,
"status": "Active",
"value": 30,
"_id": "63e9d7c11df15b00270b5ee5",
"createdAt": "2023-02-13T06:30:30Z",
"updatedAt": "2023-02-16T07:29:40.611Z",
"createdBy": "621670caa1b79e00593ad0dc",
"updatedBy": "621670caa1b79e00593ad0dc"
}
],
"ctlGroup": "TestGroup",
"policyId": "638a0611c452b100273c0bc4",
"_id": "63e9d7c11df15b00270b5ee4",
"createdAt": "2023-02-13T06:30:30Z",
"updatedAt": "2023-02-16T07:29:40.611Z",
"createdBy": "621670caa1b79e00593ad0dc",
"updatedBy": "621670caa1b79e00593ad0dc"
}
],
"org": "59de84708d69b9006b8295e0",
"_id": "59df84e2bc4f61095c84adc3",
"createdAt": "2017-05-11T05:01:24.782Z",
"updatedAt": "2017-01-25T02:59:28.620Z",
"createdBy": "59de84708d69b9006b8295df",
"updatedBy": "59de84708d69b9006b8295df"
}
| Field | Type/Format | Defaults | Description |
|---|---|---|---|
| _id | ObjectId | readonly Unique value for every record |
|
| enrollDate | String (crmMod) | required The date the member enrolled (potentially different from when the record was created) |
|
| enrollChannel | String (crmMod) | required The channel from which a member enrollment originated (for example, POS, Web, Mobile). |
|
| enrollSource | String (crmMod) | Marketing source (for example, campaign) which resulted in the enrollment. | |
| referralCode | String (crmMod) | The referral code used in this enrollment (benefiting the member who referred). | |
| enrollIncentive | String (crmMod) | Specific code used to enroll within the marketing source (enrollSource) - for example, an offer code. | |
| enrollLocation | ObjectId (crmMod) | the _id of the Location at which the enrollment happened | |
| status | String (crmMod) | required Member status - Active,Inactive,Suspended |
|
| program | ObjectId | required the _id of the Program in which the member is enrolled |
|
| firstName | String (crmMod) | Member first name for personalized communications | |
| lastName | String (crmMod) | Member last name for personalized communications | |
| dob | Date (crmMod) | Date of Birth | |
| acquisitionDate | Date (crmMod) | When customer was acquired (vs. enrolled) | |
| acquisitionChannel | String (crmMod) | required What channel customer was acquired (vs. enrolled) |
|
| address | String (crmMod) | Address of member | |
| String (crmMod) | Email address of member | ||
| city | String (crmMod) | City of member | |
| state | String (crmMod) | State of member | |
| country | String (crmMod) | Country of member | |
| cellPhone | String (crmMod) | Phone number of member | |
| zipCode | String (crmMod) | Zip code of member | |
| socialId | String (crmMod) | Social ID of member | |
| canPreview | Boolean | Whether rules with canPreview as true and reward policies with canPreview as true can be applied for the member before their effective date |
|
| type | String (crmMod) | required Membership can be Individual or Group. |
|
| badges | Array | Set of badges objects. Managed by rules engine | |
| purses | Array | Set of purses objects. Managed by rules engine | |
| tiers | Array | Set of tiers objects. Managed by rules engine | |
| streaks | Array | Set of streaks objects. | |
| gender | String | Gender of the member | |
| mergePendingFlag | Boolean | Flag indicating that a merge process with another member is in progress. | |
| lastActivityDate | Date | Member's last transaction date | |
| structureVersion | Number | The field StructureVersion is the attributes used to check if a member has the latest updates in a program. |
|
| divisions | Array | Array of ObjectId references to divisions. This field provides restriction to user groups. |
The object contains common fields
Note: crmMod is a flag used on the member schema to control the update using crmprofiles route.
Lookup By LoyaltyId
Some member APIs support the lookupByLID query parameter, allowing the use of a member's loyaltyId instead of the member ID in the route parameter of the URL.
Read all Members
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/members HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Member objects.
HTTP Request
GET /api/v1/members/
This method retrieves all members from the API. The result is always an array.
If the API returns no members, the result is an empty array.
A search can be performed by using Advanced Queries, based on member's structure.
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Used to identify the user to the API. |
| group | Boolean | When set to true, returns the applicable purse for each group based on the group and period dates defined in the purse policy, with each labeled by the group name. Example: group=true. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| members | Array | a set of members. |
| status | Number | Status Codes. |
Read all Members via crmprofiles
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/crmprofiles", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/crmprofiles"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/crmprofiles");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/crmprofiles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/crmprofiles',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/crmprofiles HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/crmprofiles \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/crmprofiles")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Member objects.
HTTP Request
GET /api/v1/crmprofiles/
This method retrieves all members from the API. The result is always an array.
If the API returns no members, the result is an empty array.
A search can be performed by using Advanced Queries, based on member's structure.
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Used to identify the user to the API. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| members | Array | a set of members. |
| status | Number | Status Codes. |
Read Member by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59de93dd584b770052aab5e7", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59de93dd584b770052aab5e7"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59de93dd584b770052aab5e7");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59de93dd584b770052aab5e7")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59de93dd584b770052aab5e7',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/members/59de93dd584b770052aab5e7 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59de93dd584b770052aab5e7 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59de93dd584b770052aab5e7")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a single Member object.
HTTP Request
GET /api/v1/members/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API, referenced to "_id" field from member`s structure. |
| group | Boolean | When set to true, returns the applicable purse for each group based on the group and period dates defined in the purse policy, with each labeled by the group name. Example: group=true. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| member | Object | New data to save in RCX API with member's structure. |
| status | Number | Status Codes. |
Read Member by ID via crmprofiles
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/crmprofiles/59de93dd584b770052aab5e7", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/crmprofiles/59de93dd584b770052aab5e7"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/crmprofiles/59de93dd584b770052aab5e7");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/crmprofiles/59de93dd584b770052aab5e7")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/crmprofiles/59de93dd584b770052aab5e7',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/crmprofiles/59de93dd584b770052aab5e7 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/crmprofiles/59de93dd584b770052aab5e7 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/crmprofiles/59de93dd584b770052aab5e7")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a single Member object.
HTTP Request
GET /api/v1/crmprofiles/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API, referenced to "_id" field from member`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| member | Object | New data to save in RCX API with member's structure. |
| status | Number | Status Codes. |
Create Member
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"program": "59de86b7584b770052aaacaf",
"enrollDate": "2017-10-11T21:41:14.268Z",
"enrollChannel": "Web",
"enrollLocation": "59de97de584b770052aab641",
"enrollSource": "Campaign 2",
"status": "Active",
"dob": "1974-09-17",
"type": "Individual",
"firstName": "John",
"lastName": "Tenemos",
"acquisitionDate": "2017-10-11T21:57:49.351Z",
"acquisitionChannel": "Web",
"address": "511 W Mercer Pl",
"city": "Seattle",
"state": "WA",
"country": "USA",
"email": "jtenemos@yahoo.com",
"cellPhone": "+12039922221",
"zipCode": "98119"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"program": "59de86b7584b770052aaacaf",
"enrollDate": "2017-10-11T21:41:14.268Z",
"enrollChannel": "Web",
"enrollLocation": "59de97de584b770052aab641",
"enrollSource": "Campaign 2",
"status": "Active",
"dob": "1974-09-17",
"type": "Individual",
"firstName": "John",
"lastName": "Tenemos",
"acquisitionDate": "2017-10-11T21:57:49.351Z",
"acquisitionChannel": "Web",
"address": "511 W Mercer Pl",
"city": "Seattle",
"state": "WA",
"country": "USA",
"email": "jtenemos@yahoo.com",
"cellPhone": "+12039922221",
"zipCode": "98119"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"program": "59de86b7584b770052aaacaf",
"enrollDate": "2017-10-11T21:41:14.268Z",
"enrollChannel": "Web",
"enrollLocation": "59de97de584b770052aab641",
"enrollSource": "Campaign 2",
"status": "Active",
"dob": "1974-09-17",
"type": "Individual",
"firstName": "John",
"lastName": "Tenemos",
"acquisitionDate": "2017-10-11T21:57:49.351Z",
"acquisitionChannel": "Web",
"address": "511 W Mercer Pl",
"city": "Seattle",
"state": "WA",
"country": "USA",
"email": "jtenemos@yahoo.com",
"cellPhone": "+12039922221",
"zipCode": "98119"
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"program": "59de86b7584b770052aaacaf",
"enrollDate": "2017-10-11T21:41:14.268Z",
"enrollChannel": "Web",
"enrollLocation": "59de97de584b770052aab641",
"enrollSource": "Campaign 2",
"status": "Active",
"dob": "1974-09-17",
"type": "Individual",
"firstName": "John",
"lastName": "Tenemos",
"acquisitionDate": "2017-10-11T21:57:49.351Z",
"acquisitionChannel": "Web",
"address": "511 W Mercer Pl",
"city": "Seattle",
"state": "WA",
"country": "USA",
"email": "jtenemos@yahoo.com",
"cellPhone": "+12039922221",
"zipCode": "98119"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"program": "59de86b7584b770052aaacaf",
"enrollDate": "2017-10-11T21:41:14.268Z",
"enrollChannel": "Web",
"enrollLocation": "59de97de584b770052aab641",
"enrollSource": "Campaign 2",
"status": "Active",
"dob": "1974-09-17",
"type": "Individual",
"firstName": "John",
"lastName": "Tenemos",
"acquisitionDate": "2017-10-11T21:57:49.351Z",
"acquisitionChannel": "Web",
"address": "511 W Mercer Pl",
"city": "Seattle",
"state": "WA",
"country": "USA",
"email": "jtenemos@yahoo.com",
"cellPhone": "+12039922221",
"zipCode": "98119"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/members HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache
{
"program": "59de86b7584b770052aaacaf",
"enrollDate": "2017-10-11T21:41:14.268Z",
"enrollChannel": "Web",
"enrollLocation": "59de97de584b770052aab641",
"enrollSource": "Campaign 2",
"status": "Active",
"dob": "1974-09-17",
"type": "Individual",
"firstName": "John",
"lastName": "Tenemos",
"acquisitionDate": "2017-10-11T21:57:49.351Z",
"acquisitionChannel": "Web",
"address": "511 W Mercer Pl",
"city": "Seattle",
"state": "WA",
"country": "USA",
"email": "jtenemos@yahoo.com",
"cellPhone": "+12039922221",
"zipCode": "98119"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"program": "59de86b7584b770052aaacaf",
"enrollDate": "2017-10-11T21:41:14.268Z",
"enrollChannel": "Web",
"enrollLocation": "59de97de584b770052aab641",
"enrollSource": "Campaign 2",
"status": "Active",
"dob": "1974-09-17",
"type": "Individual",
"firstName": "John",
"lastName": "Tenemos",
"acquisitionDate": "2017-10-11T21:57:49.351Z",
"acquisitionChannel": "Web",
"address": "511 W Mercer Pl",
"city": "Seattle",
"state": "WA",
"country": "USA",
"email": "jtenemos@yahoo.com",
"cellPhone": "+12039922221",
"zipCode": "98119"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"program": "59de86b7584b770052aaacaf",
"enrollDate": "2017-10-11T21:41:14.268Z",
"enrollChannel": "Web",
"enrollLocation": "59de97de584b770052aab641",
"enrollSource": "Campaign 2",
"status": "Active",
"dob": "1974-09-17",
"type": "Individual",
"firstName": "John",
"lastName": "Tenemos",
"acquisitionDate": "2017-10-11T21:57:49.351Z",
"acquisitionChannel": "Web",
"address": "511 W Mercer Pl",
"city": "Seattle",
"state": "WA",
"country": "USA",
"email": "jtenemos@yahoo.com",
"cellPhone": "+12039922221",
"zipCode": "98119"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns the newly created Member object.
HTTP Request
POST /api/v1/members/
This method creates a Member object and enrolls the member in the specified program.
To obtain a correct program _id use a query similar to the following, assuming your program is called "My Program":
GET /api/v1/programs?query={"name": "My Program"}&select=_id
Please refer the Programs section for more information on that API.
Input Arguments
| Name | Type | Description |
|---|---|---|
| newMember | Object | New record to add to RCX API with member's structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| member | Object | New data to save in RCX API with member's structure. |
| status | Number | Status Codes. |
Update Member by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59de93dd584b770052aab5e7", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"status": "Inactive"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"status": "Inactive"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59de93dd584b770052aab5e7"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59de93dd584b770052aab5e7");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"status": "Inactive"
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59de93dd584b770052aab5e7")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"status": "Inactive"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59de93dd584b770052aab5e7',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"status": "Inactive"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/members/59de93dd584b770052aab5e7 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache
{
"status": "Inactive"
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59de93dd584b770052aab5e7 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"status": "Inactive"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59de93dd584b770052aab5e7")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"status": "Inactive"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns the updated Member object.
This method updates sent fields with the new values.
HTTP Request
PUT /api/v1/members/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| member | Object | Fields within the Member that need to be updated |
| id | ObjectId | The _id field of the Member that needs to be updated |
Output Arguments
| Name | Type | Description |
|---|---|---|
| member | Object | The newly updated Member |
| status | Number | Status Codes |
Update Member by ID via crmprofiles
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/crmprofiles/59de93dd584b770052aab5e7", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"status": "Inactive"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"status": "Inactive"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/crmprofiles/59de93dd584b770052aab5e7"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/crmprofiles/59de93dd584b770052aab5e7");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"status": "Inactive"
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/crmprofiles/59de93dd584b770052aab5e7")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"status": "Inactive"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/crmprofiles/59de93dd584b770052aab5e7',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"status": "Inactive"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/crmprofiles/59de93dd584b770052aab5e7 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache
{
"status": "Inactive"
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/crmprofiles/59de93dd584b770052aab5e7 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"status": "Inactive"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/crmprofiles/59de93dd584b770052aab5e7")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"status": "Inactive"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns the updated Member object.
This method updates member fields whose crmMod flag is set to true and raises the UpdateMemberProfile level-two event after a successful update. This API allows using the member's loyaltyId by leveraging the lookupByLID query parameter.
HTTP Request
PUT /api/v1/crmprofiles/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| member | Object | Fields within the Member that need to be updated (only crmMod fields) |
| id | ObjectId | The _id field of the Member that needs to be updated |
Output Arguments
| Name | Type | Description |
|---|---|---|
| member | Object | The newly updated Member |
| status | Number | Status Codes |
Delete Member by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e2bc4f61095c84ada5", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e2bc4f61095c84ada5"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e2bc4f61095c84ada5");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e2bc4f61095c84ada5")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e2bc4f61095c84ada5',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/members/59df84e2bc4f61095c84ada5 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e2bc4f61095c84ada5 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e2bc4f61095c84ada5")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
HTTP Request
DELETE /api/v1/members/:id
This method deletes one member identified by _id.
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | The _id field of the Member that needs to be deleted |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Upgrade Tier by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/upgrade", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/upgrade"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Cache-Control", "no-cache")
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/upgrade");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/upgrade")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/upgrade',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/upgrade HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/upgrade \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/upgrade")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns the Member object with upgraded Tier.
This method finds the member by memberID and updates the Tier with tierID to the first value,
next to (after) the current one in levels list at Tier Policy. This API allows updates using the member's loyaltyId by leveraging the lookupByLID query parameter.
HTTP Request
POST /api/v1/members/:memberId/tiers/:tierId/upgrade
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| memberId | ObjectId | Reference to "_id" field from Member |
| tierId | ObjectId | References to "_id" field from Tier |
Output Arguments
| Name | Type | Description |
|---|---|---|
| member | Object | Member record with updated tier |
| status | Number | Status Codes |
Downgrade Tier by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/downgrade", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/downgrade"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Cache-Control", "no-cache")
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/downgrade");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/downgrade")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/downgrade',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/downgrade HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/downgrade \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/downgrade")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns Member objects.
This method finds the member by memberID and updates the Tier with tierID to the first value,
previous to (before) the current one in levels list at Tier Policy. This API allows updates using the member's loyaltyId by leveraging the lookupByLID query parameter.
HTTP Request
POST /api/v1/members/:memberId/tiers/:tierId/downgrade
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| memberId | ObjectId | Reference to "_id" field from Member |
| tierId | ObjectId | References to "_id" field from Tier |
Output Arguments
| Name | Type | Description |
|---|---|---|
| member | Object | Member record with updated tier |
| status | Number | Status Codes |
Get Member Offers
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/offers", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/offers"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/offers");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/offers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/offers',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/members/5a3da24b62de8600e296325b/offers HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/offers \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
-H 'Cache-Control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/offers")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of the Reward Policy object.
This method finds all eligible coupons (offers, rewards or global offers) that are available to a member, optionally taking into account the member's geo-location in which case RCX considers available offers within a 20 mile radius. This API allows using the member's loyaltyId by leveraging the lookupByLID query parameter.
HTTP Request
GET /api/v1/members/:memberId/offers
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| memberId | ObjectId | Reference to "_id" field from Member |
| filter | String | Comma-separated list of what to return - valid values are offers, rewards and global. |
| lat | Number | If location is available, this is the latitude of the current location. |
| long | Number | If location is available, this is the longitude of the current location. |
| distance | Number | This is defaulted to 20 currently and is the radius for the location search. |
| stores | String | Comma-separated list of the store numbers. This overrides the lat, long values passed in request query. |
| query | Object | The query is used to filter out the reward policies retrieved using other fields of it. Ex: {isAppeasement: true, discountType="Ticket"} |
| limit | Number | This is used to limit the number of results. |
| skip | Number | This is used to skip a number of records (for pagination). |
| utcOffset | Number | Difference in minutes from Universal Time (UTC) for a particular place |
| txnDate | Date | txnDate is used to filter out the reward policies by querying on effectiveDate and expirationDate. |
| lookupByLID | Boolean | This is used to retrieve the offers of member with loyalty id. |
| includeLocked | Boolean | This is used to retrieve locked offers |
Output Arguments
| Name | Type | Description |
|---|---|---|
| Array | Array | An array of Reward Policy records. |
| status | Number | Status Codes |
Get Member Promos
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/rules", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/rules"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/rules");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/rules")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/rules',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/members/5a3da24b62de8600e296325b/rules HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/rules \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
-H 'Cache-Control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/rules")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of the Rules object.
This method finds all eligible promo rules that are available to a member, optionally taking into account the member's geo-location in which case RCX considers available offers within a 20 mile radius. This API allows using the member's loyaltyId by leveraging the lookupByLID query parameter.
HTTP Request
GET /api/v1/members/:memberId/rules
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| memberId | ObjectId | Reference to "_id" field from Member |
| filter | String | Comma-separated list of what to return - valid values are all and promo. |
| lat | Number | If location is available, this is the latitude of the current location. |
| long | Number | If location is available, this is the longitude of the current location. |
| distance | Number | This is defaulted to 20 currently and is the radius for the location search. |
| stores | String | Comma-separated list of the store numbers. This overrides the lat, long values passed in request query. |
| query | Object | The query is used to filter out the reward policies retrieved using other fields of it. |
| limit | Number | This is used to limit the number of results. |
| skip | Number | This is used to skip a number of records (for pagination). |
| lookupByLID | Boolean | This is used to retrieve the rules of member with loyalty id. |
| utcOffset | Number | Difference in minutes from Universal Time (UTC) for a particular place. |
| txnDate | Date | txnDate is used to filter out the rules by querying on effectiveFrom and effectiveTo. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| Array | Array | An array of Rule records. |
| status | Number | Status Codes |
Get Member Profile By LoyaltyId
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/profile", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/profile"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/profile");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/profile")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/profile',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/members/12211221/profile HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA
Content-Type: application/json
cache-control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/profile \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/profile")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns the Member object.
This method gets the member profile by the given loyaltyId. It updates the member purses as needed and returns the updated member object including any newly added purses.
HTTP Request
GET /api/v1/members/:loyaltyid/profile
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| txnDate | Date | txnDate is used to filter out the purse policies by querying on expirationDate. |
| select | String | It accepts comma separated string and returns only the fields in select. Ex:select=name,program |
| populate | String | It accepts comma separated string and populates data inside the reference Ex:populate=program,memberId |
| group | Boolean | When set to true, returns the applicable purse for each group based on the group and period dates defined in the purse policy, with each labeled by the group name. Example: group=true. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| member | Object | member object. |
| status | Number | Status Codes |
Member Merge
const params = new URLSearchParams({
requalify: "true"
});
const response = await fetch(`https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5de60abf903b3304962cc0be/merge/5de8c5c34a974f003f77d174?${params}`, {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5de60abf903b3304962cc0be/merge/5de8c5c34a974f003f77d174?extMergeId='789456'&requalify=true"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI")
.header("Cache-Control", "no-cache")
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5de60abf903b3304962cc0be/merge/5de8c5c34a974f003f77d174?extMergeId='789456'&requalify=true");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5de60abf903b3304962cc0be/merge/5de8c5c34a974f003f77d174?extMergeId='789456'&requalify=true")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5de60abf903b3304962cc0be/merge/5de8c5c34a974f003f77d174',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/members/5de60abf903b3304962cc0be/merge/5de8c5c34a974f003f77d174?extMergeId=%27789456%27& requalify=true HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI
cache-control: no-cache
curl -X POST \
'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5de60abf903b3304962cc0be/merge/5de8c5c34a974f003f77d174?extMergeId='789456'&requalify=true' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5de60abf903b3304962cc0be/merge/5de8c5c34a974f003f77d174?extMergeId='789456'&requalify=true")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
{
"status": "success"
}
The above command returns the status of member merge.
This method merges two member records into one. Only members who enrolled in the same program are eligible for merging.
During the Member Merge, there are two types of members:
- Surviving Member – The member that remains after the merge is completed.
- Victim Member – The member that no longer exists after the merge is completed.
After the Merge, below the listed Victim Member details are updated to the Surviving Member. The Victim Member no longer exists.
- Rewards
- Purse balances
- Tiers
- Loyalty ID's
- Activity history
- Accrual Items
- Redemption Items
- Offers
- Segments
- Reward Usage History
- Offer Usage History
- Terms and Conditions
- Preferences
This API allows using the member's loyaltyId by leveraging the lookupByLID query parameter.
HTTP Request
POST /api/v1/members/:survivor/merge/:victim
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| survivor | ObjectId | Reference to "_id" field from Member |
| victim | ObjectId | Reference to "_id" field from Member |
| extMergeId | String | A unique tracking number for each merge request |
| requalify | Boolean | requalify=true is to post the requalify activity |
| txnDate | Date | Date given in route params |
Output Arguments
| Name | Type | Description |
|---|---|---|
| res | Object | {"status": "success"}. |
| status | Number | Status Codes |
Member Unmerge
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/unmerge/5de8c5c34a974f003f77d174", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/unmerge/5de8c5c34a974f003f77d174"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI")
.header("Cache-Control", "no-cache")
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/unmerge/5de8c5c34a974f003f77d174");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/unmerge/5de8c5c34a974f003f77d174")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/unmerge/5de8c5c34a974f003f77d174',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/members/unmerge/5de8c5c34a974f003f77d174 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI
cache-control: no-cache
curl -X POST \
'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/unmerge/5de8c5c34a974f003f77d174' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/unmerge/5de8c5c34a974f003f77d174")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
{
"status": "success"
}
The above command returns the status of member unmerge.
This method unmerges the last merged victim member from the given survivor member. Only merged members are eligible for unmerging.
During the Unmerge process the following happens:
- Victim Member details is extracted from the survivor member.
- Victim Member is restored.
After the Unmerge, the details listed below are assigned back to the victim member:
- Purse balances
- Loyalty ID's
- Segments
- Preferences
The purse balances are restored in the same ratio that they were in when the merge happened. Activity history is also restored for the victim member up to the point of the merge. A compensatory transaction is posted on both the victim and survivor's ledgers to reconcile the ledgers.
This API allows using the member's loyaltyId by leveraging the lookupByLID query parameter.
HTTP Request
POST /api/v1/members/unmerge/:survivor
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| survivor | ObjectId | Reference to "_id" field from Member |
| txnDate | Date | Date given in route params |
Output Arguments
| Name | Type | Description |
|---|---|---|
| res | Object | {"status": "success"}. |
| status | Number | Status Codes |
Member Hop
const params = new URLSearchParams({
sync: "true",
requalify: "true"
});
const response = await fetch(`https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5de60abf903b3304962cc0be/hop/5de8c5c34a974f003f77d174?${params}`, {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5de60abf903b3304962cc0be/hop/5de8c5c34a974f003f77d174"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI")
.header("Cache-Control", "no-cache")
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5de60abf903b3304962cc0be/hop/5de8c5c34a974f003f77d174?sync=true&requalify=true");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5de60abf903b3304962cc0be/hop/5de8c5c34a974f003f77d174")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5de60abf903b3304962cc0be/hop/5de8c5c34a974f003f77d174',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/members/5de60abf903b3304962cc0be/hop/5de8c5c34a974f003f77d174 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI
cache-control: no-cache
curl -X POST \
'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5de60abf903b3304962cc0be/hop/5de8c5c34a974f003f77d174' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5de60abf903b3304962cc0be/hop/5de8c5c34a974f003f77d174")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns the member object that was being hopped.
The hop request creates an account for the member.The member is enrolled in the provided program which is different from the current enrolled program. This API allows using the member's loyaltyId by leveraging the lookupByLID query parameter.
After the hop, the loyaltyIds are switched to the activeMember of account.
HTTP Request
POST /api/v1/members/:memberId/hop/:programId
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| memberId | ObjectId | Reference to "_id" field from Member |
| programId | ObjectId | Reference to "_id" field from Program |
| lookupByLID | Boolean | This is used to hop the member with loyalty id. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| res | Object | returns the member object. |
| status | Number | Status Codes |
Member Enroll
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/enroll?preprocess=true&useTransaction=true", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"member": {
"enrollDate": "2024-02-07T06:37:08.348Z",
"enrollChannel": "Web",
"enrollSource": "Unknown",
"status": "Active",
"type": "Individual",
"firstName": "Kristina",
"lastName": "Bodel",
"email": "malinda.berge@gmail.com",
"acquisitionChannel": "Web",
"cardBankChannel": "Physical Card"
},
"program": {
"lookup": {
"model": "Program",
"keys": {
"name": "My Program"
},
"select": "_id"
}
},
"assignCard": true,
"channel": "Mobile",
"cardType": "Digital Card",
"loyaltyIds": [
{
"name": "AlternateID",
"loyaltyId": "175877330042000041082333422346",
"primary": true,
"status": "Active"
},
{
"name": "CardID",
"primary": true,
"status": "Active"
}
],
"preferences": [
{
"name": "AGE_VERIFIED",
"value": "Yes",
"optedInDate": "2024-01-10",
"category": "Preference"
},
{
"name": "PP_US_2",
"value": "Yes",
"optedInDate": "2024-01-13",
"category": "T&C"
}
]
})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/enroll?preprocess=true&useTransaction=true"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString("\"member\":{\"enrollDate\":\"2024-02-07T06:37:08.348Z\",\"enrollChannel\":\"Web\",\"enrollSource\":\"Unknown\",\"status\":\"Active\",\"type\":\"Individual\",\"firstName\":\"Kristina\",\"lastName\":\"Bodel\",\"email\":\"malinda.berge@gmail.com\",\"acquisitionChannel\":\"Web\",\"cardBankChannel\":\"PhysicalCard\"},\"program\":{\"lookup\":{\"model\":\"Program\",\"keys\":{\"name\":\"MyProgram\"},\"select\":\"_id\"}},\"assignCard\":true,\"channel\":\"Mobile\",\"cardType\":\"DigitalCard\",\"loyaltyIds\":[{\"name\":\"AlternateID\",\"loyaltyId\":\"175877330042000041082333422346\",\"primary\":true,\"status\":\"Active\"},{\"name\":\"CardID\",\"primary\":true,\"status\":\"Active\"}],\"preferences\":[{\"name\":\"AGE_VERIFIED\",\"value\":\"Yes\",\"optedInDate\":\"2024-01-10\",\"category\":\"Preference\"},{\"name\":\"PP_US_2\",\"value\":\"Yes\",\"optedInDate\":\"2024-01-13\",\"category\":\"T&C\"}]"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/enroll?preprocess=true&useTransaction=true");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("\"member\":{\"enrollDate\":\"2024-02-07T06:37:08.348Z\",\"enrollChannel\":\"Web\",\"enrollSource\":\"Unknown\",\"status\":\"Active\",\"type\":\"Individual\",\"firstName\":\"Kristina\",\"lastName\":\"Bodel\",\"email\":\"malinda.berge@gmail.com\",\"acquisitionChannel\":\"Web\",\"cardBankChannel\":\"PhysicalCard\"},\"program\":{\"lookup\":{\"model\":\"Program\",\"keys\":{\"name\":\"MyProgram\"},\"select\":\"_id\"}},\"assignCard\":true, \"channel\":\"Mobile\",\"cardType\":\"DigitalCard\",\"loyaltyIds\":[{\"name\":\"AlternateID\",\"loyaltyId\":\"175877330042000041082333422346\",\"primary\":true,\"status\":\"Active\"},{\"name\":\"CardID\",\"primary\":true,\"status\":\"Active\"}],\"preferences\":[{\"name\":\"AGE_VERIFIED\",\"value\":\"Yes\",\"optedInDate\":\"2024-01-10\",\"category\":\"Preference\"},{\"name\":\"PP_US_2\",\"value\":\"Yes\",\"optedInDate\":\"2024-01-13\",\"category\":\"T&C\"}]", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/enroll?preprocess=true&useTransaction=true")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "\"member\":{\"enrollDate\":\"2024-02-07T06:37:08.348Z\",\"enrollChannel\":\"Web\",\"enrollSource\":\"Unknown\",\"status\":\"Active\",\"type\":\"Individual\",\"firstName\":\"Kristina\",\"lastName\":\"Bodel\",\"email\":\"malinda.berge@gmail.com\",\"acquisitionChannel\":\"Web\",\"cardBankChannel\":\"PhysicalCard\"},\"program\":{\"lookup\":{\"model\":\"Program\",\"keys\":{\"name\":\"MyProgram\"},\"select\":\"_id\"}},\"assignCard\":true,\"channel\":\"Mobile\",\"cardType\":\"DigitalCard\",\"loyaltyIds\":[{\"name\":\"AlternateID\",\"loyaltyId\":\"175877330042000041082333422346\",\"primary\":true,\"status\":\"Active\"},{\"name\":\"CardID\",\"primary\":true,\"status\":\"Active\"}],\"preferences\":[{\"name\":\"AGE_VERIFIED\",\"value\":\"Yes\",\"optedInDate\":\"2024-01-10\",\"category\":\"Preference\"},{\"name\":\"PP_US_2\",\"value\":\"Yes\",\"optedInDate\":\"2024-01-13\",\"category\":\"T&C\"}]"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/enroll?preprocess=true&useTransaction=true',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"member": {
"enrollDate": "2024-02-07T06:37:08.348Z",
"enrollChannel": "Web",
"enrollSource": "Unknown",
"status": "Active",
"type": "Individual",
"firstName": "Kristina",
"lastName": "Bodel",
"email": "malinda.berge@gmail.com",
"acquisitionChannel": "Web",
"cardBankChannel": "Physical Card"
},
"program": {
"lookup": {
"model": "Program",
"keys": {
"name": "My Program"
},
"select": "_id"
}
},
"assignCard": true,
"channel": "Mobile",
"cardType": "Digital Card",
"loyaltyIds": [
{
"name": "AlternateID",
"loyaltyId": "175877330042000041082333422346",
"primary": true,
"status": "Active"
},
{
"name": "CardID",
"primary": true,
"status": "Active"
}
],
"preferences": [
{
"name": "AGE_VERIFIED",
"value": "Yes",
"optedInDate": "2024-01-10",
"category": "Preference"
},
{
"name": "PP_US_2",
"value": "Yes",
"optedInDate": "2024-01-13",
"category": "T&C"
}
]
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST api/v1/members/enroll?preprocess=true&useTransaction=true HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"member": {
"enrollDate": "2024-02-07T06:37:08.348Z",
"enrollChannel": "Web",
"enrollSource": "Unknown",
"status": "Active",
"type": "Individual",
"firstName": "Kristina",
"lastName": "Bodel",
"email": "malinda.berge@gmail.com",
"acquisitionChannel": "Web",
"cardBankChannel": "Physical Card"
},
"program": {
"lookup": {
"model": "Program",
"keys": {"name": "My Program"},
"select": "_id"
}
},
"assignCard": true,
"channel": "Mobile",
"cardType": "Digital Card",
"loyaltyIds": [
{
"name": "AlternateID",
"loyaltyId": "175877330042000041082333422346",
"primary": true,
"status": "Active"
},
{
"name": "CardID",
"primary": true,
"status": "Active"
}
],
"preferences": [
{
"name": "AGE_VERIFIED",
"value": "Yes",
"optedInDate": "2024-01-10",
"category": "Preference"
},
{
"name": "PP_US_2",
"value": "Yes",
"optedInDate": "2024-01-13",
"category": "T&C"
}
]
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/enroll?preprocess=true&useTransaction=true \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"member": {
"enrollDate": "2024-02-07T06:37:08.348Z",
"enrollChannel": "Web",
"enrollSource": "Unknown",
"status": "Active",
"type": "Individual",
"firstName": "Kristina",
"lastName": "Bodel",
"email": "malinda.berge@gmail.com",
"acquisitionChannel": "Web",
"cardBankChannel": "Physical Card"
},
"program": {
"lookup": {
"model": "Program",
"keys": {"name": "My Program"},
"select": "_id"
}
},
"assignCard": true,
"channel": "Mobile",
"cardType": "Digital Card",
"loyaltyIds": [
{
"name": "AlternateID",
"loyaltyId": "175877330042000041082333422346",
"primary": true,
"status": "Active"
},
{
"name": "CardID",
"primary": true,
"status": "Active"
}
],
"preferences": [
{
"name": "AGE_VERIFIED",
"value": "Yes",
"optedInDate": "2024-01-10",
"category": "Preference"
},
{
"name": "PP_US_2",
"value": "Yes",
"optedInDate": "2024-01-13",
"category": "T&C"
}
]
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/enroll?preprocess=true&useTransaction=true")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"member": {
"enrollDate": "2024-02-07T06:37:08.348Z",
"enrollChannel": "Web",
"enrollSource": "Unknown",
"status": "Active",
"type": "Individual",
"firstName": "Kristina",
"lastName": "Bodel",
"email": "malinda.berge@gmail.com",
"acquisitionChannel": "Web",
"cardBankChannel": "Physical Card"
},
"program": {
"lookup": {
"model": "Program",
"keys": {
"name": "My Program"
},
"select": "_id"
}
},
"assignCard": true,
"channel": "Mobile",
"cardType": "Digital Card",
"loyaltyIds": [
{
"name": "AlternateID",
"loyaltyId": "175877330042000041082333422346",
"primary": true,
"status": "Active"
},
{
"name": "CardID",
"primary": true,
"status": "Active"
}
],
"preferences": [
{
"name": "AGE_VERIFIED",
"value": "Yes",
"optedInDate": "2024-01-10",
"category": "Preference"
},
{
"name": "PP_US_2",
"value": "Yes",
"optedInDate": "2024-01-13",
"category": "T&C"
}
]
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns the member object that was being enrolled.
Creates and enrolls a member into a program along with creating associated entities loyalty IDs, and preferences.
HTTP Request
POST api/v1/members/enroll?preprocess=true&useTransaction=true
Input Arguments
| Name | Type | Description |
|---|---|---|
| query | Object | The query is used to find the member. |
| preprocess | Boolean | refer |
| useTransaction | Boolean | useTransaction guarantees that the enrollment process is atomic, ensuring all the entities are created successfully in a single operation. |
| suppressDuplicate | Boolean | returns the actual member as a response, instead of returning the already exists loyaltyId or member when value set to true. |
Input Body Arguments
| Name | Type | Description |
|---|---|---|
| member | Object | Fields within the member that need to be updated |
| program | Object | Reference to "_id" field from Program |
| assignCard | Boolean | Refer to assignCard |
| cardType | String | Required type of loyalty card (Digital Card/Physical Card) |
| channel | String | Required source of member enrollment (Mobile/web) |
| loyaltyIds | Array of Objects | A list of loyalty IDs |
| preferences | Array of Objects | A list of preferences associated with the member. |
| validateLidInCB | Boolean | To validate the loyalty ID against the card bank, which is enabled in the program configuration settings. |
Structure of Loyalty IDs Array
| Name | Type | Description |
|---|---|---|
| name | String | Required type of loyalty card (Digital Card/Physical Card) |
| loyaltyId | String | Unique loyalty identifier (optional for some types) |
| primary | Boolean | Indicates if this is the primary loyalty ID |
| status | String | Status of the loyalty ID (for example, "Active") |
Behavior of Loyalty ID Assignment Based on assignCard Flag
Sample LoyaltyIds Array With AssignCard Flag
{
"assignCard": true,
"loyaltyIds": [
{
"name": "AlternateID",
"loyaltyId": "175877330042000041082333422346",
"primary": true,
"status": "Active"
},
{
"name": "CardID",
"primary": true,
"status": "Active"
}
],
}
| If assignCard is true |
|---|
Case 1: No loyalty IDs provided: When no loyalty IDs array is provided and assignCard is true, the system searches for an available card in the card bank with the specified cardType and a status of 'New'. Upon finding a card, it updates the card status to 'Active', adds this ID to the loyaltyIds array. |
Case 2: Loyalty IDs provided (with or without incomplete entries): When loyalty IDs are provided, the system processes each entry in the loyaltyIds array. If an entry is missing a loyaltyId, the system matches the name in the array and retrieves an available card from the card bank with the specified cardType of status 'New'. Updates the card status to 'Active' and adds this ID to the loyaltyIds array.For entries that already contain a loyaltyId, the system performs card type validation when the validateLidInCB flag is true, then assigns the card and updates the loyaltyIds array accordingly. |
| If assignCard is false |
|---|
| Case 1: No loyalty IDs provided: Enroll the member without creating a new loyalty ID. |
Case 2: Loyalty IDs provided (with or without incomplete entries): When loyalty IDs are provided, the system processes each entry in the loyaltyIds array. If an entry is missing a loyaltyId, No new loyalty ID is assigned, the system performs card type validation when the validateLidInCB flag is true, then assigns the card and updates the loyaltyIds array accordingly. |
Note: The loyaltyIds object must adhere to the format shown.
Output Arguments
| Name | Type | Description |
|---|---|---|
| res | Object | returns the member object. |
| status | Number | Status Codes |
Get Member Aggregates
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Goldpurse&type=daily,weekly,yearly&date=2024-09-06", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=daily,date=2024-06-05", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=weekly,monthly,yearly,week=17,month=5,year=2024", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Goldpurse&type=daily,weekly,yearly&date=2024-09-06"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=daily,date=2024-06-05"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=weekly,monthly,yearly,week=17,month=5,year=2024"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Goldpurse&type=daily,weekly,yearly&date=2024-09-06");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=daily,date=2024-06-05");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=weekly,monthly,yearly,week=17,month=5,year=2024");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Goldpurse&type=daily,weekly,yearly&date=2024-09-06")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=daily,date=2024-06-05")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=weekly,monthly,yearly,week=17,month=5,year=2024")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Goldpurse&type=daily,weekly,yearly&date=2024-09-06',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=daily,date=2024-06-05',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=weekly,monthly,yearly,week=17,month=5,year=2024',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Goldpurse&type=daily,weekly,yearly&date=2024-09-06 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
GET /api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=daily,date=2024-06-05 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
// Sample output
[
{
"metric": "Marriott Bonvoy Points",
"dailyAggs": 100
}
]
GET /api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=weekly,monthly,yearly,week=17,month=5,year=2024 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
// Sample output
[
{
"metric": "Marriott Bonvoy Points",
"weeklyAggs": 900,
"yearlyAggs": 1500,
"monthlyAggs": 2000
}
]
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Goldpurse&type=daily,weekly,yearly&date=2024-09-06 \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
-H 'Cache-Control: no-cache'
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=daily,date=2024-06-05 \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
-H 'Cache-Control: no-cache'
<!-- Sample output
[
{
"metric": "Marriott Bonvoy Points",
"dailyAggs": 100
}
] -->
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=weekly,monthly,yearly,week=17,month=5,year=2024 \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
-H 'Cache-Control: no-cache'
<!-- Sample output
[
{
"metric": "Marriott Bonvoy Points",
"weeklyAggs": 900,
"yearlyAggs": 1500,
"monthlyAggs": 2000
}
] -->
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Goldpurse&type=daily,weekly,yearly&date=2024-09-06")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=daily,date=2024-06-05")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=weekly,monthly,yearly,week=17,month=5,year=2024")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of the objects containing the metric name and all the aggregates associated to it.
This method finds all member aggregates from respective collections based on the query (date, month, year, metric name, etc.) provided by the user. This API allows using the member's loyaltyId by leveraging the lookupByLID query parameter.
HTTP Request
GET /api/v1/members/:memberId/aggregates
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| memberId | ObjectId | Reference to "_id" field from Member |
| metricNames | String | Comma-separated list of metric names to return. |
| type | String | Comma-separated list of aggregate types to return. Valid values are daily, weekly, monthly, quarterly, halfyearly, yearly and lifetime. |
| date | Date | query date is used to filter the member aggregates on particular date. |
| week | Number | week is used to filter the member weekly aggregates based on provided week. |
| month | Number | month is used to filter the member monthly aggregates based on provided month. |
| quarter | Number | quarter is used to filter the member quarterly aggregates based on provided quarter. |
| half | Number | half is used to filter the member halfyearly aggregates based on provided half. |
| year | Number | year is used to filter the member weekly, monthly, quarterly, halfyearly and yearly aggregates based on the specific field and year. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| Array | Array | An array of object containing the metric name and associated aggregates. |
| status | Number | Status Codes |
Member Cleanup
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/:memberId/cleanup?clean=all", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: "{\n\tpurseIds:[\"5a3da24b62de8600e296325b\",\"6b4e24b62de8600e296436c\"],\n streakIds:[\"6c5f24b62de8600e296325b\",\"6e7ga24b62de8600e296325b\"],\n}"
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/:memberId/cleanup"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/:memberId/cleanup");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/:memberId/cleanup")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/:memberId/cleanup',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"streakIds": [
"6c5f24b62de8600e296325b",
"6e7ga24b62de8600e296325b"
],
"purseIds": [
"5a3da24b62de8600e296325b",
"6b4e24b62de8600e296436c"
]
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/members/:memberId/cleanup HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
'{"streakIds":["6c5f24b62de8600e296325b","6e7ga24b62de8600e296325b"],"purseIds":["5a3da24b62de8600e296325b","6b4e24b62de8600e296436c"]}'
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/:memberId/cleanup \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d
'{"streakIds":["6c5f24b62de8600e296325b","6e7ga24b62de8600e296325b"],"purseIds":["5a3da24b62de8600e296325b","6b4e24b62de8600e296436c"]}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/enroll")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
[
{
"streakIds": [
"6c5f24b62de8600e296325b",
"6e7ga24b62de8600e296325b"
],
"purseIds": [
"5a3da24b62de8600e296325b",
"6b4e24b62de8600e296436c"
]
}
]
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns the stats of data cleaned up.
HTTP Request
POST /api/v1/members/:memberId/cleanup?clean=all
Input Arguments
| Name | Type | Description |
|---|---|---|
| clean | String | Specifies the type of data to clean up. If clean=all, it cleans all streaks and purses. If clean=purses, it cleans only purses. If clean=streaks, it cleans only streaks. |
| streakIds | Array | Holds the streak IDs to be cleaned up. Note: If streakIds aren't provided, all eligible streaks are cleaned. |
| purseIds | Array | Holds the purse IDs to be cleaned up. Note: If purseIds aren't provided, all expired purses are cleaned. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| res | Object | returns the stats of the data cleaned up. |
| status | Number | Status Codes |
MemberSegments
This API is compliant with the query interface described in Advanced Queries.
Member segment defines to which segment a member is associated with.
MemberSegment Structure
{
"_id": "5b2c9a6e67646e0051bd4b7d",
"member": "5b2b40e828bc5d191a4e1926",
"segment": "5b2c9a0a67646e0051bd4b7b",
"org": "5b29f526e3009700e6415665",
"divisions": ["59de86b7584b770052aaacb1", "59de86b7584b770052aaacb2"],
"createdAt": "2018-06-22T06:42:54.318Z",
"updatedAt": "2018-06-22T06:42:54.318Z",
"createdBy": "5b29f526e3009700e6415664",
"updatedBy": "5b29f526e3009700e6415664"
}
| field | Type/Format | Description |
|---|---|---|
| _id | ObjectId | required unique Unique ID |
| member | String | required _id field of the Member that is associated with this membersegment. |
| segment | String | required _id field of the Segment that is associated with this membersegment. |
| isCancelled | Boolean | Default: false Dis-associates member from the segment if this flag is set to TRUE. |
| divisions | Array | Array of ObjectId references to divisions. This field provides restriction to user groups. |
The object contains common fields
Read all MemberSegments
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/membersegments HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of MemberSegment objects.
This methods returns all membersegments in the system.
HTTP Request
GET /api/v1/membersegments
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| membersegments | Array | set of MemberSegment objects |
| status | Number | Status Codes. |
Read MemberSegment by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments/59de97de584b770052aab641", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments/59de97de584b770052aab641"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments/59de97de584b770052aab641");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments/59de97de584b770052aab641")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments/59de97de584b770052aab641',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/membersegments/59de97de584b770052aab641 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments/59de97de584b770052aab641 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments/59de97de584b770052aab641")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a MemberSegment object.
This method returns the specified membersegment.
HTTP Request
GET /api/v1/membersegments/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from MemberSegment structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| membersegment | Object | MemberSegment object |
| status | Number | Status Codes. |
Create MemberSegment
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
member: '5b2b40e828bc5d191a4e1926',
segment: '5b2c9a0a67646e0051bd4b7b'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString("{\n \"segment\": \"5b2c9a0a67646e0051bd4b7b\",\n \"member\": \"5b2b40e828bc5d191a4e1926\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"segment\": \"5b2c9a0a67646e0051bd4b7b\",\n \"member\": \"5b2b40e828bc5d191a4e1926\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"segment\": \"5b2c9a0a67646e0051bd4b7b\",\n \"member\": \"5b2b40e828bc5d191a4e1926\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"member": "5b2b40e828bc5d191a4e1926",
"segment": "5b2c9a0a67646e0051bd4b7b"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/membersegments HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"member": "5b2b40e828bc5d191a4e1926",
"segment": "5b2c9a0a67646e0051bd4b7b"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"member": "5b2b40e828bc5d191a4e1926",
"segment": "5b2c9a0a67646e0051bd4b7b"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"member": "5b2b40e828bc5d191a4e1926",
"segment": "5b2c9a0a67646e0051bd4b7b"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a MemberSegment object.
This method creates a new membersegment.
HTTP Request
POST /api/v1/membersegments/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| membersegment | Object | MemberSegment object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| membersegment | Object | MemberSegment object |
| status | Number | Status Codes. |
Update MemberSegment by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments/59e918777e09760050c8272d", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
segment: '5b2c9a0a67646e0051bd4b7b'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString("{\n \"segment\": \"5b2c9a0a67646e0051bd4b7b\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"segment\": \"5b2c9a0a67646e0051bd4b7b\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"segment\": \"5b2c9a0a67646e0051bd4b7b\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"segment": "5b2c9a0a67646e0051bd4b7b"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/membersegments/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"segment": "5b2c9a0a67646e0051bd4b7b"
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"segment": "5b2c9a0a67646e0051bd4b7b"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"segment": "5b2c9a0a67646e0051bd4b7b"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a MemberSegment object.
This method updates the specified membersegment.
HTTP Request
PUT /api/v1/membersegments/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Value references to "_id" field from MemberSegment structure. |
| membersegment | Object | MemberSegment object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| membersegment | Object | MemberSegment object |
| status | Number | Status Codes. |
Delete MemberSegment by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments/59e918777e09760050c8272d", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/membersegments/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/membersegments/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified membersegment.
HTTP Request
DELETE /api/v1/membersegments/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from MemberSegment`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
MergeTrail
Merge trail is the collection which keeps track of all the merges between members, it contains the merge history across rcx.
MergeTrail Structure
Sample MergeTrail object
{
"_id" : "60efcb9b7f81660046fc3834",
"victim" : {
"enrollSource" : "Unknown",
"status" : "Active",
"gender" : "Unknown",
"canPreview" : false,
"mergePendingFlag" : false,
"synchronousMergeFlag" : false,
"trans" : {
"victims" : []
},
"_id" : "60efcb9b7f81660046fc3834",
"enrollDate" : "2021-07-14T18:30:00.000Z",
"enrollChannel" : "Web",
"program" : "60d07c515c40b3012d82eb77",
"type" : "Individual",
"firstName" : "V13",
"lastName" : "V13",
"acquisitionChannel" : "Web",
"dob" : null,
"ext" : {
"activationDate" : "",
"firstTxnDate" : "",
"lastQuarantineDate" : "",
"lastTxnDate" : "",
"bpLastActivityDate" : "",
"bpLastTxnDate" : "",
"zapparLastTxnDate" : "",
"netspendLastTxnDate" : "",
"vocLastTxnDate" : "",
"lastWelcomeBackAwardDate" : ""
},
"acquisitionDate" : "2021-07-15T05:46:03.568Z",
"tiers" : [
{
"primary" : true,
"_id" : "60efcb9b7f81660046fc3837",
"name" : "Tier 1",
"program" : "60d07c515c40b3012d82eb77",
"policyId" : "60d080855c40b3012d82ec01",
"level" : {
"defaultLevel" : true,
"expirationHours" : 0,
"expirationSnapTo" : "now",
"expiryWarningDays" : [],
"expiryValue" : 0,
"_id" : "60d080855c40b3012d82ec02",
"name" : "Silver",
"expiryUnit" : "Hours"
},
"achievedOn" : "2021-07-14T18:30:00.000Z",
"requalsOn" : "2021-07-15T05:46:03.594Z",
"createdAt" : "2021-07-15T05:46:03.594Z",
"updatedAt" : "2021-07-15T05:46:03.594Z",
"createdBy" : "5c58d8570bf24c075fb5886b",
"updatedBy" : "5c58d8570bf24c075fb5886b"
}
],
"badges" : [],
"purses" : [
{
"balance" : 100,
"availBalance" : 100,
"accruedPoints" : 100,
"redeemedPoints" : 0,
"escrowsIn" : 0,
"overdraftLimit" : 0,
"primary" : false,
"expiredPoints" : 0,
"expiredAccruals" : [],
"escrowedAccruals" : [],
"accruals" : [],
"redemptions" : [],
"lockedPoints" : [
{
"_id" : "60efcba67f81660046fc3844",
"activity" : "60efcba67f81660046fc383d",
"points" : 5,
"lockedDate" : "2021-07-15T11:16:00.000Z",
"lockedTillDate" : "2021-09-25T07:14:09.958Z"
}
],
"_id" : "60efcb9b7f81660046fc383b",
"name" : "Test",
"program" : "60d07c515c40b3012d82eb77",
"policyId" : "60e555eec8e13200408aaa41",
"org" : "5c58d8570bf24c075fb5886c",
"createdAt" : "2021-07-15T05:46:03.596Z",
"updatedAt" : "2021-07-15T05:46:14.379Z",
"createdBy" : "5c58d8570bf24c075fb5886b",
"updatedBy" : "5c58d8570bf24c075fb5886b"
}
],
"rewards" : [],
"activities" : [],
"offers" : [],
"segments" : [],
"memberSegments" : [],
"preferences" : [],
"tierHistory" : [],
"pendingIds" : [],
"createdAt" : "2021-07-15T05:46:03.569Z",
"updatedAt" : "2021-07-15T05:46:14.379Z",
"createdBy" : "5c58d8570bf24c075fb5886b",
"updatedBy" : "5c58d8570bf24c075fb5886b",
"org" : "5c58d8570bf24c075fb5886c",
"structureVersion" : 2,
"lastActivityDate" : "2021-07-15T11:16:00.000Z",
"nonce" : "60efcba6cee7a7004aa6772c"
},
"survivorId" : "60efcb5d7f81660046fc3629",
"survivorPurses" : [
{
"balance" : 200,
"availBalance" : 200,
"policyId" : "60e555eec8e13200408aaa41",
"accruedPoints" : 200,
"redeemedPoints" : 0
}
],
"mergeStatus" : "Complete",
"txnDate" : "2021-07-15T05:48:10.052Z",
"loyaltyIds" : [
{
"status" : "Active",
"primary" : true,
"name" : "AlternateID",
"loyaltyId" : "V13",
"ext" : {
"dateIssued" : "",
"dateRegistered" : ""
}
}
],
"segments" : [
"5f4ea5e3799b98010b70c1a3"
],
"preferences" : [
{
"type" : "Boolean",
"inferred" : false,
"expirationDate" : "2021-09-10T18:30:00.000Z",
"name" : "7REWARDS",
"value" : "Yes",
"optedInDate" : "2021-07-14T18:30:00.000Z",
"category" : "Preference",
"ext" : {
"tc_date" : "",
"consentEffDate" : ""
}
}
]
}
| Field | Type | Description |
|---|---|---|
| _id | ObjectId | unique The id of the record |
| victim | Object | Reference to Member |
| survivorId | ObjectId | Reference to "_id" field from Member |
| survivorPurses | Array | Survivor purses snapshot |
| mergeStatus | String | Status of the Merge (for example, Pending, Complete) |
| txnDate | Date | Merge process Date |
| loyaltyIds | Array | Snapshot of victim loyalty ids |
| segments | Array | Snapshot of victim segments |
| preferences | Array | Snapshot of victim preferences |
The object contains common fields
Reading MergeTrail Object
const axios = require('axios');
const token = 'eyJ0eXAiOiJKV1QiL';
const victimId = '5575cc7bbee6c00300164e22';
const survivorId = '5575cc7bbee6c00300164e23';
const mergeId = '5575cc7bbee6c00300164e24';
const extMergeId = '97015654';
const url = 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/mergetrail/';
const config = {
headers: { Authorization: `Bearer ${token}` }
};
axios.get(url + victimId, config)
.then(res => console.log(res.data));
axios.get(url + mergeId + '?mergeId=true', config)
.then(res => console.log(res.data));
axios.get(url + survivorId + '?survivor=true', config)
.then(res => console.log(res.data));
axios.get(url + extMergeId + '?extMergeId=true', config)
.then(res => console.log(res.data));
import java.io.IOException;
import okhttp3.*;
public class Main {
public static void main(String[] args) {
String token = "eyJ0eXAiOiJKV1QiL";
String victimId = "5575cc7bbee6c00300164e22";
String survivorId = "5575cc7bbee6c00300164e23";
String mergeId = "5575cc7bbee6c00300164e24";
String extMergeId = "97015654";
String url = "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/mergetrail/";
OkHttpClient client = new OkHttpClient();
try {
// fetching mergetrail object using victimId
Request.Builder requestBuilder = new Request.Builder()
.url(url + victimId)
.get()
.addHeader("Authorization", "Bearer " + token)
.addHeader("Cache-Control", "no-cache");
Request request = requestBuilder.build();
Response response = client.newCall(request).execute();
if (response.isSuccessful()) {
String data = response.body().string();
System.out.println(data);
}
// fetching mergetrail object using mergeId
requestBuilder = new Request.Builder()
.url(url + mergeId + "?mergeId=true")
.get()
.addHeader("Authorization", "Bearer " + token)
.addHeader("Cache-Control", "no-cache");
request = requestBuilder.build();
response = client.newCall(request).execute();
if (response.isSuccessful()) {
String data = response.body().string();
System.out.println(data);
}
// fetching mergetrail object using survivorId
requestBuilder = new Request.Builder()
.url(url + survivorId + "?survivor=true")
.get()
.addHeader("Authorization", "Bearer " + token)
.addHeader("Cache-Control", "no-cache");
request = requestBuilder.build();
response = client.newCall(request).execute();
if (response.isSuccessful()) {
String data = response.body().string();
System.out.println(data);
}
// fetching mergetrail object using extMergeId
requestBuilder = new Request.Builder()
.url(url + extMergeId + "?extMergeId=true")
.get()
.addHeader("Authorization", "Bearer " + token)
.addHeader("Cache-Control", "no-cache");
request = requestBuilder.build();
response = client.newCall(request).execute();
if (response.isSuccessful()) {
String data = response.body().string();
System.out.println(data);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
<?php
$token = 'eyJ0eXAiOiJKV1QiL';
$victimId = '5575cc7bbee6c00300164e22';
$survivorId = '5575cc7bbee6c00300164e23';
$mergeId = '5575cc7bbee6c00300164e24';
$extMergeId = '97015654';
$url = 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/mergetrail/';
// Fetching mergetrail object using victimId
$ch = curl_init($url . $victimId);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . $token));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if ($response !== false) {
$data = json_decode($response, true);
var_dump($data);
}
// Fetching mergetrail object using mergeId
$ch = curl_init($url . $mergeId . '?mergeId=true');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . $token));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if ($response !== false) {
$data = json_decode($response, true);
var_dump($data);
}
// Fetching mergetrail object using survivorId
$ch = curl_init($url . $survivorId . '?survivor=true');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . $token));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if ($response !== false) {
$data = json_decode($response, true);
var_dump($data);
}
// Fetching mergetrail object using extMergeId
$ch = curl_init($url . $extMergeId . '?extMergeId=true');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . $token));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if ($response !== false) {
$data = json_decode($response, true);
var_dump($data);
}
require 'net/http'
require 'uri'
require 'json'
token = 'eyJ0eXAiOiJKV1QiL'
victimId = '5575cc7bbee6c00300164e22'
survivorId = '5575cc7bbee6c00300164e23'
mergeId = '5575cc7bbee6c00300164e24'
extMergeId = '97015654'
url = URI.parse('https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/mergetrail/')
# Fetching mergetrail object using victimId
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url.path + victimId)
request['Authorization'] = "Bearer #{token}"
response = http.request(request)
if response.code == '200'
data = JSON.parse(response.body)
puts data
end
# Fetching mergetrail object using mergeId
request = Net::HTTP::Get.new(url.path + mergeId + '?mergeId=true')
request['Authorization'] = "Bearer #{token}"
response = http.request(request)
if response.code == '200'
data = JSON.parse(response.body)
puts data
end
# Fetching mergetrail object using survivorId
request = Net::HTTP::Get.new(url.path + survivorId + '?survivor=true')
request['Authorization'] = "Bearer #{token}"
response = http.request(request)
if response.code == '200'
data = JSON.parse(response.body)
puts data
end
# Fetching mergetrail object using extMergeId
request = Net::HTTP::Get.new(url.path + extMergeId + '?extMergeId=true')
request['Authorization'] = "Bearer #{token}"
response = http.request(request)
if response.code == '200'
data = JSON.parse(response.body)
puts data
end
token='eyJ0eXAiOiJKV1QiL'
victimId='5575cc7bbee6c00300164e22'
survivorId='5575cc7bbee6c00300164e23'
mergeId='5575cc7bbee6c00300164e24'
extMergeId='97015654'
url='https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/mergetrail/'
# Fetching mergetrail object using victimId
curl -X GET -H "Authorization: Bearer $token" "$url$victimId"
# Fetching mergetrail object using mergeId
curl -X GET -H "Authorization: Bearer $token" "$url$mergeId?mergeId=true"
# Fetching mergetrail object using survivorId
curl -X GET -H "Authorization: Bearer $token" "$url$survivorId?survivor=true"
# Fetching mergetrail object using extMergeId
curl -X GET -H "Authorization: Bearer $token" "$url$extMergeId?extMergeId=true"
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
string token = "eyJ0eXAiOiJKV1QiL";
string victimId = "5575cc7bbee6c00300164e22";
string survivorId = "5575cc7bbee6c00300164e23";
string mergeId = "5575cc7bbee6c00300164e24";
string extMergeId = "97015654";
string url = "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/mergetrail/";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
HttpResponseMessage response = await client.GetAsync(url + victimId);
if (response.IsSuccessStatusCode)
{
string data = await response.Content.ReadAsStringAsync();
Console.WriteLine(data);
}
response = await client.GetAsync(url + mergeId + "?mergeId=true");
if (response.IsSuccessStatusCode)
{
string data = await response.Content.ReadAsStringAsync();
Console.WriteLine(data);
}
response = await client.GetAsync(url + survivorId + "?survivor=true");
if (response.IsSuccessStatusCode)
{
string data = await response.Content.ReadAsStringAsync();
Console.WriteLine(data);
}
response = await client.GetAsync(url + extMergeId + "?extMergeId=true");
if (response.IsSuccessStatusCode)
{
string data = await response.Content.ReadAsStringAsync();
Console.WriteLine(data);
}
}
}
}
import Foundation
let token = "eyJ0eXAiOiJKV1QiL"
let victimId = "5575cc7bbee6c00300164e22"
let survivorId = "5575cc7bbee6c00300164e23"
let mergeId = "5575cc7bbee6c00300164e24"
let extMergeId = "97015654"
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/mergetrail/")!
var request = URLRequest(url: url.appendingPathComponent(victimId))
request.addValue("Bearer \(token)", forHTTPHeaderField: "Authorization")
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
if let data = data, let jsonString = String(data: data, encoding: .utf8) {
print(jsonString)
}
}
task.resume()
request = URLRequest(url: url.appendingPathComponent(mergeId).appendingPathComponent("?mergeId=true"))
request.addValue("Bearer \(token)", forHTTPHeaderField: "Authorization")
let task2 = URLSession.shared.dataTask(with: request) { (data, response, error) in
if let data = data, let jsonString = String(data: data, encoding: .utf8) {
print(jsonString)
}
}
task2.resume()
request = URLRequest(url: url.appendingPathComponent(survivorId).appendingPathComponent("?survivor=true"))
request.addValue("Bearer \(token)", forHTTPHeaderField: "Authorization")
let task3 = URLSession.shared.dataTask(with: request) { (data, response, error) in
if let data = data, let jsonString = String(data: data, encoding: .utf8) {
print(jsonString)
}
}
task3.resume()
request = URLRequest(url: url.appendingPathComponent(extMergeId).appendingPathComponent("?extMergeId=true"))
request.addValue("Bearer \(token)", forHTTPHeaderField: "Authorization")
let task4 = URLSession.shared.dataTask(with: request) { (data, response, error) in
if let data = data, let jsonString = String(data: data, encoding: .utf8) {
print(jsonString)
}
}
task4.resume()
token='eyJ0eXAiOiJKV1QiL'
victimId='5575cc7bbee6c00300164e22'
survivorId='5575cc7bbee6c00300164e23'
mergeId='5575cc7bbee6c00300164e24'
extMergeId='97015654'
url='https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/mergetrail/'
# Fetching mergetrail object using victimId
http GET "$url$victimId" "Authorization: Bearer $token"
# Fetching mergetrail object using mergeId
http GET "$url$mergeId?mergeId=true" "Authorization: Bearer $token"
# Fetching mergetrail object using survivorId
http GET "$url$survivorId?survivor=true" "Authorization: Bearer $token"
# Fetching mergetrail object using extMergeId
http GET "$url$extMergeId?extMergeId=true" "Authorization: Bearer $token"
The above command returns a MergeTrail object.
This method retrieves a MergeTrail document/documents by victimId, survivorId, mergeId, and extMergeId from the API.
You can see the full MergeTrail structure.
HTTP Request
GET /api/v1/mergetrail/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId/String | Victim ID, survivor ID, merge ID or extMerge ID. |
| query parameters | String | Ex: ?extMergeId=true, ?survivor=true or ?mergeId=true |
Output Arguments
| Name | Type | Description |
|---|---|---|
| mergetrail | Object | MergeTrail structure. |
| status | Number | Status Codes. |
Offers
This API is compliant with the query interface described in Advanced Queries.
Offers are like rewards, that are loaded externally for a member.
Offer Structure
{
"name": "30% Off Pants",
"code": "OFF30PCT",
"desc": "30% Off Pants",
"usesLeft": 1,
"type": "Offer",
"isGlobal": false,
"expiresOn": "2017-11-19T07:00:00.000Z",
"effectiveDate": "2017-10-19T07:51:00.000Z",
"member": "59df84e3bc4f61095c84b002",
"_id": "59e8598131a6b90052ed4c48",
"lockDetails": [
{
"_id" : "66543decc872a5003708b501",
"lockTxnId" : "test_123",
"lockTill" : "2024-05-29T10:49:00.000Z",
"lockAct" : "66543decc872a5003708b4fa",
"lockedUses" : 1
}
],
"divisions": ["59de86b7584b770052aaacb1", "59de86b7584b770052aaacb2"],
"createdAt": "2017-10-19T07:51:29.083Z",
"updatedAt": "2017-10-19T07:51:39.250Z",
"createdBy": "59de84708d69b9006b8295df",
"updatedBy": "59de84708d69b9006b8295df"
}
| field | Type/Format | Description |
|---|---|---|
| _id | ObjectId | required unique Unique ID |
| name | String | required name of the offer |
| code | String | offer code. |
| desc | String | the description of the offer |
| usesLeft | Number | number of uses left in the offer. |
| effectiveDate | Date | Default: UTC Date from which the offer is active/effective. Date Formats |
| expiresOn | Date | Date on which the offer would expire. Date Formats |
| member | ObjectId | required _id of the Member to which member the offer belongs to. |
| policyId | ObjectId | required _id of the Reward Policy associated with this offer. |
| discount | Number | Discount amount awarded as part of Global Offer redemption. |
| isGlobal | Boolean | Whether the offer is global or not |
| url | String | URL to a picture resource for this offer |
| upc | String | UPC code of the discount lineItem to be given when this offer is applied. Must exist in Products. |
| type | String | default: Offer type of offer(Offer/Global Offer) |
| timesUsed | Number | Number of times the offer is used. |
| redemptionDate | Date | UTC date on which the offer is utilized |
| redemptionLocalDate | Date | Local date on which the offer is utilized |
| activityUTCOffset | Number | Difference in minutes from Universal Time (UTC) for a particular place |
| rule | ObjectId | Unique ID of rule that triggered the offer utility |
| activity | ObjectId | Unique ID of the activity where the offer is utilized |
| isCancelled | Boolean | Indicates if a member offer is cancelled |
| canPreview | Boolean | Whether the offer can be used in arbitration before the effective date, only for members who have canPreview as true. |
| lockDetails | Array | set of lock details |
| divisions | Array | Array of ObjectId references to divisions. This field provides restriction to user groups. |
The object contains common fields
Read all Offers
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/offers HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Offer objects.
This method returns all offers in the system.
HTTP Request
GET /api/v1/offers
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| offers | Array | set of Offer object |
| status | Number | Status Codes. |
Read Offer by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers/59e8598131a6b90052ed4c48", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers/59e8598131a6b90052ed4c48"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers/59e8598131a6b90052ed4c48");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers/59e8598131a6b90052ed4c48")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers/59e8598131a6b90052ed4c48',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/offers/59e8598131a6b90052ed4c48 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers/59e8598131a6b90052ed4c48 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers/59e8598131a6b90052ed4c48")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Offer object.
This method reads the specified offer.
HTTP Request
GET /api/v1/offers/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from Offer`s structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| offer | Object | Offer object |
| status | Number | Status Codes. |
Create Offer
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"name": "30% Off Pants",
"code": "OFF30PCT1",
"desc": "30% Off Pants",
"usesLeft": 1,
"isGlobal": false,
"type": "Offer",
"policyId": "5c5a8efe88a73e01552ba5d4",
"expiresOn": "2017-11-19T07:00:00.000Z",
"effectiveDate": "2017-10-19T07:51:00.000Z",
"member": "59df84e3bc4f61095c84b002"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"name": "30% Off Pants",
"code": "OFF30PCT1",
"desc": "30% Off Pants",
"usesLeft": 1,
"expiresOn": "2017-11-19T07:00:00.000Z",
"effectiveDate": "2017-10-19T07:51:00.000Z",
"member": "59df84e3bc4f61095c84b002",
"policyId": "5c5a8efe88a73e01552ba5d4"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"name": "30% Off Pants",
"code": "OFF30PCT1",
"desc": "30% Off Pants",
"usesLeft": 1,
"expiresOn": "2017-11-19T07:00:00.000Z",
"effectiveDate": "2017-10-19T07:51:00.000Z",
"member": "59df84e3bc4f61095c84b002",
"policyId": "5c5a8efe88a73e01552ba5d4"
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"name": "30% Off Pants",
"code": "OFF30PCT1",
"desc": "30% Off Pants",
"usesLeft": 1,
"expiresOn": "2017-11-19T07:00:00.000Z",
"effectiveDate": "2017-10-19T07:51:00.000Z",
"member": "59df84e3bc4f61095c84b002",
"policyId": "5c5a8efe88a73e01552ba5d4"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"name": "30% Off Pants",
"code": "OFF30PCT1",
"desc": "30% Off Pants",
"usesLeft": 1,
"expiresOn": "2017-11-19T07:00:00.000Z",
"effectiveDate": "2017-10-19T07:51:00.000Z",
"member": "59df84e3bc4f61095c84b002",
"policyId": "5c5a8efe88a73e01552ba5d4"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/offers HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Content-Type: application/json
Cache-Control: no-cache
{
"name": "30% Off Pants",
"code": "OFF30PCT1",
"desc": "30% Off Pants",
"usesLeft": 1,
"expiresOn": "2017-11-19T07:00:00.000Z",
"effectiveDate": "2017-10-19T07:51:00.000Z",
"member": "59df84e3bc4f61095c84b002",
"policyId": "5c5a8efe88a73e01552ba5d4"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"name": "30% Off Pants",
"code": "OFF30PCT1",
"desc": "30% Off Pants",
"usesLeft": 1,
"expiresOn": "2017-11-19T07:00:00.000Z",
"effectiveDate": "2017-10-19T07:51:00.000Z",
"member": "59df84e3bc4f61095c84b002",
"policyId": "5c5a8efe88a73e01552ba5d4"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"name": "30% Off Pants",
"code": "OFF30PCT1",
"desc": "30% Off Pants",
"usesLeft": 1,
"expiresOn": "2017-11-19T07:00:00.000Z",
"effectiveDate": "2017-10-19T07:51:00.000Z",
"member": "59df84e3bc4f61095c84b002",
"policyId": "5c5a8efe88a73e01552ba5d4"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a single Offer object.
This method creates a new offer.
HTTP Request
POST /api/v1/offers/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| offer | Object | Offer object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| offer | Object | Offer object |
| status | Number | Status Codes. |
Update Offer by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers/59e85ba07e09760050c82708", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"usesLeft": 2
})
});
const data = await response.json();
console.log(data);
String body = """
{
"usesLeft": 2
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers/59e85ba07e09760050c82708"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers/59e85ba07e09760050c82708");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"usesLeft": 2
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers/59e85ba07e09760050c82708")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"usesLeft": 2
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers/59e85ba07e09760050c82708',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"usesLeft": 2
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/offers/59e85ba07e09760050c82708 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Content-Type: application/json
Cache-Control: no-cache
{
"usesLeft": 2
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers/59e85ba07e09760050c82708 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"usesLeft": 2
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offers/59e85ba07e09760050c82708")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"usesLeft": 2
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Offer object.
This method updates the specified offer.
HTTP Request
PUT /api/v1/offers/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from Offer`s structure. |
| offer | Object | Offer object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| offer | Object | Offer object |
| status | Number | Status Codes. |
Delete Offer by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59e84dbc31a6b90052ed4bc1", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"usesLeft": 2
})
});
const data = await response.json();
console.log(data);
String body = """
{
"usesLeft": 2
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59e84dbc31a6b90052ed4bc1"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59e84dbc31a6b90052ed4bc1");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"usesLeft": 2
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59e84dbc31a6b90052ed4bc1")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"usesLeft": 2
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59e84dbc31a6b90052ed4bc1',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"usesLeft": 2
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/rewards/59e84dbc31a6b90052ed4bc1 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Content-Type: application/json
Cache-Control: no-cache
{
"usesLeft": 2
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59e84dbc31a6b90052ed4bc1 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"usesLeft": 2
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59e84dbc31a6b90052ed4bc1")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"usesLeft": 2
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified offer.
HTTP Request
Delete /api/v1/offers/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Value references to "_id" field from Offer`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Partners
This API is compliant with the query interface described in Advanced Queries.
A partner defines an external entity which can submit Activities. The Activity carries a partnerCode which will be validated against all defined partners. The same partnerCode could be used to define rules specific to a particular partner, for example, translating the points accrued to a differnet value if they are coming from extenral entities.
Partner Structure
{
"name": "Herz",
"code": "HERZ",
"status": "Active",
"email": "marketingadmin.com",
"phone": "+12062331123",
"contactFirst": "Emil",
"contactLast": "Sarkissian",
"program": "59de86b7584b770052aaacaf",
"_id": "59fd5adaf10a100052f93bd4",
"createdAt": "2016-11-04T06:14:50.354Z",
"updatedAt": "2016-11-04T06:14:50.354Z",
"createdBy": "59de84708d69b9006b8295df",
"updatedBy": "59de84708d69b9006b8295df"
}
| Field | Type | Description |
|---|---|---|
| _id | ObjectId | unique The id of the record |
| code | String | required Partner code which will be unique for each partner. |
| name | String | required Partner name |
| status | String | required Partners Status, which can be Active, Inactive, Suspended. This is driven by the Enums with type=PartnerStatus. |
| contactFirst | String | The first name of the partner contact person. |
| contactLast | String | The last name of the partner contact person. |
| String | The email of the partner contact person. | |
| phone | String | The phone number of the partner contact person. |
| program | ObjectId | Reference to Program |
| divisions | Array | It provides restriction to user groups |
The object contains common fields
Read all Partners
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/partners HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Partner objects.
This methods returns all partners in the system.
HTTP Request
GET /api/v1/partners
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| partners | Array | set of Partner objects |
| status | Number | Status Codes. |
Read Partner by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners/59de97de584b770052aab641", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners/59de97de584b770052aab641"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners/59de97de584b770052aab641");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners/59de97de584b770052aab641")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners/59de97de584b770052aab641',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/partners/59de97de584b770052aab641 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners/59de97de584b770052aab641 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners/59de97de584b770052aab641")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Partner object.
This method returns the specified partner.
HTTP Request
GET /api/v1/partners/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from Partner structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| partner | Object | Partner object |
| status | Number | Status Codes. |
Create Partner
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
name: 'Herz',
code: 'HERZ'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString("{\n \"name\": \"Herz\",\n \"code\": \"HERZ\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"name\": \"Herz\",\n \"code\": \"HERZ\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"name\": \"Herz\",\n \"code\": \"HERZ\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"code": "HERZ",
"name": "Herz"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/partners HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"code": "HERZ",
"name": "Herz"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"code": "HERZ",
"name": "Herz"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"code": "HERZ",
"name": "Herz"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Partner object.
This method creates a new partner.
HTTP Request
POST /api/v1/partners/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| partner | Object | Partner object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| partner | Object | Partner object |
| status | Number | Status Codes. |
Update Partner by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners/59e918777e09760050c8272d", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
contactLast: 'Sarkissian',
contactFirst: 'Emil'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString("{\n \"contactLast\": \"Sarkissian\",\n \"contactFirst\": \"Emil\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"contactLast\": \"Sarkissian\",\n \"contactFirst\": \"Emil\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"contactLast\": \"Sarkissian\",\n \"contactFirst\": \"Emil\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"contactFirst": "Emil",
"contactLast": "Sarkissian"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/partners/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"contactFirst": "Emil",
"contactLast": "Sarkissian"
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"contactFirst": "Emil",
"contactLast": "Sarkissian"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"contactFirst": "Emil",
"contactLast": "Sarkissian"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Partner object.
This method updates the specified partner.
HTTP Request
PUT /api/v1/partners/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Value references to "_id" field from Partner structure. |
| partner | Object | Partner object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| partner | Object | Partner object |
| status | Number | Status Codes. |
Delete Partner by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners/59e918777e09760050c8272d", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/partners/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/partners/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified partner.
HTTP Request
DELETE /api/v1/partners/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from Partner`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Preferences
This API is compliant with the query interface described in Advanced Queries.
Preferences are values set for each Member to indicate interest in products, personal preferences, clientelling attributes, and so on.
Member Preference Structure
Sample Member Preference object
{
"_id" : "5723aa474c18d776a60d5667",
"memberId" : "5723aa474c18d776a60d5635",
"name" : "Interest in Food Items",
"expirationDate" : "3000-01-01T00:00:00Z",
"value" : "Medium",
"optedInDate" : "2016-04-29T18:39:03.138Z",
"inferred" : false,
"createdAt": "2015-06-08T17:10:22.956Z",
"updatedAt": "2015-06-10T18:10:17.759Z",
"createdBy": "5575cd268e18e80300c3fd4c",
"updatedBy": "5575cd268e18e80300c3fd4c"
}
| Field | Type/Format | Description |
|---|---|---|
| _id | ObjectId | readonly Unique value for every record. |
| memberId | ObjectId | required Member's ID. |
| name | String | required Preference name. This is validated against Enums (Type = MemberPreferenceName) |
| value | Object | required Preference value. The data type of this value is governed by the valueType property of the corresponding enumerator. |
| type | String | Default: String String/Number/Date. This is validated against Enums (Type = MemberPreferenceType) |
| expirationDate | Date | default: 1/1/3000 Date, after which the setting is no longer valid |
| optedInDate | Date | required When the preference opt-in was received |
| inferred | Boolean | default: false Indicates inferred preference |
| category | String | required The category to which the preference belongs. This is validated against Enums (Type = PreferenceCategory) |
The object contains common fields
Read all Preferences
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/memberpreferences HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Preference objects.
This method returns all preferences in the system.
HTTP Request
GET /api/v1/memberpreferences/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| preferences | Array | An array of preference JSONs objects. |
Create Preference
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"memberId": "59df84e6bc4f61095c84be44",
"name": "Interest in Cold Drinks",
"value": "Yes",
"type": "String",
"category": "Marketing",
"inferred": false,
"expirationDate": null,
"autoOptInDate": "1-1-2017",
"optedInDate": "2017-10-19T07:00:00.000Z"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"memberId": "59df84e6bc4f61095c84be44",
"name": "Interest in Cold Drinks",
"value": "Yes",
"type": "String",
"inferred": false,
"expirationDate": null,
"autoOptInDate": "1-1-2017",
"optedInDate": "2017-10-19T07:00:00.000Z"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"memberId": "59df84e6bc4f61095c84be44",
"name": "Interest in Cold Drinks",
"value": "Yes",
"type": "String",
"inferred": false,
"expirationDate": null,
"autoOptInDate": "1-1-2017",
"optedInDate": "2017-10-19T07:00:00.000Z"
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"memberId": "59df84e6bc4f61095c84be44",
"name": "Interest in Cold Drinks",
"value": "Yes",
"type": "String",
"inferred": false,
"expirationDate": null,
"autoOptInDate": "1-1-2017",
"optedInDate": "2017-10-19T07:00:00.000Z"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"memberId": "59df84e6bc4f61095c84be44",
"name": "Interest in Cold Drinks",
"value": "Yes",
"type": "String",
"inferred": false,
"expirationDate": null,
"autoOptInDate": "1-1-2017",
"optedInDate": "2017-10-19T07:00:00.000Z"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/memberpreferences HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"memberId": "59df84e6bc4f61095c84be44",
"name": "Interest in Cold Drinks",
"value": "Yes",
"type": "String",
"inferred": false,
"expirationDate": null,
"autoOptInDate": "1-1-2017",
"optedInDate": "2017-10-19T07:00:00.000Z"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"memberId": "59df84e6bc4f61095c84be44",
"name": "Interest in Cold Drinks",
"value": "Yes",
"type": "String",
"inferred": false,
"expirationDate": null,
"autoOptInDate": "1-1-2017",
"optedInDate": "2017-10-19T07:00:00.000Z"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"memberId": "59df84e6bc4f61095c84be44",
"name": "Interest in Cold Drinks",
"value": "Yes",
"type": "String",
"inferred": "",
"expirationDate": "",
"autoOptInDate": "1-1-2017",
"optedInDate": "2017-10-19T07:00:00.000Z"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns the saved Member Preference objects.
This method creates a member preference.
HTTP Request
POST /api/v1/memberpreferences/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| preference | Object | New data to save in RCX API with member preference structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| preference | Object | New data to save in RCX API with member preference structure. |
| status | Number | Status Codes. |
Read Preference by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences/59e908cb7e09760050c8271a", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences/59e908cb7e09760050c8271a"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences/59e908cb7e09760050c8271a");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences/59e908cb7e09760050c8271a")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences/59e908cb7e09760050c8271a',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/memberpreferences/59e908cb7e09760050c8271a HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences/59e908cb7e09760050c8271a \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences/59e908cb7e09760050c8271a")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a member preferences object.
HTTP Request
GET /api/v1/memberpreferences/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Id field from member preference structure, used to identify a preference record uniquely. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| prefence | Object | A preference object. |
Update Preference by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences/59e90d417e09760050c8272c", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"value": "No"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"value": "No"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences/59e90d417e09760050c8272c"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences/59e90d417e09760050c8272c");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"value": "No"
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences/59e90d417e09760050c8272c")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"value": "No"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences/59e90d417e09760050c8272c',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"value": "No"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/memberpreferences/59e90d417e09760050c8272c HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"value": "No"
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences/59e90d417e09760050c8272c \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"value": "No"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences/59e90d417e09760050c8272c")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"value": "No"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns Member Preference objects.
This method updates the specified member preference.
HTTP Request
PUT /api/v1/memberpreferences/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| preference | Object | New data to save in RCX API with member preference structure. |
| id | ObjectId | "_id" field from member preference structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| preference | Object | New data to save in RCX API with member preference structure. |
| status | Number | Status Codes. |
Delete Preference by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences/59e90d417e09760050c8272c", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences/59e90d417e09760050c8272c"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences/59e90d417e09760050c8272c");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences/59e90d417e09760050c8272c")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences/59e90d417e09760050c8272c',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/memberpreferences/59e90d417e09760050c8272c HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences/59e90d417e09760050c8272c \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/memberpreferences/59e90d417e09760050c8272c")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified member preference.
HTTP Request
DELETE /api/v1/memberpreferences/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | "_id" field from member preference structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Products
This API is compliant with the query interface described in Advanced Queries.
A product is an item that can be bought as part of an order. A product may also be redeemed for points.
RCX products are replicated from a company's product catalog or item record. The reason for this replication is to enable rules to be built in RCX that take into account what the customer is buying - for example, rules that provide extra points for buying a particular category of product.
Product Structure
Sample Product Object
{
"name": "Peanut Butter & Jelly Donut",
"category": "Food",
"subcategory": "Baked Goods",
"style": "Donut",
"sku": "Sku-1",
"_id": "59de897a584b770052aab144",
"divisions": ["59de86b7584b770052aaacb1", "59de86b7584b770052aaacb2"],
"createdAt": "2017-10-11T21:13:30.881Z",
"updatedAt": "2017-10-12T02:54:27.143Z",
"createdBy": "59de84708d69b9006b8295df",
"updatedBy": "59de84708d69b9006b8295df",
}
| field | Type/Format | Description |
|---|---|---|
| name | String | required Product short name |
| desc | String | Product full description |
| category | String | Product category |
| subcategory | String | Product sub-category |
| style | String | Product style |
| sku | String | required Product SKU |
| url | String | URL to a picture resource for this product |
| cost | Number | Cost in points |
| internalCode | String | Internal product code |
| upc | String | Universal product code |
| effectiveDate | Date | Default: now Date from which the product is effective. Date Formats |
| expirationDate | Date | Date on which the product expires. Date Formats |
| divisions | Array | Array of ObjectId references to divisions. This field provides restriction to user groups. |
The object contains common fields
Read all Products
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59de897a584b770052aab144", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59de897a584b770052aab144"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59de897a584b770052aab144");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59de897a584b770052aab144")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59de897a584b770052aab144',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/products/59de897a584b770052aab144 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59de897a584b770052aab144 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59de897a584b770052aab144")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Product objects.
This method returns all products in the system.
HTTP Request
GET /api/v1/products
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Used to identify the user to the API. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| products | Array | Array of Product objects |
| status | Number | Status Codes. |
Read Product by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"name": "Peanut Butter & Jelly Donut 1",
"category": "Food",
"subcategory": "Baked Goods",
"style": "Donut",
"sku": "Sku-12222"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"name": "Peanut Butter & Jelly Donut 1",
"category": "Food",
"subcategory": "Baked Goods",
"style": "Donut",
"sku": "Sku-12222"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"name": "Peanut Butter & Jelly Donut 1",
"category": "Food",
"subcategory": "Baked Goods",
"style": "Donut",
"sku": "Sku-12222"
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"name": "Peanut Butter & Jelly Donut 1",
"category": "Food",
"subcategory": "Baked Goods",
"style": "Donut",
"sku": "Sku-12222"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"name": "Peanut Butter & Jelly Donut 1",
"category": "Food",
"subcategory": "Baked Goods",
"style": "Donut",
"sku": "Sku-12222"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/products HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"name": "Peanut Butter & Jelly Donut 1",
"category": "Food",
"subcategory": "Baked Goods",
"style": "Donut",
"sku": "Sku-12222"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"name": "Peanut Butter & Jelly Donut 1",
"category": "Food",
"subcategory": "Baked Goods",
"style": "Donut",
"sku": "Sku-12222"
}
'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"name": "Peanut Butter & Jelly Donut 1",
"category": "Food",
"subcategory": "Baked Goods",
"style": "Donut",
"sku": "Sku-12222"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Product object.
This method returns the specified product.
HTTP Request
GET /api/v1/products/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | "_id" field from Product |
Output Arguments
| Name | Type | Description |
|---|---|---|
| product | Object | Product object |
| status | Number | Status Codes |
Create Product
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"name": "Peanut Butter & Jelly Donut 1",
"category": "Food",
"subcategory": "Baked Goods",
"style": "Donut",
"sku": "Sku-12222"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"name": "Peanut Butter & Jelly Donut 1",
"category": "Food",
"subcategory": "Baked Goods",
"style": "Donut",
"sku": "Sku-12222"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"name": "Peanut Butter & Jelly Donut 1",
"category": "Food",
"subcategory": "Baked Goods",
"style": "Donut",
"sku": "Sku-12222"
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"name": "Peanut Butter & Jelly Donut 1",
"category": "Food",
"subcategory": "Baked Goods",
"style": "Donut",
"sku": "Sku-12222"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"name": "Peanut Butter & Jelly Donut 1",
"category": "Food",
"subcategory": "Baked Goods",
"style": "Donut",
"sku": "Sku-12222"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/products HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"name": "Peanut Butter & Jelly Donut 1",
"category": "Food",
"subcategory": "Baked Goods",
"style": "Donut",
"sku": "Sku-12222"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"name": "Peanut Butter & Jelly Donut 1",
"category": "Food",
"subcategory": "Baked Goods",
"style": "Donut",
"sku": "Sku-12222"
}
'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"name": "Peanut Butter & Jelly Donut 1",
"category": "Food",
"subcategory": "Baked Goods",
"style": "Donut",
"sku": "Sku-12222"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns the new Product object.
This method creates a new product.
HTTP Request
POST /api/v1/products/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token |
| newProduct | Object | New data with Product structure |
Output Arguments
| Name | Type | Description |
|---|---|---|
| newProduct | Object | Product object |
| status | Number | Status Codes |
Update Product by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59e8f9b37e09760050c82718", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"category": "Drinks"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"category": "Drinks"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59e8f9b37e09760050c82718"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59e8f9b37e09760050c82718");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"category": "Drinks"
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59e8f9b37e09760050c82718")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"category": "Drinks"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59e8f9b37e09760050c82718',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"category": "Drinks"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/products/59e8f9b37e09760050c82718 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"category": "Drinks"
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59e8f9b37e09760050c82718 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"category": "Drinks"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59e8f9b37e09760050c82718")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"category": "Drinks"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns Product objects.
This method updates the specified product.
HTTP Request
PUT /api/v1/products/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token |
| id | ObjectId | "_id" field from Product structure |
| product | Object | Product object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| newProduct | Object | Product object |
| status | Number | Status Codes |
Delete Product by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59e8f9b37e09760050c82718", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59e8f9b37e09760050c82718"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59e8f9b37e09760050c82718");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59e8f9b37e09760050c82718")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59e8f9b37e09760050c82718',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59e8f9b37e09760050c82718 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59e8f9b37e09760050c82718 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/products/59e8f9b37e09760050c82718")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified product.
HTTP Request
DELETE /api/v1/products/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | "_id" field from Product structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | statusCode | 204 = OK |
Promo Codes
Promo Codes are single-use codes that members can present to claim a one-time benefit. Codes are organized into campaigns: a PromoCodeDef defines the campaign (name, code format, validity window, program, code cap), and individual PromoCode records — one per generated code — track each code's status as it moves through New → Assigned → Redeemed.
A typical lifecycle is:
- Create a
PromoCodeDefdescribing the campaign. - Call Generate Promo Codes to populate the campaign with
PromoCoderecords. - Distribute codes to members. Either Assign a code in advance to a specific member, or let the member Redeem a code directly when they use it.
- Use Export to retrieve the list of codes for a campaign.
Standard CRUD on PromoCodeDef and PromoCode is also available at /api/v1/promocodedefs and /api/v1/promocodes.
PromoCodeDef Structure
Sample PromoCodeDef object
{
"_id": "60b1c3e2f8b9c70040a91d22",
"name": "Summer 2024 Welcome",
"desc": "Promo codes for summer 2024 welcome campaign",
"campaignCode": "SUMMER24",
"type": "OneTimeUse",
"codeLength": 8,
"codeAlphabet": "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"codeCap": 1000,
"startDate": "2024-06-01T00:00:00.000Z",
"endDate": "2024-09-01T00:00:00.000Z",
"program": "60828b1be76d4100402cd503",
"org": "60245bec85c63e012653b3fd",
"createdAt": "2024-05-15T09:00:00.000Z",
"updatedAt": "2024-05-15T09:00:00.000Z",
"createdBy": "60245bec85c63e012653b3fc",
"updatedBy": "60245bec85c63e012653b3fc"
}
| Field | Type/Format | Defaults | Description |
|---|---|---|---|
| _id | ObjectId | readonly Unique value for every record. |
|
| name | String | required Name of the campaign. Max length 250. |
|
| desc | String | Description of the campaign. Max length 250. | |
| campaignCode | String | required Short code that identifies the campaign. Unique per organization. |
|
| type | String | required Campaign type (e.g. OneTimeUse). |
|
| codeLength | Number | 8 | Length, in characters, of each generated promo code. |
| codeAlphabet | String | 0–9A–Za–z |
Characters available when generating codes. |
| codeCap | Number | 1 | Number of PromoCode records to generate for the campaign. Minimum 1. |
| startDate | Date | Earliest date on which codes from this campaign may be assigned or redeemed. | |
| endDate | Date | Latest date on which codes from this campaign may be assigned or redeemed. | |
| program | ObjectId | required The program the campaign belongs to. |
The object contains common fields.
PromoCode Structure
Sample PromoCode object
{
"_id": "60b1c401f8b9c70040a91e0a",
"code": "X4F7K2QA",
"defId": "60b1c3e2f8b9c70040a91d22",
"memberId": "60839af3e3b54d0040b0daec",
"status": "Assigned",
"assignmentDate": "2024-06-10T15:42:11.000Z",
"redemptionDate": null,
"expirationDate": "2024-09-01T00:00:00.000Z",
"org": "60245bec85c63e012653b3fd",
"createdAt": "2024-06-01T12:00:00.000Z",
"updatedAt": "2024-06-10T15:42:11.000Z",
"createdBy": "60245bec85c63e012653b3fc",
"updatedBy": "60245bec85c63e012653b3fc"
}
| Field | Type/Format | Defaults | Description |
|---|---|---|---|
| _id | ObjectId | readonly Unique value for every record. |
|
| code | String | required The promo code value. Unique per organization. |
|
| defId | ObjectId | required Reference to the PromoCodeDef (campaign) that this code belongs to. |
|
| memberId | ObjectId | The member the code has been assigned to (set once the code transitions out of New). |
|
| status | String | New |
One of New, Assigned, or Redeemed. |
| assignmentDate | Date | When the code was assigned to a member. | |
| redemptionDate | Date | When the code was redeemed. | |
| expirationDate | Date | When the code expires. |
The object contains common fields.
Generate Promo Codes
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/generatecodes", {
method: "PATCH",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"campaignCode": "SUMMER24"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"campaignCode": "SUMMER24"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/generatecodes"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.method("PATCH", HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Patch, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/generatecodes");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"campaignCode": "SUMMER24"
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/generatecodes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"campaignCode": "SUMMER24"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/generatecodes',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"campaignCode": "SUMMER24"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PATCH /api/v1/promocodes/generatecodes HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{"campaignCode":"SUMMER24"}
curl -X PATCH \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/generatecodes \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{"campaignCode":"SUMMER24"}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/generatecodes")!
var request = URLRequest(url: url)
request.httpMethod = "PATCH"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"campaignCode": "SUMMER24"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
Sample response
{
"_id": "60b1c3f0f8b9c70040a91d99",
"name": "GeneratePromoCodes_SUMMER24",
"status": "Running",
"result": "success",
"params": [{
"campaignCode": "SUMMER24",
"org": "60245bec85c63e012653b3fd",
"user": "60245bec85c63e012653b3fc"
}],
"createdAt": "2024-05-15T09:00:00.000Z",
"updatedAt": "2024-05-15T09:00:00.000Z"
}
Generates the full set of PromoCode records for a campaign. The number generated equals the codeCap value on the campaign's PromoCodeDef. Code values are produced from the campaign's codeAlphabet and have length codeLength. Generated codes start in New status.
Generation is performed asynchronously by a background job. The response is the Job record that owns the work; poll the job to observe progress. Only one GeneratePromoCodes job per campaign may run at a time — a request issued while a prior job is still running fails with error code 1762.
HTTP Request
PATCH /api/v1/promocodes/generatecodes
Request body
| Field | Type | Required | Description |
|---|---|---|---|
| campaignCode | String | yes | The campaignCode of the PromoCodeDef whose codes should be generated. |
Assign Promo Code
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/SUMMER24/assign/60839af3e3b54d0040b0daec", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/SUMMER24/assign/60839af3e3b54d0040b0daec"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/SUMMER24/assign/60839af3e3b54d0040b0daec");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/SUMMER24/assign/60839af3e3b54d0040b0daec")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/SUMMER24/assign/60839af3e3b54d0040b0daec',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/promocodes/SUMMER24/assign/60839af3e3b54d0040b0daec HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/SUMMER24/assign/60839af3e3b54d0040b0daec \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/SUMMER24/assign/60839af3e3b54d0040b0daec")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
Sample response
{
"_id": "60b1c401f8b9c70040a91e0a",
"code": "X4F7K2QA",
"defId": "60b1c3e2f8b9c70040a91d22",
"memberId": "60839af3e3b54d0040b0daec",
"status": "Assigned",
"assignmentDate": "2024-06-10T15:42:11.000Z",
"org": "60245bec85c63e012653b3fd",
"updatedAt": "2024-06-10T15:42:11.000Z"
}
Reserves the next available New code from the named campaign and assigns it to the given member. The selected PromoCode transitions to status Assigned, with memberId and assignmentDate set. The response is the updated PromoCode record.
The campaign must exist, must not have expired (per PromoCodeDef.endDate), and must have started (per PromoCodeDef.startDate). If no New codes remain in the campaign the request returns an empty object.
HTTP Request
POST /api/v1/promocodes/:campaignCode/assign/:memberId
URL parameters
| Parameter | Description |
|---|---|
| :campaignCode | The campaignCode of the PromoCodeDef to draw a code from. |
| :memberId | ObjectId of the member to assign the code to. |
Redeem Promo Code
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/X4F7K2QA/redeem/60839af3e3b54d0040b0daec", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/X4F7K2QA/redeem/60839af3e3b54d0040b0daec"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/X4F7K2QA/redeem/60839af3e3b54d0040b0daec");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/X4F7K2QA/redeem/60839af3e3b54d0040b0daec")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/X4F7K2QA/redeem/60839af3e3b54d0040b0daec',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/promocodes/X4F7K2QA/redeem/60839af3e3b54d0040b0daec HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/X4F7K2QA/redeem/60839af3e3b54d0040b0daec \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/X4F7K2QA/redeem/60839af3e3b54d0040b0daec")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
Sample response
{
"_id": "60b1c401f8b9c70040a91e0a",
"code": "X4F7K2QA",
"defId": "60b1c3e2f8b9c70040a91d22",
"memberId": "60839af3e3b54d0040b0daec",
"status": "Redeemed",
"assignmentDate": "2024-06-10T15:42:11.000Z",
"redemptionDate": "2024-06-12T10:15:00.000Z",
"org": "60245bec85c63e012653b3fd",
"updatedAt": "2024-06-12T10:15:00.000Z"
}
Redeems a code that was previously assigned to the given member. The PromoCode must currently be in Assigned status, must belong to the given memberId, and its campaign must be within its effective window. On success the code transitions to Redeemed and redemptionDate is set.
HTTP Request
POST /api/v1/promocodes/:promoCode/redeem/:memberId
URL parameters
| Parameter | Description |
|---|---|
| :promoCode | The code value to redeem. |
| :memberId | ObjectId of the member the code was assigned to. |
Export Promo Codes
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/SUMMER24/export", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/SUMMER24/export"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/SUMMER24/export");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/SUMMER24/export")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/SUMMER24/export',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/promocodes/SUMMER24/export HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/SUMMER24/export \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/promocodes/SUMMER24/export")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
Sample response
{
"campaignCode": "SUMMER24",
"promoCodes": [
"X4F7K2QA",
"9TR2BWLD",
"M5N3HJP8"
]
}
Returns every code in the named campaign. The response includes the campaignCode and a promoCodes array containing all code values, regardless of status.
HTTP Request
POST /api/v1/promocodes/:campaignCode/export
URL parameters
| Parameter | Description |
|---|---|
| :campaignCode | The campaignCode of the PromoCodeDef whose codes should be exported. |
Programs
This API is compliant with the query interface described in Advanced Queries.
A program is an object which defines rules, actions and flows which enable processing of transactions through the engine. The program also contains settings that govern certain behaviors at the program level, such as auto-enrollment and generating enrollment bonuses.
Program Structure
{
"_id" : ObjectId("59de86b7584b770052aaacaf"),
"createdBy" : ObjectId("59de84708d69b9006b8295df"),
"updatedBy" : ObjectId("59de84708d69b9006b8295df"),
"createdAt" : ISODate("2015-10-11T21:01:43.987Z"),
"updatedAt" : ISODate("2015-10-23T19:33:23.483Z"),
"name" : "Sample Rewards",
"desc" : "Sample Rewards Program",
"version" : 19,
"rules": ObjectId("59de86b7584b7700529abcd1"),
"flow": ObjectId("59de86b7584b7700529abcd2"),
"hasChanges": false,
"lastPublished": "2015-03-25T11:48:15.635Z"
}
| Field | Type | Description |
|---|---|---|
| _id | String | readonly unique Unique ID. |
| name | String | required The program name . |
| enrollSettings | Object | Options on the program (autoEnroll, generateEnrollmentBonus, maxActivityAge, trashVisibility, currencyCode, defaultUTCOffset, activityBasedExpFilter, enableCardValidation, cardTypesToValidate, defaultCardType, translateTierNames) |
| rules | ObjectId | Reference to the program's rules data (ProgramRulesData). Not auto-populated. |
| flow | ObjectId | Reference to the program's flow data (ProgramFlowData). Not auto-populated. |
| desc | String | The description of the program. |
| hasChanges | Boolean | Does it have unpublished changes. |
| lastPublished | Date | Date when it was last published. |
| version | Integer | Version number. |
| divisions | Array | It provides restriction to user groups. |
The object contains common fields
Read all Programs
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/programs HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Program objects.
This methods returns all programs in the system.
HTTP Request
GET /api/v1/programs
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| programs | Array | set of Program objects |
| status | Number | Status Codes. |
Read Program by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/59de97de584b770052aab641", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/59de97de584b770052aab641"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/59de97de584b770052aab641");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/59de97de584b770052aab641")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/59de97de584b770052aab641',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/programs/59de97de584b770052aab641 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/59de97de584b770052aab641 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/59de97de584b770052aab641")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Program object.
This method returns the specified program.
HTTP Request
GET /api/v1/programs/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from Program structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| program | Object | Program object |
| status | Number | Status Codes. |
Create Program
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
desc: 'Sample Rewards Program',
name: 'Sample Rewards'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString("{\n \"desc\": \"Sample Rewards Program\",\n \"name\": \"Sample Rewards\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"desc\": \"Sample Rewards Program\",\n \"name\": \"Sample Rewards\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"desc\": \"Sample Rewards Program\",\n \"name\": \"Sample Rewards\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"name": "Sample Rewards",
"desc": "Sample Rewards Program"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/programs HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"name": "Sample Rewards",
"desc": "Sample Rewards Program"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"name": "Sample Rewards",
"desc": "Sample Rewards Program"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"name": "Sample Rewards",
"desc": "Sample Rewards Program"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Program object.
This method creates a new program.
HTTP Request
POST /api/v1/programs/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| program | Object | Program object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| program | Object | Program object |
| status | Number | Status Codes. |
Update Program by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/59e918777e09760050c8272d", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
desc: 'Dunkin Donuts Rewards'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString("{\n \"desc\": \"Dunkin Donuts Rewards\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"desc\": \"Dunkin Donuts Rewards\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"desc\": \"Dunkin Donuts Rewards\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"desc": "Dunkin Donuts Rewards"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/programs/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"desc": "Dunkin Donuts Rewards"
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"desc": "Dunkin Donuts Rewards"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"desc": "Dunkin Donuts Rewards"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Program object.
This method updates the specified program.
HTTP Request
PUT /api/v1/programs/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Value references to "_id" field from Program structure. |
| program | Object | Program object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| program | Object | Program object |
| status | Number | Status Codes. |
Delete Program by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/59e918777e09760050c8272d", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/programs/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified program.
HTTP Request
DELETE /api/v1/programs/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from Program`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Program Selective Export
The Selective Export allows users to choose specific data elements for export, providing flexibility and efficiency in exporting only what's necessary.
HTTP Request
POST /api/v1/programs/:programId/selectiveexport
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/69de93dd584b770052aab5e7/selectiveexport", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: "{\n \"options\": {\n \"CustomExpression\": {\n \"all\": \"yes\"\n },\n \"RewardPolicy\": {\n \"all\": \"no\",\n \"data\": [\n \"10001\",\n \"10003\"\n ]\n },\n \"Rule\": {\n \"all\": \"yes\"\n },\n }\n }"
});
const csv = await response.text();
console.log(csv);
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import java.io.IOException;
public class OkHttpClientExample {
public static void main(String[] args) throws IOException {
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n" +
" \"options\": {\n" +
" \"CustomExpression\": {\n" +
" \"all\": \"yes\"\n" +
" },\n" +
" \"RewardPolicy\": {\n" +
" \"all\": \"no\",\n" +
" \"data\": [\n" +
" \"10001\",\n" +
" \"10003\"\n" +
" ]\n" +
" },\n" +
" \"Rule\": {\n" +
" \"all\": \"yes\"\n" +
" }\n" +
" }\n" +
"}");
Request request = new Request.Builder()
.url("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/69de93dd584b770052aab5e7/selectiveexport")
.post(body)
.addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.addHeader("content-type", "application/json")
.addHeader("cache-control", "no-cache")
.build();
Response response = client.newCall(request).execute();
String responseBody = response.body().string();
System.out.println(responseBody);
response.close();
}
}
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/69de93dd584b770052aab5e7/selectiveexport");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"options": {
"CustomExpression": {
"all": "yes"
},
"RewardPolicy": {
"all": "no",
"data": [
"10001",
"10003"
]
},
"Rule": {
"all": "yes"
}
}
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/69de93dd584b770052aab5e7/selectiveexport")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
require 'vendor/autoload.php'; // Include Composer's autoloader
use GuzzleHttp\Client;
use GuzzleHttp\Exception\RequestException;
$client = new Client([
'base_uri' => 'https://rcx-crud.tenant.rcx-backend.lmvi.net', // Adjust base URI as needed
]);
$headers = [
'cache-control' => 'no-cache',
'content-type' => 'application/json',
'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
];
$body = json_encode([
'options' => [
'CustomExpression' => ['all' => 'yes'],
'RewardPolicy' => ['all' => 'no', 'data' => ['10001', '10003']],
'Rule' => ['all' => 'yes'],
],
]);
try {
$response = $client->post('/api/v1/programs/69de93dd584b770052aab5e7/selectiveexport', [
'headers' => $headers,
'body' => $body,
]);
echo $response->getBody()->getContents();
} catch (RequestException $e) {
echo 'Error: ' . $e->getMessage();
}
POST /api/v1/programs/69de93dd584b770052aab5e7/selectiveexport HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache
{
"options": {
"CustomExpression": {
"all": "yes"
},
"RewardPolicy": {
"all": "no",
"data": [
"10001",
"10003"
]
},
"Rule": {
"all": "yes"
},
}
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/69de93dd584b770052aab5e7/selectiveexport \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"options": {
"CustomExpression": {
"all": "yes"
},
"RewardPolicy": {
"all": "no",
"data": [
"10001",
"10003"
]
},
"Rule": {
"all": "yes"
},
}
}'
import Foundation
// Define the URL
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/programs/69de93dd584b770052aab5e7/selectiveexport")!
// Define the request body (parameters)
let parameters: [String: Any] = [
"options": [
"CustomExpression": ["all": "yes"],
"RewardPolicy": ["all": "no", "data": ["10001", "10003"]],
"Rule": ["all": "yes"]
]
]
// Convert parameters to Data
guard let jsonData = try? JSONSerialization.data(withJSONObject: parameters) else {
print("Error converting parameters to JSON data")
exit(1)
}
// Create the URLRequest
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.httpBody = jsonData
// Create URLSessionDataTask and handle response
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
if let error = error {
print("Error: \(error)")
return
}
guard let httpResponse = response as? HTTPURLResponse else {
print("No HTTP response")
return
}
// Assuming JSON response
if let data = data, let body = String(data: data, encoding: .utf8) {
print("Response status code: \(httpResponse.statusCode)")
print("Response body: \(body)")
}
}
// Start the task
task.resume()
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| programId | ObjectId | Used to identify unique record from API. Value references to "_id" field from Program. |
Payload structure
{
"options": {
"CustomExpression": {
"all": "yes"
},
"RewardPolicy": {
"all": "no",
"data": [
"10001",
"10003"
]
},
"RuleFolder": {
"all": "no",
"data": [
"Adjustment Rules"
]
},
"Rule": {
"all": "yes"
},
"StreakPolicy": {
"all": "yes"
},
"TierPolicy": {
"all": "yes"
},
"PursePolicy": {
"all": "no",
"data": [
"Counter",
"P1"
]
},
"Partner": {
"all": "yes"
},
"NamedList": {
"all": "no",
"data": [
"20001DISPENSEDDRINK",
"20001DISPENSEDDRINK-TESTDATA1"
]
},
"AggregatePolicy": {
"all": "yes"
}
}
}
| Field | Type | Description |
|---|---|---|
| CustomExpression | Object | Selected custom expressions from the program. |
| RewardPolicy | Object | Selected reward policies from the program. |
| RuleFolder | Object | Selected rule folders from the program. |
| Rule | Object | Selected rules from the program. |
| StreakPolicy | Object | Selected streak policies from the program. |
| TierPolicy | Object | Selected tier policies from the program. |
| PursePolicy | Object | Selected purse policies from the program. |
| Partner | Object | Selected partners from the program. |
| Named List | Object | Selected named lists from the program. |
| Aggregate Policy | Object | Selected Aggregate policies from the program. |
Purses
Purses are objects contained inside Member objects, under the purses array.
Purse Structure
Sample Purse Object
{
"name": "Lifetime Points",
"balance": 0,
"availBalance": 0,
"escrowsIn": 0,
"primary": false,
"program": "59de86b7584b770052aaacaf",
"policyId": "59de86b7584b770052abcdef",
"expiredPoints": 0,
"_id": "59df84e2bc4f61095c84adc4",
"createdAt": "2017-09-10T13:45:39.627Z",
"updatedAt": "2016-12-08T21:15:45.549Z",
"createdBy": "59de84708d69b9006b8295df",
"updatedBy": "59de84708d69b9006b8295df"
}
| Field | Type | Default | Description |
|---|---|---|---|
| name | String | required Name of the purse (for example, "Lifetime Points") |
|
| balance | Number | 0 | The current balance of the purse |
| availBalance | Number | 0 | The available balance (points out of escrow) |
| escrowsIn | Number | 0 | Escrow period in days, 0 means no escrow |
| primary | Boolean | false | required Primary flag. Used to show as primary in member's purses |
| program | ObjectId | required Reference to _id field of [Program] (#programs) where the purse policy resides. |
|
| policyId | ObjectId | required _id of the Purse Policy |
|
| lastExpirationDate | Date | Last time when the points got expired from the member's purse | |
| expiredPoints | Number | 0 | Expired points |
| accruedPoints | Number | 0 | Tracks cumulative accruals |
| redeemedPoints | Number | 0 | Tracks cumulative redemptions |
The object contains common fields.
Purse Methods
Purse Manipulation Examples
No special API exists to change purses inside a Member. Instead, you can Read Member by ID, use your preferred language to manipulate the
Member.pursesarray inside the Member object, and the use the Update Member by ID API to commit the changes.
Purses are managed by manipulating a Member's purses array and then storing the resulting updated Member record.
Add Purse
Adding a new Purse to a Member is only initiated during enrollment and during program upgrades requiring additional purses.
If necessary, a new Purse can be directly added to a Member by adding an instance of Purse to the Member.purses array and then updating the member.
Note: Adding purses outside of enrollment process or Program upgrade process is highly discouraged, and only available with appropriate permissions.
Update Purse
While technically possible, Purses are generally not changed directly. Instead, they're changed by the rules engine in response to an Activity posting.
You can change a Purse within the Member.purses array and then update the member.
Note: Changing purse balances directly outside of Activity posting is highly discouraged and is available only with appropriate permissions.
Delete Purse
Deleting a Purse from a Member can be achieved by manipulating the Member's purses array and then storing the resulting updated Member record.
Note: Deleting purses is highly discouraged, and is only available with appropriate permissions.
Purse History
The Purse History resource represents a collection of expired purses for a member, detailing their balances, points and other personalization attributes.
Purse History Structure
Sample Purse History Object
{
"name": "Lifetime Points",
"balance": 0,
"availBalance": 0,
"escrowsIn": 0,
"primary": false,
"program": "6658658e4e476e003fd4bdf3",
"org": "663c8ffb6430c2005533943b",
"expiredPoints": 0,
"_id": "67f6961b4194d7eae14b0867",
"memberId": "6658658e4e476e003fd4bdf3",
"mergeIds": [],
"lockedPoints": [],
"policyId": "663c91880458f6003e6a63f5",
"divisions": ["59de86b7584b770052aaacb1", "59de86b7584b770052aaacb2"],
"createdAt": "2025-04-09T15:45:31.043Z",
"updatedAt": "2025-04-10T06:25:00.005Z",
"createdBy": "663c8ffb6430c2005533943a",
"updatedBy": "663c8ffb6430c2005533943a",
"lastExpirationDate": null,
"accruedPoints": 0,
"redeemedPoints": 0
}
| Field | Type | Default | Description |
|---|---|---|---|
| name | String | required Name of the purse (for example, "Lifetime Points") |
|
| memberId | ObjectId | required Reference to the member who owns the purse |
|
| org | ObjectId | required Reference to the _id field of the owning organization |
|
| mergeIds | Array | [] | List of merged member IDs associated with the purse |
| balance | Number | 0 | The current balance of the purse |
| availBalance | Number | 0 | The available balance (points out of escrow) |
| escrowsIn | Number | 0 | Escrow period in days, 0 means no escrow |
| primary | Boolean | false | required Primary flag. Used to show as primary in member's purses |
| program | ObjectId | required Reference to _id field of [Program] (#programs) where the purse policy resides. |
|
| policyId | ObjectId | required _id of the Purse Policy |
|
| lastExpirationDate | Date | Last time when the points got expired from the member's purse | |
| expiredPoints | Number | 0 | Expired points |
| accruedPoints | Number | 0 | Tracks cumulative accruals |
| redeemedPoints | Number | 0 | Tracks cumulative redemptions |
| lockedPoints | Array | [] | List of points that are locked |
| divisions | Array | Array of ObjectId references to divisions. This field provides restriction to user groups. |
The object contains common fields.
Read All Purse Histories
const axios = require('axios');
async function getAllPurseHistories() {
try {
const response = await axios.get('https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursehistories', {
headers: {
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
}
});
console.log(response.data);
return response.data;
} catch (error) {
console.error('Error fetching purse history:', error);
}
}
getAllPurseHistories();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class GetAllPurseHistories {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursehistories"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
if (response.statusCode() == 200) {
System.out.println(response.body());
} else {
System.out.println("Error: " + response.statusCode());
}
}
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
try
{
HttpResponseMessage response = await client.GetAsync("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursehistories");
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Request error: {e.Message}");
}
}
}
}
require 'net/http'
require 'uri'
require 'json'
uri = URI.parse('https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursehistories')
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(request)
end
if response.code == '200'
purse_history = JSON.parse(response.body)
puts purse_history
else
puts "Error: #{response.code} - #{response.message}"
end
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursehistories",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
?>
GET /api/v1/pursehistories HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursehistories \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursehistories")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.addValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data, error == nil else {
print("Error: \(error?.localizedDescription ?? "Unknown error")")
return
}
if let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 {
print(String(data: data, encoding: .utf8) ?? "No response body")
} else {
print("Error: Invalid response")
}
}
task.resume()
This endpoint retrieves all purse history records across all members. The results are paginated and can be filtered using query parameters.
HTTP Request
GET /api/v1/pursehistories
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| purse history | Array | List of Purse History object |
Read Purse History by ID
const axios = require('axios');
async function getPurseHistoryById(id) {
try {
const response = await axios.get(`https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursehistories/${id}`, {
headers: {
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
}
});
console.log(response.data);
return response.data;
} catch (error) {
console.error('Error fetching purse history:', error);
}
}
getPurseHistoryById('61a5e8b7584b770052abcdef');
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class GetPurseHistoryById {
public static void main(String[] args) throws Exception {
String id = "61a5e8b7584b770052abcdef";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursehistories/" + id))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
if (response.statusCode() == 200) {
System.out.println(response.body());
} else {
System.out.println("Error: " + response.statusCode());
}
}
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
string id = "61a5e8b7584b770052abcdef";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
try
{
HttpResponseMessage response = await client.GetAsync($"https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursehistories/{id}");
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Request error: {e.Message}");
}
}
}
}
require 'net/http'
require 'uri'
require 'json'
id = '61a5e8b7584b770052abcdef'
uri = URI.parse("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursehistories/#{id}")
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(request)
end
if response.code == '200'
purse_history = JSON.parse(response.body)
puts purse_history
else
puts "Error: #{response.code} - #{response.message}"
end
<?php
$id = "61a5e8b7584b770052abcdef";
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursehistories/" . $id,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
?>
GET /api/v1/pursehistories/61a5e8b7584b770052abcdef HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursehistories/61a5e8b7584b770052abcdef \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
import Foundation
let id = "61a5e8b7584b770052abcdef"
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursehistories/\(id)")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.addValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data, error == nil else {
print("Error: \(error?.localizedDescription ?? "Unknown error")")
return
}
if let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 {
print(String(data: data, encoding: .utf8) ?? "No response body")
} else {
print("Error: Invalid response")
}
}
task.resume()
This endpoint retrieves a specific purse history record by its ID.
GET /api/v1/pursehistories/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API, referenced to "_id" field from purse history`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| purse history | Array | List of Purse History object |
Purse Policies
This API is compliant with the query interface described in Advanced Queries.
A purse policy dictates what kinds of virtual currencies will be tracked for a member of the program. For example, we may track points for each dollar spent, frequency clubs such as punchcards, etc.
Purse Policy Structure
{
"name": "Lifetime Points",
"desc": "All the points ever accrued by customer",
"expirationHours": 0,
"escrowDays": 0,
"activityBasedExpiration": false,
"colors": [
{
"color": "#326ccd",
"end": 1000000,
"start": 0
}
],
"expiryWarningDays": [],
"expirationSnapTo": "day",
"escrowSnapTo": "day",
"primary": false,
"program": "59de86b7584b770052aaacaf",
"_id": "59de8728584b770052aaacb5",
"group": "Tier Credits",
"periodStartDate": "2023-09-14T13:03:078Z",
"periodEndDate": "2024-09-14T13:03:078Z",
"periodCloseDate": "2023-09-20T13:03:078Z",
"periodTimezone": "America/New_York",
"ptMultiplier": 1,
"createdAt": "2017-10-11T21:03:36.084Z",
"updatedAt": "2017-10-11T21:03:36.084Z",
"createdBy": "59de84708d69b9006b8295df",
"updatedBy": "59de84708d69b9006b8295df"
}
| Field | Type | Description |
|---|---|---|
| _id | ObjectId | unique The id of the record |
| name | String | required Purse name |
| desc | String | Purse description |
| expirationHours | Number | The number of hours for which points are valid. |
| escrowDays | Number | The number of days to hold points in pending status before they can be redeemed |
| program | ObjectId | required Reference to Program |
| effectiveDate | Date | required Default: now Date from which the policy is effective. Date Formats |
| expirationDate | Date | required Date on which the policy expires. Date Formats |
| colors | Object | Set of JSON obects with information about how different ranges of points will be shown (what colors). |
| primary | Boolean | Default: false If the purse will be primary or not. |
| activityBasedExpiration | Boolean | Default: false If this is set to true, the purse expiration will be considered since the last activity. |
| expirationSnapTo | String | When the expiration period begins. This is controled by Enums with type=SnapTo. |
| escrowSnapTo | String | When the escrow period begins. This is controled by Enums with type=SnapTo. |
| expiryWarningDays | Array of Numbers | Specifies the number of days before the expiration. |
| expiryUnit | String | default: 'Hours' Use either hour (s) or day (s) or month (s) or year (s) for the expiration of purse policy. |
| expiryValue | Number | default: 0 The number of units to expire the purse policy. |
| escrowUnit | String | default: 'Days' Measure of units for escrow. |
| escrowValue | Number | default: 0 Number of days after which purse points are available for redemption. |
| divisions | Array | It provides restriction to user groups. |
| group | String | The group to which the policy belongs. |
| periodStartDate | Date | The start date of the policy period. |
| periodEndDate | Date | The end date of the policy period. |
| periodCloseDate | Date | The date when the policy period closes. |
| periodTimezone | String | The timezone associated with the period dates. |
| ptMultiplier | Number | Default: 1 Defines the storage precision multiplier. Points are stored in the database multiplied by this value and divided when displayed to users. Common use: Set to 100 to store monetary values as cents (e.g., 2.34 stored as 234 points) while maintaining integer precision. |
| aggregates | Array | Array of aggregate types (daily, weekly, monthly, quarterly, halfyearly, yearly and lifetime) to track for purse. |
The object contains common fields
Read all Purse Policies
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/pursepolicies HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Purse Policy objects.
This methods returns all pursepolicies in the system.
HTTP Request
GET /api/v1/pursepolicies
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| pursepolicies | Array | set of Purse Policy objects |
| status | Number | Status Codes. |
Read Purse Policy by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies/59de97de584b770052aab641", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies/59de97de584b770052aab641"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies/59de97de584b770052aab641");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies/59de97de584b770052aab641")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies/59de97de584b770052aab641',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/pursepolicies/59de97de584b770052aab641 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies/59de97de584b770052aab641 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies/59de97de584b770052aab641")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Purse Policy object.
This method returns the specified purse policy.
HTTP Request
GET /api/v1/pursepolicies/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from Purse Policy structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| purse policy | Object | Purse Policy object |
| status | Number | Status Codes. |
Create Purse Policy
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
desc: 'A frequency club for free drinks',
program: '59de86b7584b770052aaacaf',
name: 'Free Drink Purse'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString("{\n \"name\": \"Free Drink Purse\",\n \"program\": \"59de86b7584b770052aaacaf\",\n \"desc\": \"A frequency club for free drinks\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"name\": \"Free Drink Purse\",\n \"program\": \"59de86b7584b770052aaacaf\",\n \"desc\": \"A frequency club for free drinks\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"name\": \"Free Drink Purse\",\n \"program\": \"59de86b7584b770052aaacaf\",\n \"desc\": \"A frequency club for free drinks\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"name": "Free Drink Purse",
"desc": "A frequency club for free drinks",
"program": "59de86b7584b770052aaacaf"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/pursepolicies HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"name": "Free Drink Purse",
"desc": "A frequency club for free drinks",
"program": "59de86b7584b770052aaacaf"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"name": "Free Drink Purse",
"desc": "A frequency club for free drinks",
"program": "59de86b7584b770052aaacaf"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"name": "Free Drink Purse",
"desc": "A frequency club for free drinks",
"program": "59de86b7584b770052aaacaf"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Purse Policy object.
This method creates a new purse policy.
HTTP Request
POST /api/v1/pursepolicies/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| purse policy | Object | Purse Policy object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| purse policy | Object | Purse Policy object |
| status | Number | Status Codes. |
Update Purse Policy by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies/59e918777e09760050c8272d", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
desc: '30% Off any Brewed Coffee'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString("{\n \"desc\": \"30% Off any Brewed Coffee\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"desc\": \"30% Off any Brewed Coffee\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"desc\": \"30% Off any Brewed Coffee\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"desc": "30% Off any Brewed Coffee"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/pursepolicies/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"desc": "30% Off any Brewed Coffee"
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"desc": "30% Off any Brewed Coffee"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"desc": "30% Off any Brewed Coffee"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Purse Policy object.
This method updates the specified purse policy.
HTTP Request
PUT /api/v1/pursepolicies/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Value references to "_id" field from Purse Policy structure. |
| purse policy | Object | Purse Policy object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| purse policy | Object | Purse Policy object |
| status | Number | Status Codes. |
Delete Purse Policy by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies/59e918777e09760050c8272d", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/pursepolicies/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/pursepolicies/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified purse policy.
HTTP Request
DELETE /api/v1/pursepolicies/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from Purse Policy`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Referrals
This API is compliant with the query interface described in Advanced Queries.
Referrals are unique codes, which a member can give to non-members and when the non-members enroll, rewards can be earned for the referral.
Referral Structure
Sample Referral Object
{
"code": "ByVEE0r6b",
"expirationDate": "2017-11-19T07:28:44.429Z",
"status": "pending",
"referrer": "59df84e6bc4f61095c84be44",
"referredMemberName": "John Higgs",
"referredMemberContact": "john.higgs@gmail.com",
"referredMemberHandle": "john.higgs",
"org": "59de84708d69b9006b8295e0",
"_id": "59e8542c31a6b90052ed4bc5",
"createdAt": "2017-10-19T07:28:44.422Z",
"updatedAt": "2017-10-19T07:28:44.422Z",
"createdBy": "59de84708d69b9006b8295df",
"updatedBy": "59de84708d69b9006b8295df"
}
| Field | Type | Description |
|---|---|---|
| _id | ObjectId | required readonly unique ID of record |
| code | String | required Unique Referral Code generated by RCX to be handed out to the referred prospect |
| status | String | required Status of the referral code, valid values: [pending, completed] |
| referrer | ObjectId | required _id of the member, that created/initiated the referral code. |
| referredMemberId | ObjectId | A valid _id of the member, which was newly enrolled with a valid referral code. |
| referredMemberName | String | required Name of the referred Member |
| referredMemberHandle | String | Social Handle of the referred Member (could be any social handle or even an email address) |
| referredMemberContact | String | Contact detail of the referred Member (could be email address or phone number) |
| completionDate | Date | Date of which the referral enrollment was completed and the referral was fulfilled |
| expirationDate | Date | required Date on which the referral entity expires; the default is set to 1 month after creating the referral |
The object contains common fields
Read all Referrals
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/referrals HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Referrals objects.
This method returns all referrals in the system.
HTTP Request
GET /api/v1/referrals
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| referrals | Array | List of Referrals |
| status | Number | HTTP Status Code. |
Read Referral by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals/59e7e41531a6b90052ed4b16", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals/59e7e41531a6b90052ed4b16"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals/59e7e41531a6b90052ed4b16");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals/59e7e41531a6b90052ed4b16")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals/59e7e41531a6b90052ed4b16',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/referrals/59e7e41531a6b90052ed4b16 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals/59e7e41531a6b90052ed4b16 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals/59e7e41531a6b90052ed4b16")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a single Referral object.
This method reads a specific referral.
HTTP Request
GET /api/v1/referrals/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from Referral`s structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| referral | Object | Referral object |
| status | Number | Status Codes |
Create Referral
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"referrer": "59df84e6bc4f61095c84be44",
"referredMemberName": "John Higgs",
"referredMemberContact": "john.higgs@gmail.com",
"referredMemberHandle": "john.higgs"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"referrer": "59df84e6bc4f61095c84be44",
"referredMemberName": "John Higgs",
"referredMemberContact": "john.higgs@gmail.com",
"referredMemberHandle": "john.higgs"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"referrer": "59df84e6bc4f61095c84be44",
"referredMemberName": "John Higgs",
"referredMemberContact": "john.higgs@gmail.com",
"referredMemberHandle": "john.higgs"
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"referrer": "59df84e6bc4f61095c84be44",
"referredMemberName": "John Higgs",
"referredMemberContact": "john.higgs@gmail.com",
"referredMemberHandle": "john.higgs"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"referrer": "59df84e6bc4f61095c84be44",
"referredMemberName": "John Higgs",
"referredMemberContact": "john.higgs@gmail.com",
"referredMemberHandle": "john.higgs"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/referrals HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Content-Type: application/json
Cache-Control: no-cache
{
"referrer": "59df84e6bc4f61095c84be44",
"referredMemberName": "John Higgs",
"referredMemberContact": "john.higgs@gmail.com",
"referredMemberHandle": "john.higgs"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d ' {
"referrer": "59df84e6bc4f61095c84be44",
"referredMemberName": "John Higgs",
"referredMemberContact": "john.higgs@gmail.com",
"referredMemberHandle": "john.higgs"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"referrer": "59df84e6bc4f61095c84be44",
"referredMemberName": "John Higgs",
"referredMemberContact": "john.higgs@gmail.com",
"referredMemberHandle": "john.higgs"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a single Referral object.
This method creates a referral.
HTTP Request
POST /api/v1/referrals/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token |
| referral | Object | Referral to be created |
Output Arguments
| Name | Type | Description |
|---|---|---|
| referral | Object | Newly created Referral |
| status | Number | Status Codes. |
Update Referral by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals/59e8542c31a6b90052ed4bc5", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"status": "completed"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"status": "completed"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals/59e8542c31a6b90052ed4bc5"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals/59e8542c31a6b90052ed4bc5");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"status": "completed"
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals/59e8542c31a6b90052ed4bc5")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"status": "completed"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals/59e8542c31a6b90052ed4bc5',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"status": "completed"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/referrals/59e8542c31a6b90052ed4bc5 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Content-Type: application/json
Cache-Control: no-cache
{
"status": "completed"
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals/59e8542c31a6b90052ed4bc5 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"status": "completed"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals/59e8542c31a6b90052ed4bc5")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"status": "completed"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Referral object.
This method updates the specified referral.
HTTP Request
PUT /api/v1/referrals/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from Referral`s structure. |
| referral | Object | Referral object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| referral | Object | Updated Referral object |
| status | Number | Status Codes. |
Delete Referral by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals/59e8542c31a6b90052ed4bc5", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals/59e8542c31a6b90052ed4bc5"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals/59e8542c31a6b90052ed4bc5");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals/59e8542c31a6b90052ed4bc5")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals/59e8542c31a6b90052ed4bc5',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/referrals/59e8542c31a6b90052ed4bc5 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals/59e8542c31a6b90052ed4bc5 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/referrals/59e8542c31a6b90052ed4bc5")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified referral.
HTTP Request
Delete /api/v1/referrals/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from Referral |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes |
Redemption Items
This API is compliant with the query interface described in Advanced Queries.
Redemption items are the smallest blocks of points that are redeemed for a given activity. There is a one-to-many relationship between Redemption Items and Accrual Items as each redemption item tracks what accrual item it burned points from.
Note: While technically possible, you should never change/create/delete redemption items directly, as this will affect system integrity. Special permissions are required for any operations other than reading.
Redemption Item Structure
{
"rule": "59de94bb584b770052aab602",
"activity": "59df8534900914005c86c63a",
"accrual": "59df8535900914005c86c640",
"purse": "59df84e3bc4f61095c84af96",
"points": 1,
"dtBurned": "2017-10-12T15:07:34.737Z",
"_id": "59df8536cea5b00055fdfdf5",
"divisions": ["59de86b7584b770052aaacb1", "59de86b7584b770052aaacb2"],
"createdAt": "2017-10-12T15:07:33.430Z",
"updatedAt": "2017-10-12T15:07:33.430Z",
"createdBy": "59de84708d69b9006b8295df",
"updatedBy": "59de84708d69b9006b8295df",
"member": "59df84e2bc4f61095c84add2"
}
| Field | Type/Format | Description |
|---|---|---|
| _id | ObjectId | Unique id of the redemption |
| accrual | ObjectId | The _id of the accrual from which points were redeemed in this redemption |
| activity | ObjectId | The _id of the parent activity that generated this redemption |
| dtBurned | String | Date of redemption burn |
| points | Number | points burned |
| purse | ObjectId | Purse _id for which this redemption was done |
| rule | ObjectId | Rule _id for rule which triggered this redemption |
| member | ObjectId | required _id of the Member for which the redemption was generated. |
| divisions | Array | Array of ObjectId references to divisions. This field provides restriction to user groups. |
The object contains common fields
Read all Redemption Items
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/redemptionitems", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/redemptionitems"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/redemptionitems");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/redemptionitems")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/redemptionitems',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/redemptionitems HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/redemptionitems \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/redemptionitems")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Redemption Item objects.
This methods returns all redemptionitems in the system.
HTTP Request
GET /api/v1/redemptionitems
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| redemptionitems | Array | set of Redemption Item objects |
| status | Number | Status Codes. |
Read Redemption Item by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/redemptionitems/59de97de584b770052aab641", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/redemptionitems/59de97de584b770052aab641"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/redemptionitems/59de97de584b770052aab641");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/redemptionitems/59de97de584b770052aab641")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/redemptionitems/59de97de584b770052aab641',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/redemptionitems/59de97de584b770052aab641 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/redemptionitems/59de97de584b770052aab641 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/redemptionitems/59de97de584b770052aab641")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Redemption Item object.
This method returns the specified redemption item.
HTTP Request
GET /api/v1/redemptionitems/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from Redemption Item structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| redemption item | Object | Redemption Item object |
| status | Number | Status Codes. |
Rewards
This API is compliant with the query interface described in Advanced Queries.
Rewards are earned coupons through the program rules, such as free items, discounts, and so on. For example, you could have a program that automatically awards a free drink coupon with every 12 purchases.
Reward Structure
Sample Reward Object
{
"name": "Free Drink",
"code": "UNQ-123",
"desc": "Free Drink Reward",
"usesLeft": 1,
"expiresOn": "2018-10-13T00:00:00.000Z",
"policyId": "5db04e0fc983760048ee271e",
"effectiveDate": "2017-10-12T15:07:33.441Z",
"member": "59df84e3bc4f61095c84af94",
"program": "59de86b7584b770052aaacaf",
"_id": "59df8535900914005c86c645",
"lockedTill": "2024-05-29T10:49:00.000Z",
"lockDetails": [
{
"_id" : "66543decc872a5003708b501",
"lockTxnId" : "test_123",
"lockTill" : "2024-05-29T10:49:00.000Z",
"lockAct" : "66543decc872a5003708b4fa",
"lockedUses" : 1
}
],
"divisions": ["59de86b7584b770052aaacb1", "59de86b7584b770052aaacb2"],
"createdAt": "2017-10-12T15:07:33.442Z",
"updatedAt": "2017-10-12T15:07:33.442Z",
"createdBy": "59de84708d69b9006b8295df",
"updatedBy": "59de84708d69b9006b8295df"
}
| Field | Type | Description |
|---|---|---|
| _id | ObjectId | required unique Unique ID |
| name | String | required The name of the reward. Comes from the policy |
| code | String | Unique reward code to be recognized by redemption channel (for example, POS) |
| desc | String | Description. Comes from the policy |
| usesLeft | Number | Default: 1 Number of uses left on the reward (for multi-use rewards) |
| expiresOn | Date | Date of expiration of the reward. Date Formats |
| effectiveDate | Date | Default:Date.now() Reward effective date. It can't be redeemed before this date/time. Date Formats |
| member | ObjectId | required _id of the Member] to which member the reward belongs to |
| policyId | ObjectId | required _id of the Reward Policy associated with this reward. |
| url | String | URL to a picture resource for this reward |
| upc | String | UPC code of the discount lineItem to be given when this reward is applied. Must exist in Products. |
| type | String | default: Reward type of reward(Reward) |
| redemptionDate | Date | UTC date on which the reward is utilized |
| redemptionLocalDate | Date | Local date on which the reward is utilized |
| activityUTCOffset | Number | Difference in minutes from Universal Time (UTC) for a particular place |
| rule | ObjectId | Unique ID of rule that triggered the offer utility |
| activity | ObjectId | Unique ID of the activity where the offer is utilized |
| isCancelled | Boolean | Indicates if the member reward is cancelled |
| canPreview | Boolean | Whether the reward can be used in arbitration before the effective date, only for members who have canPreview as true. |
| issueValue | Number | default: 0 placeholder to store value with which the reward is issued. |
| redmValue | Number | default: 0 placeholder to store value with which the reward is redeemed. |
| lockedTill | Date | The UTC date when the lock on the offer expires. |
| lockDetails | Array | Set of lock details. |
| divisions | Array | Array of ObjectId references to divisions. This field provides restriction to user groups. |
The object contains common fields
Read all Rewards
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/rewards HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above code returns an array of Reward objects.
This method returns all rewards in the system.
HTTP Request
GET /api/v1/rewards
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token |
Output Arguments
| Name | Type | Description |
|---|---|---|
| rewards | Array | set of Reward object |
| status | Number | Status Codes |
Read Reward by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59df8535900914005c86c645", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59df8535900914005c86c645"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59df8535900914005c86c645");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59df8535900914005c86c645")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59df8535900914005c86c645',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/rewards/59df8535900914005c86c645 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59df8535900914005c86c645 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59df8535900914005c86c645")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a single Reward object.
This method reads a specific reward.
HTTP Request
GET /api/v1/rewards/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from Reward`s structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| reward | Object | Reward object |
| status | Number | Status Codes |
Create Reward
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"name": "Free Drink",
"code": "code1234",
"desc": "Free Drink Reward",
"usesLeft": 1,
"policyId": "5db04e0fc983760048ee271e",
"expiresOn": "2018-10-13T00:00:00.000Z",
"program": "59de86b7584b770052aaacaf",
"effectiveDate": "2017-10-12T15:07:33.441Z",
"member": "59df84e3bc4f61095c84af94"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"name": "Free Drink",
"code": "code1234",
"desc": "Free Drink Reward",
"usesLeft": 1,
"expiresOn": "2018-10-13T00:00:00.000Z",
"program": "59de86b7584b770052aaacaf",
"effectiveDate": "2017-10-12T15:07:33.441Z",
"member": "59df84e3bc4f61095c84af94",
"policyId": "5db04e0fc983760048ee271e"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"name": "Free Drink",
"code": "code1234",
"desc": "Free Drink Reward",
"usesLeft": 1,
"expiresOn": "2018-10-13T00:00:00.000Z",
"program": "59de86b7584b770052aaacaf",
"effectiveDate": "2017-10-12T15:07:33.441Z",
"member": "59df84e3bc4f61095c84af94",
"policyId": "5db04e0fc983760048ee271e"
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"name": "Free Drink",
"code": "code1234",
"desc": "Free Drink Reward",
"usesLeft": 1,
"expiresOn": "2018-10-13T00:00:00.000Z",
"program": "59de86b7584b770052aaacaf",
"effectiveDate": "2017-10-12T15:07:33.441Z",
"member": "59df84e3bc4f61095c84af94",
"policyId": "5db04e0fc983760048ee271e"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"name": "Free Drink",
"code": "code1234",
"desc": "Free Drink Reward",
"usesLeft": 1,
"expiresOn": "2018-10-13T00:00:00.000Z",
"program": "59de86b7584b770052aaacaf",
"effectiveDate": "2017-10-12T15:07:33.441Z",
"member": "59df84e3bc4f61095c84af94",
"policyId": "5db04e0fc983760048ee271e"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/rewards HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache
{
"name": "Free Drink",
"code": "code1234",
"desc": "Free Drink Reward",
"usesLeft": 1,
"expiresOn": "2018-10-13T00:00:00.000Z",
"program": "59de86b7584b770052aaacaf",
"effectiveDate": "2017-10-12T15:07:33.441Z",
"member": "59df84e3bc4f61095c84af94",
"policyId": "5db04e0fc983760048ee271e"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"name": "Free Drink",
"code": "code1234",
"desc": "Free Drink Reward",
"usesLeft": 1,
"expiresOn": "2018-10-13T00:00:00.000Z",
"program": "59de86b7584b770052aaacaf",
"effectiveDate": "2017-10-12T15:07:33.441Z",
"member": "59df84e3bc4f61095c84af94",
"policyId": "5db04e0fc983760048ee271e"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"name": "Free Drink",
"code": "code1234",
"desc": "Free Drink Reward",
"usesLeft": 1,
"expiresOn": "2018-10-13T00:00:00.000Z",
"program": "59de86b7584b770052aaacaf",
"effectiveDate": "2017-10-12T15:07:33.441Z",
"member": "59df84e3bc4f61095c84af94",
"policyId": "5db04e0fc983760048ee271e"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a single Reward object.
This method creates a new reward.
HTTP Request
POST /api/v1/rewards
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token |
| reward | Object | Reward object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| reward | Object | Reward object |
| status | Number | Status Codes |
Update Reward by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59e84dbc31a6b90052ed4bc1", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"usesLeft": 2
})
});
const data = await response.json();
console.log(data);
String body = """
{
"usesLeft": 2
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59e84dbc31a6b90052ed4bc1"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59e84dbc31a6b90052ed4bc1");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"usesLeft": 2
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59e84dbc31a6b90052ed4bc1")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"usesLeft": 2
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59e84dbc31a6b90052ed4bc1',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"usesLeft": 2
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/rewards/59e84dbc31a6b90052ed4bc1 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache
{
"usesLeft": 2
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59e84dbc31a6b90052ed4bc1 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"usesLeft": 2
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59e84dbc31a6b90052ed4bc1")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"usesLeft": 2
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a single Reward object.
This method updates the specified reward.
HTTP Request
PUT /api/v1/rewards/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from Reward`s structure. |
| reward | Object | Reward object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| reward | Object | Reward object |
| status | Number | Status Codes. |
Delete Reward by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59e84dbc31a6b90052ed4bc1", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59e84dbc31a6b90052ed4bc1"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59e84dbc31a6b90052ed4bc1");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59e84dbc31a6b90052ed4bc1")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59e84dbc31a6b90052ed4bc1',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/rewards/59e84dbc31a6b90052ed4bc1 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59e84dbc31a6b90052ed4bc1 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewards/59e84dbc31a6b90052ed4bc1")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified reward.
HTTP Request
Delete /api/v1/rewards/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from Reward`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Reward Policies
This API is compliant with the query interface described in Advanced Queries.
A Reward Policy manages the parameters of rewards and offers. It acts as a template for creating individual offers and rewards. Generally rewards and offers are quite similar, however, rewards are usually generated by redeeming points from a redemption catalog, while offers are generally loaded from external sources into the member wallet, or generated dynamically. There are three different types of policies that can be configured using the 'Rewards Policies' in RCX :
- Offers : Offers are like rewards, that are loaded externally for a member.In other words,these are the discounts provided to certain loyalty members based on different criteria.
- Global Offers : These are discounts provided to all the members and non-members of the loyalty program.
- Rewards : These are earned coupons through the program rules, such as free items, discounts, etc.
Both Offers and Rewards pariticipate in Lookup Best Offer action on the rule engine which allows for offer arbitration to occur and determine the best offer combination for the customer.
Reward Policy Structure
{
"_id" : ObjectId("5d08809396880a008c735a48"),
"desc" : "Sample RC Item",
"isAppeasement" : false,
"expirationHours" : 8616,
"numUses" : 1,
"perDayLimit" : 0,
"perWeekLimit" : 0,
"perOfferLimit" : 0,
"countLimit" : 0,
"redemptions" : 355,
"activityBasedExpiration" : false,
"expiryWarningDays" : [],
"expirationSnapTo" : "now",
"allowItemOverlap" : false,
"priority" : 0,
"segments" : [],
"mandatorySegments" : [],
"canPreview" : false,
"expiryValue" : 359,
"budget" : 0,
"budgetUsed" : 0,
"events" : [
{
"header" : {
"name" : "ObjectInsertEvent",
"timestamp" : Timestamp(1560838291, 0),
"userId": "5c58d8570bf24c075fb5886b"
},
"payload" : {}
}
],
"name" : "Reward Catalog Item 1",
"effectiveDate" : ISODate("2018-11-18T05:04:28.125Z"),
"expirationDate" : Date(32503711078639),
"intendedUse" : "Reward",
"upc" : "12345678901234",
"minPurchaseAmount" : 0,
"locations" : {
"isORQuery" : false,
"isWildCardSearch" : false,
"isIncluded" : true,
"inclusionParams" : "{}",
"query" : "{}"
},
"primaryProducts" : {
"isDisabled" : false,
"isORQuery" : false,
"isWildCardSearch" : false,
"isIncluded" : true,
"inclusionParams" : "{"internalCode":{"isIncluded":true,"type":"string","searchStr":"240055,240592,240830,241260,241555,241556,241707,241709,241710,241717,241859,242708,243263"}}",
"query" : "{"":[{"internalCode":{"":["240055","240592","240830","241260","241555","241556","241707","241709","241710","241717","241859","242708","243263"]}}]}",
"count" : 0,
"namedList" : ObjectId("5d08807696880a008c73344c")
},
"secondaryProducts" : {
"isDisabled" : true,
"isORQuery" : false,
"isWildCardSearch" : false,
"query" : "{}"
},
"tertiaryProducts" : {
"isDisabled" : true,
"isORQuery" : false,
"isWildCardSearch" : false,
"query" : "{}"
},
"excludedProducts" : {
"isDisabled" : true,
"isORQuery" : false,
"isWildCardSearch" : false,
"isIncluded" : true,
"inclusionParams" : "{}",
"query" : "{}"
},
"expiryUnit" : "Days",
"discountType" : "Mix and Match",
"price" : 100,
"maxDiscountValue" : null,
"pricingType" : "Package Percent Off",
"primaryProductQuantity" : 1,
"primaryProdPricingType" : null,
"primaryProdDiscValue" : null,
"primaryProdMaxDisc" : null,
"secondaryProductQuantity" : null,
"secondaryProdPricingType" : null,
"secondaryProdDiscValue" : null,
"secondaryProdMaxDisc" : null,
"tertiaryProductQuantity" : null,
"tertiaryProdPricingType" : null,
"tertiaryProdDiscValue" : null,
"tertiaryProdMaxDisc" : null,
"availability" : {
"sunday" : {
"isEnabled" : true,
"startHours" : 0,
"startMins" : 0,
"endHours" : 23,
"endMins" : 59
},
"monday" : {
"isEnabled" : true,
"startHours" : 0,
"startMins" : 0,
"endHours" : 23,
"endMins" : 59
},
"tuesday" : {
"isEnabled" : true,
"startHours" : 0,
"startMins" : 0,
"endHours" : 23,
"endMins" : 59
},
"wednesday" : {
"isEnabled" : true,
"startHours" : 0,
"startMins" : 0,
"endHours" : 23,
"endMins" : 59
},
"thursday" : {
"isEnabled" : true,
"startHours" : 0,
"startMins" : 0,
"endHours" : 23,
"endMins" : 59
},
"friday" : {
"isEnabled" : true,
"startHours" : 0,
"startMins" : 0,
"endHours" : 23,
"endMins" : 59
},
"saturday" : {
"isEnabled" : true,
"startHours" : 0,
"startMins" : 0,
"endHours" : 23,
"endMins" : 59
}
},
"availableRedemptions" : 1,
"associatedId" : ObjectId("5d08809396880a008c735a48"),
"ext" : {
"isInRC" : true,
"rewardCost" : 10,
"couponDefId" : "0",
"rewardDefId" : "0",
"appeasementAllowed" : false,
"displayOrder" : 0,
"isAgeVerifyItem" : false,
"isCatBAKERY" : false,
"isCatCANDY" : false,
"isCatCOMBOS" : false,
"isCatDRINKS" : false,
"isCatENERGY" : false,
"isCatFRESHFOODS" : false,
"isCatMOREDEALS" : false,
"isCatSNACKS" : false
},
"nonce" : ObjectId("5cc7e88188a19500e1f6325b"),
"upcMapping" : [],
"org" : ObjectId("5d087a5536efd100954d403a"),
"program" : ObjectId("5d08808296880a008c734fc1"),
"createdAt" : ISODate("2019-06-18T06:11:31.116Z"),
"updatedAt" : ISODate("2019-06-18T06:11:31.116Z"),
"createdBy" : ObjectId("5d087a5536efd100954d4039"),
"updatedBy" : ObjectId("5d087a5536efd100954d4039"),
"__v" : 0,
"applicableMemberStatus" : [],
"transactionLimit": 1,
}
| Field | Type | Description |
|---|---|---|
| _id | ObjectId | unique The id of the record |
| name | String | required Unique name of the reard/offer. |
| desc | String | Description of the reward/offer. |
| isAppeasement | Boolean | Whether this reward can be given from ui by customer support |
| perDayLimit | Number | Default is 0(unlimited). No of offers(global/regular) allowed per day per customer |
| perWeekLimit | Number | Default is 0(unlimited). No of offers(global/regular) allowed per week per customer |
| perOfferLimit | Number | Default is 0(unlimited). No of offers(global/regular) allowed per customer |
| transactionLimit | Number | Default is 0(unlimited). No of reedems allowed per transaction of a particular offer (only for offer and global offer). |
| countLimit | Number | Total no of offers to be given |
| redemptions | Number | Total no of offers redeemed so far |
| availableRedemptions | Number | Total no of offers avaiable for redemption |
| effectiveDate | Date | required Effective date. Date Formats |
| expirationDate | Date | required Expiration date. Date Formats |
| activityBasedExpiration | Boolean | Default: false Whether the expiration is activity based |
| expiryWarningDays | Array | Controls when to issue RewardExpirationWarningEvent - for example [5,10] means send out the event 10 days before, and 5 days before expiration. |
| expirationSnapTo | String | This dictates when the expiration window should start. It is controled by the Enum with type=SnapTo. |
| allowItemOverlap | Boolean | Determines whether this offer allows overlapping items with other offers |
| intendedUse | String | Can be one of Reward, Offer or Global Offer |
| upc | String | required. UPC code of the discount lineItem to be given when this offer is applied. Should usually exist in Products. |
| priority | Number | Priority of consideration during arbitration |
| program | ObjectId | required Program for which the policy is created. |
| segments | Array | Array of _id of segments which apply to this offer |
| mandatorySegments | Array | Array of _id of mandataory segments which apply to this offer |
| canPreview | Boolean | Whether the policy can be used in arbitration before the effective date, only for members who have canPreview as true. |
| minPurchaseAmount | Number | The minimum purchase amount for the discount type Ticket to be applied. |
| url | String | URL to a picture resource for this offer |
| locations | Object | Defines the query structure for selecting locations eligible for offer redemption. |
| primaryProducts | Object | Defines the query structure for selecting primary products, associated with this offer (for Combo or Combo List or Mix and Match) |
| secondaryProducts | Object | Defines the query structure for selecting secondary products, associated with this offer (for Combo and Combo List) |
| tertiaryProducts | Object | Defines the query structure for selecting tertiary products, associated with this offer (for Combo and Combo List) |
| excludedProducts | Object | Defines the query structure of excluded products for the discount type Ticket. |
| expiryUnit | String | Either hours, days, months or years (for Rewards and Offers) |
| expiryValue | Number | Number of units to expiry (for Rewards and Offers), |
| budget | Number | Default: 0 (Unlimited) Total discount amount that can be disbursed for a Global Offer |
| budgetUsed | Number | Used discount amount |
| availableBudget | Number | Amount that is still available for disbursal for a Global Offer |
| discountType | String | required. One option among Combo, Mix and Match, Combolist, Ticket, |
| price | Number | required. Value expected when discountType is Mix and Match/Ticket/Combo. Accepts values 0 or greater than 0 when the pricingType is Package Price/Package Amount Off and between 0 and 100 when pricingType is Package Percent Off. |
| maxDiscountValue | Number | required. Maximum discount value for one application of this offer |
| pricingType | String | Value expected when discountType is Mix and Match/Ticket. Accepts Package Price/Package Amount Off/Package Percent Off when discountType is Mix and Match and Package Amount Off/Package Percent Off when discountType is Ticket. |
| primaryProductQuantity | Number | quantity of primary products (for Mix and Match, Combo, Combo List),if selected the products then it should maintain as required. |
| primaryProdPricingType | String | Primary product group pricing Type for Combo List discount. Value expected when discountType is Combo List. Accepts Package Price/Package Amount Off/Package Percent Off. |
| primaryProdMaxDisc | Number | Primary product group max discount for Combo List discount. Value expected when discountType is Combo List and primaryProdPricingType is Package Percent Off. Accepts values 0 or greater than 0. |
| primaryProdDiscValue | Number | required. Primary product group price for Combo List discount. Value expected when discountType is Combo List. Accepts values 0 or greater than 0 when the primaryProdPricingType is Package Price/Package Amount Off and between 0 and 100 when primaryProdPricingType is Package Percent Off. |
| secondaryProductQuantity | Number | quantity of secondary products (for Combo, Combo List),if selected the products then it should maintain as required. |
| secondaryProdPricingType | String | Secondary product group pricing Type for Combo List discount. Value expected when discountType is Combo List. Accepts Package Price/Package Amount Off/Package Percent Off. |
| secondaryProdDiscValue | Number | required. Secondary product group price for Combo List discount. Value expected when discountType is Combo List. Accepts values 0 or greater than 0 when the secondaryProdPricingType is Package Price/Package Amount Off and between 0 and 100 when secondaryProdPricingType is Package Percent Off. |
| secondaryProdMaxDisc | Number | Secondary product group max discount for Combo List discount. Value expected when discountType is Combo List and secondaryProdPricingType is Package Percent Off. Accepts values 0 or greater than 0. |
| tertiaryProductQuantity | Number | quantity of tertiary products (for Combo, Combo List),if selected the products then it should maintain as required. |
| tertiaryProdPricingType | String | Tertiary product group pricing Type for Combo List discount. Value expected when discountType is Combo List. Accepts Package Price/Package Amount Off/Package Percent Off. |
| tertiaryProdDiscValue | Number | required. Tertiary product group price for Combo List discount. Value expected when discountType is Combo List. Accepts values 0 or greater than 0 when the tertiaryProdPricingType is Package Price/Package Amount Off and between 0 and 100 when secondaryProdPricingType is Package Percent Off. |
| tertiaryProdMaxDisc | Number | Tertiary product group max discount for Combo List discount. Value expected when discountType is Combo List and tertiaryProdPricingType is Package Percent Off. Accepts values 0 or greater than 0. |
| availability | Object | The availability timing of the discount. Sample Value {"monday" : {"isEnabled" : true, "endMins" : 59, "endHours" : 5, "startMins" : 0, "startHours" : 1}, "Tuesday" : {"isEnabled" : false, "endMins" : 59, "endHours" : 0, "startMins" : 0, "startHours" : 0}} |
| upcMapping | Array | Product list vs UPC Code mapping |
| applicableMemberStatus | Array | Member statuses which is applicable for this offer |
| eligibilityQuery | String | Query to be evaluated on context as a part of arbitration. |
| numUses | Number | Number of uses allowed for each instance of reward/offer assigned to a member. |
| coolOffPeriod | Number | Default is 0. A time window frame (in minutes) where the member cannot use the same offer again within coolOffPeriod from his last used (for offer and global offer). |
| divisions | Array | It provides restriction to user groups |
| isNonRefundable | Boolean | The isNonRefundable flag marks rewards as irrevocable once they have been used. If this flag is enabled, cancelling a reward that has already been used will not result in a refund. |
The object contains common fields
Read all Reward Policies
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/rewardpolicies HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Reward Policy objects.
This methods returns all rewardpolicies in the system.
HTTP Request
GET /api/v1/rewardpolicies
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| rewardpolicies | Array | set of Reward Policy objects |
| status | Number | Status Codes. |
Read Reward Policy by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/rewardpolicies/59de97de584b770052aab641 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Reward Policy object.
This method returns the specified reward policy.
HTTP Request
GET /api/v1/rewardpolicies/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from Reward Policy structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| reward policy | Object | Reward Policy object |
| status | Number | Status Codes. |
Create Reward Policy
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
discountType: 'Ticket',
program: '59de86b7584b770052aaacaf',
desc: 'A free drink coupon earned through redemptions',
pricingType: 'Package Percent Off',
effectiveDate: '2017-11-28T11:58:00.000Z',
upc: 'discount-upc',
intendedUse: 'Global Offer',
name: 'Free Drink Reward',
isUnlimited: 'true',
price: '50',
expirationDate: '2019-06-08T07:00:00.000Z'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString("{\n \"discountType\": \"Ticket\",\n \"desc\": \"A free drink coupon earned through redemptions\",\n \"program\": \"59de86b7584b770052aaacaf\",\n \"pricingType\": \"Package Percent Off\",\n \"effectiveDate\": \"2017-11-28T11:58:00.000Z\",\n \"upc\": \"discount-upc\",\n \"intendedUse\": \"Global Offer\",\n \"name\": \"Free Drink Reward\",\n \"price\": \"50\",\n \"expirationDate\": \"2019-06-08T07:00:00.000Z\",\n \"isUnlimited\": \"true\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"discountType\": \"Ticket\",\n \"desc\": \"A free drink coupon earned through redemptions\",\n \"program\": \"59de86b7584b770052aaacaf\",\n \"pricingType\": \"Package Percent Off\",\n \"effectiveDate\": \"2017-11-28T11:58:00.000Z\",\n \"upc\": \"discount-upc\",\n \"intendedUse\": \"Global Offer\",\n \"name\": \"Free Drink Reward\",\n \"price\": \"50\",\n \"expirationDate\": \"2019-06-08T07:00:00.000Z\",\n \"isUnlimited\": \"true\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"discountType\": \"Ticket\",\n \"desc\": \"A free drink coupon earned through redemptions\",\n \"program\": \"59de86b7584b770052aaacaf\",\n \"pricingType\": \"Package Percent Off\",\n \"effectiveDate\": \"2017-11-28T11:58:00.000Z\",\n \"upc\": \"discount-upc\",\n \"intendedUse\": \"Global Offer\",\n \"name\": \"Free Drink Reward\",\n \"price\": \"50\",\n \"expirationDate\": \"2019-06-08T07:00:00.000Z\",\n \"isUnlimited\": \"true\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"discountType": "Ticket",
"desc": "A free drink coupon earned through redemptions",
"program": "59de86b7584b770052aaacaf",
"pricingType": "Package Percent Off",
"effectiveDate": "2017-11-28T11:58:00.000Z",
"upc": "discount-upc",
"intendedUse": "Global Offer",
"name": "Free Drink Reward",
"price": "50",
"isUnlimited": "true",
"expirationDate": "2019-06-08T07:00:00.000Z"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/rewardpolicies HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"discountType": "Ticket",
"desc": "A free drink coupon earned through redemptions",
"program": "59de86b7584b770052aaacaf",
"pricingType": "Package Percent Off",
"effectiveDate": "2017-11-28T11:58:00.000Z",
"upc": "discount-upc",
"intendedUse": "Global Offer",
"name": "Free Drink Reward",
"price": "50",
"isUnlimited": "true",
"expirationDate": "2019-06-08T07:00:00.000Z"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"discountType": "Ticket",
"desc": "A free drink coupon earned through redemptions",
"program": "59de86b7584b770052aaacaf",
"pricingType": "Package Percent Off",
"effectiveDate": "2017-11-28T11:58:00.000Z",
"upc": "discount-upc",
"intendedUse": "Global Offer",
"name": "Free Drink Reward",
"price": "50",
"isUnlimited": "true",
"expirationDate": "2019-06-08T07:00:00.000Z"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"discountType": "Ticket",
"desc": "A free drink coupon earned through redemptions",
"program": "59de86b7584b770052aaacaf",
"pricingType": "Package Percent Off",
"effectiveDate": "2017-11-28T11:58:00.000Z",
"upc": "discount-upc",
"intendedUse": "Global Offer",
"name": "Free Drink Reward",
"price": "50",
"isUnlimited": "true",
"expirationDate": "2019-06-08T07:00:00.000Z"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Reward Policy object.
This method creates a new reward policy.
HTTP Request
POST /api/v1/rewardpolicies/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| reward policy | Object | Reward Policy object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| reward policy | Object | Reward Policy object |
| status | Number | Status Codes. |
Update Reward Policy by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59e918777e09760050c8272d", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
desc: '30% Off any Brewed Coffee'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString("{\n \"desc\": \"30% Off any Brewed Coffee\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"desc\": \"30% Off any Brewed Coffee\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"desc\": \"30% Off any Brewed Coffee\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"desc": "30% Off any Brewed Coffee"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/rewardpolicies/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"desc": "30% Off any Brewed Coffee"
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"desc": "30% Off any Brewed Coffee"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"desc": "30% Off any Brewed Coffee"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Reward Policy object.
This method updates the specified reward policy.
HTTP Request
PUT /api/v1/rewardpolicies/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Value references to "_id" field from Reward Policy structure. |
| reward policy | Object | Reward Policy object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| reward policy | Object | Reward Policy object |
| status | Number | Status Codes. |
Delete Reward Policy by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59e918777e09760050c8272d", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/rewardpolicies/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified reward policy.
HTTP Request
DELETE /api/v1/rewardpolicies/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from Reward Policy`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Reward Policy Locations
const params = new URLSearchParams({
lat: "32.90081",
long: "-96.987533",
limit: "10",
distance: "20",
skip: "5"
});
const response = await fetch(`https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/locations?${params}`, {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/locations?lat=32.90081&long=-96.987533&limit=10&distance=20&skip=5"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/locations?lat=32.90081&long=-96.987533&limit=10&distance=20&skip=5");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/locations?lat=32.90081&long=-96.987533&limit=10&distance=20&skip=5")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/locations',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/rewardpolicies/59de97de584b770052aab641/locations?lat=32.90081&long=-96.987533&limit=10&distance=20&skip=5 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -X GET \
'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/locations?lat=32.90081&long=-96.987533&limit=10&distance=20&skip=5' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
-H 'Cache-Control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/locations?lat=32.90081&long=-96.987533&limit=10&distance=20&skip=5")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Location objects.
This method returns the locations associated with a Reward Policy. It sorts them ascending by distance if lat/long parameters are specified.
HTTP Request
GET /api/v1/rewardpolicies/:id/locations
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | The _id field of the Reward Policy. |
| lat | Number | If location is available, this is the latitude of the current location. |
| long | Number | If location is available, this is the longitude of the current location. |
| limit | Number | This is used to limit the number of results. |
| skip | Number | This is used to skip a number of records (for pagination). |
| distance | Number | This is defaulted to 20 currently and is the radius for the location search. |
| select | String | It accepts comma separated string and returns only the fields in select. Ex:select=name,program |
Output Arguments
| Name | Type | Description |
|---|---|---|
| locations | Array | set of Location objects. |
| status | Number | Status Codes. |
Reward Policy Primary Products
const params = new URLSearchParams({
limit: "10",
skip: "5"
});
const response = await fetch(`https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/primaryproducts?${params}`, {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/primaryproducts?limit=10&skip=5"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/primaryproducts?limit=10&skip=5");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/primaryproducts?limit=10&skip=5")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/primaryproducts',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/rewardpolicies/59de97de584b770052aab641/primaryproducts?limit=10&skip=5 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -X GET \
'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/primaryproducts?limit=10&skip=5' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
-H 'Cache-Control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/primaryproducts?limit=10&skip=5")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Products objects.
This method returns the primary products associated with a Reward Policy.
HTTP Request
GET /api/v1/rewardpolicies/:id/primaryproducts
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | The _id field of the Reward Policy. |
| limit | Number | This is used to limit the number of results. |
| skip | Number | This is used to skip a number of records (for pagination). |
Output Arguments
| Name | Type | Description |
|---|---|---|
| products | Array | set of Products objects. |
| status | Number | Status Codes. |
Reward Policy Secondary Products
const params = new URLSearchParams({
limit: "10",
skip: "5"
});
const response = await fetch(`https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/secondaryproducts?${params}`, {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/secondaryproducts?limit=10&skip=5"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/secondaryproducts?limit=10&skip=5");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/secondaryproducts?lat=32.90081&long=-96.987533&limit=10&distance=20&skip=5")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/secondaryproducts',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/rewardpolicies/59de97de584b770052aab641/secondaryproducts?lat=32.90081&long=-96.987533&limit=10&distance=20&skip=5 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -X GET \
'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/secondaryproducts?limit=10&skip=5' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
-H 'Cache-Control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/secondaryproducts?limit=10&skip=5")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Products objects.
This method returns the secondary products associated with a Reward Policy.
HTTP Request
GET /api/v1/rewardpolicies/:id/secondaryproducts
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | The _id field of the Reward Policy. |
| limit | Number | This is used to limit the number of results. |
| skip | Number | This is used to skip a number of records (for pagination). |
Output Arguments
| Name | Type | Description |
|---|---|---|
| products | Array | set of Products objects. |
| status | Number | Status Codes. |
Reward Policy Tertiary Products
const params = new URLSearchParams({
limit: "10",
skip: "5"
});
const response = await fetch(`https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/tertiaryproducts?${params}`, {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/tertiaryproducts?limit=10&skip=5"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/tertiaryproducts?limit=10&skip=5");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/tertiaryproducts?lat=32.90081&long=-96.987533&limit=10&distance=20&skip=5")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/tertiaryproducts',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/rewardpolicies/59de97de584b770052aab641/tertiaryproducts?lat=32.90081&long=-96.987533&limit=10&distance=20&skip=5 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -X GET \
'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/tertiaryproducts?limit=10&skip=5' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
-H 'Cache-Control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardpolicies/59de97de584b770052aab641/tertiaryproducts?limit=10&skip=5")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Products objects.
This method returns the tertiary products associated with a Reward Policy.
HTTP Request
GET /api/v1/rewardpolicies/:id/tertiaryproducts
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | The _id field of the Reward Policy. |
| limit | Number | This is used to limit the number of results. |
| skip | Number | This is used to skip a number of records (for pagination). |
Output Arguments
| Name | Type | Description |
|---|---|---|
| products | Array | set of Products objects. |
| status | Number | Status Codes. |
Rules
This API is compliant with the query interface described in Advanced Queries.
A rule is an object which encapsulates a list of conditions, and a list of actions. During activity processing, if a rule's conditions are true then its actions will be executed. A rule may exist in a folder or be a top-level program rule.
Rule Structure
{
"_id": "5575cc7cbee6c00300164e24",
"createdAt": "2015-06-08T17:10:20.792Z",
"updatedAt": "2015-06-08T17:10:20.792Z",
"program": "5575cc7cbee6c00300164e23",
"ruleFolder": "5575cc7cbee6c00300164e25",
"name": "Stars and Levels",
"desc": "Default stars accrual.",
"actions": [
{
"name": "Default Level",
"logicJSON": "[{"name":"addPoints","data":{}}]",
"_id": "5575cc7cbee6c00300164e26"
}
],
"conditions": [
{
"name": "Default Level",
"logicJSON": "{"group":{"operator":"and","rules":[]}}",
"_id": "5575cc7cbee6c00300164e25"
}
],
"effectiveFrom": "2015-06-08T17:10:20.792Z",
"effectiveTo": "2015-06-08T17:10:20.792Z",
"priority": 0,
"segments": [{"_id":"5a03bfd8ec729a0056e91fd4"}],
"locations": {"isIncluded":true,"inclusionParams":"{}"},
"primaryProducts": {
"isDisabled":true,
"isIncluded":true,
"inclusionParams":"{}"
},
"secondaryProducts": {
"isDisabled":true,
"isIncluded":true,
"inclusionParams":"{}"
},
"tertiaryProducts": {
"isDisabled":true,
"isIncluded":true,
"inclusionParams":"{}"
},
"availability": {
"sunday": {
"isEnabled": true, "startHours": 0, "startMins": 0, "endHours": 23, "endMins": 59
},
"monday": {
"isEnabled": false, "startHours": 0, "startMins": 0, "endHours": 23, "endMins": 59
},
"tuesday": {
"isEnabled": false, "startHours": 0, "startMins": 0, "endHours": 23, "endMins": 59
},
"wednesday": {
"isEnabled": false, "startHours": 0, "startMins": 0, "endHours": 23, "endMins": 59
},
"thursday": {
"isEnabled": false, "startHours": 0, "startMins": 0, "endHours": 23, "endMins": 59
},
"friday": {
"isEnabled": false, "startHours": 0, "startMins": 0, "endHours": 23, "endMins": 59
},
"saturday": {
"isEnabled": false, "startHours": 0, "startMins": 0, "endHours": 23, "endMins": 59
}
},
}
| Field | Type/Format | Description |
|---|---|---|
| _id | ObjectId | readonly unique Unique ID |
| name | String | required Name of the rule. |
| program | String | required Program's ID. |
| ruleFolder | String | Rule folder's ID |
| conditions | Array | Set of objects referring to condition schema. |
| actions | Array | Set of objects referring to action schema. |
| desc | String | Full description. |
| effectiveFrom | Date | required Rule effective from date. Date Formats |
| effectiveTo | Date | Rule effective to date. Date Formats |
| priority | Number | Rule execution priority. |
| canPreview | Boolean | Whether rule can be applied before effective date, only for members who have canPreview as true. |
| segments | Array | Array of segment ids which are eligible for this Rule. |
| locations | Object | Defines the query structure for selecting locations, eligible for this Rule. |
| primaryProducts | Object | Defines the query structure for selecting primary products, associated with this Rule. |
| secondaryProducts | Object | Defines the query structure for selecting secondary products, associated with this Rule. |
| tertiaryProducts | Object | Defines the query structure for selecting tertiary products, associated with this Rule. |
| availability | Object | The availability timing of the rule. Defaults to all days enabled. Sample Value {"monday" : {"isEnabled" : true, "endMins" : 59, "endHours" : 5, "startMins" : 0, "startHours" : 1}, "tuesday" : {"isEnabled" : false, "endMins" : 59, "endHours" : 0, "startMins" : 0, "startHours" : 0}} |
| divisions | Array | It provides restriction to user groups. |
The object contains common fields
Read all Rules
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/rules HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Rule objects.
This methods returns all rules in the system.
HTTP Request
GET /api/v1/rules
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| rules | Array | set of Rule objects |
| status | Number | Status Codes. |
Read Rule by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules/59de97de584b770052aab641", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules/59de97de584b770052aab641"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules/59de97de584b770052aab641");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules/59de97de584b770052aab641")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules/59de97de584b770052aab641',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/rules/59de97de584b770052aab641 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules/59de97de584b770052aab641 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules/59de97de584b770052aab641")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Rule object.
This method returns the specified rule.
HTTP Request
GET /api/v1/rules/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from Rule structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| rule | Object | Rule object |
| status | Number | Status Codes. |
Create Rule
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
program: '5db04e0fc983760048ee271e',
effectiveFrom: '2015-06-08T17:10:20.792Z',
name: 'Hot Drink Promotion',
desc: 'Special promotion for hot drinks.'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString("{\n \"desc\": \"Special promotion for hot drinks.\",\n \"name\": \"Hot Drink Promotion\",\n \"effectiveFrom\": \"2015-06-08T17:10:20.792Z\",\n \"program\": \"5db04e0fc983760048ee271e\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"desc\": \"Special promotion for hot drinks.\",\n \"name\": \"Hot Drink Promotion\",\n \"effectiveFrom\": \"2015-06-08T17:10:20.792Z\",\n \"program\": \"5db04e0fc983760048ee271e\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"desc\": \"Special promotion for hot drinks.\",\n \"name\": \"Hot Drink Promotion\",\n \"effectiveFrom\": \"2015-06-08T17:10:20.792Z\",\n \"program\": \"5db04e0fc983760048ee271e\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"program": "5db04e0fc983760048ee271e",
"desc": "Special promotion for hot drinks.",
"name": "Hot Drink Promotion",
"effectiveFrom": "2015-06-08T17:10:20.792Z"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/rules HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"program": "5db04e0fc983760048ee271e",
"desc": "Special promotion for hot drinks.",
"name": "Hot Drink Promotion",
"effectiveFrom": "2015-06-08T17:10:20.792Z"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"program": "5db04e0fc983760048ee271e",
"desc": "Special promotion for hot drinks.",
"name": "Hot Drink Promotion",
"effectiveFrom": "2015-06-08T17:10:20.792Z"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"program": "5db04e0fc983760048ee271e",
"desc": "Special promotion for hot drinks.",
"name": "Hot Drink Promotion",
"effectiveFrom": "2015-06-08T17:10:20.792Z"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Rule object.
This method creates a new rule.
HTTP Request
POST /api/v1/rules/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| rule | Object | Rule object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| rule | Object | Rule object |
| status | Number | Status Codes. |
Update Rule by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules/59e918777e09760050c8272d", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
desc: 'Promotion which gives an extra 1 point for every additional hot drink.'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString("{\n \"desc\": \"Promotion which gives an extra 1 point for every additional hot drink.\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"desc\": \"Promotion which gives an extra 1 point for every additional hot drink.\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"desc\": \"Promotion which gives an extra 1 point for every additional hot drink.\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"desc": "Promotion which gives an extra 1 point for every additional hot drink."
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/rules/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"desc": "Promotion which gives an extra 1 point for every additional hot drink."
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"desc": "Promotion which gives an extra 1 point for every additional hot drink."
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"desc": "Promotion which gives an extra 1 point for every additional hot drink."
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Rule object.
This method updates the specified rule.
HTTP Request
PUT /api/v1/rules/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Value references to "_id" field from Rule structure. |
| rule | Object | Rule object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| rule | Object | Rule object |
| status | Number | Status Codes. |
Delete Rule by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules/59e918777e09760050c8272d", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/rules/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rules/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified rule.
HTTP Request
DELETE /api/v1/rules/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from Rule`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Rule Folders
This API is compliant with the query interface described in Advanced Queries.
Rule Folders are hierarchical folders in which rules can be stored in order to manage them more efficiently. A folder can contain both Rules and other Rule Folders. Each Rule can only belong in one Rule Folder at any one time.
Rule Folder Structure
{
"_id": "5575cc7cbee6c00300164e24",
"createdAt": "2015-06-08T17:10:20.792Z",
"updatedAt": "2015-06-08T17:10:20.792Z",
"program": "5575cc7cbee6c00300164e23",
"name": "Stars and Levels",
"desc": "Default stars accrual.",
"flow": true,
"org": "5575cc7cbee6c00300164e23",
"parentFolder": "5575cc7cbee6c00300164e26",
"priority": 0,
"isPromoFolder": false
}
| Field | Type/Format | Description |
|---|---|---|
| _id | ObjectId | readonly unique Unique ID |
| name | String | required Name of the rule. |
| program | String | required Program's ID. |
| desc | String | Full description. |
| parentFolder | String | Parent folder ID. |
| flow | Boolean | Default: true Whether the folder's rules participate in flow execution. |
| priority | Number | Folder execution priority. |
| isPromoFolder | Boolean | default:false Field to indicate if folder contains promo rules |
| divisions | Array | It provides restriction to user groups |
The object contains common fields
Read all Rule Folders
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/rulefolders HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Rule Folder objects.
This methods returns all rulefolders in the system.
HTTP Request
GET /api/v1/rulefolders
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| rulefolders | Array | set of Rule Folder objects |
| status | Number | Status Codes. |
Read Rule Folder by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders/59de97de584b770052aab641", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders/59de97de584b770052aab641"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders/59de97de584b770052aab641");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders/59de97de584b770052aab641")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders/59de97de584b770052aab641',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/rulefolders/59de97de584b770052aab641 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders/59de97de584b770052aab641 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders/59de97de584b770052aab641")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Rule Folder object.
This method returns the specified rule folder.
HTTP Request
GET /api/v1/rulefolders/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from Rule Folder structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| rule folder | Object | Rule Folder object |
| status | Number | Status Codes. |
Create Rule Folder
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
name: 'Special Promotions Folder',
program: '5575cc7cbee6c00300164e23'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString("{\n \"name\": \"Special Promotions Folder\",\n \"program\": \"5575cc7cbee6c00300164e23\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"name\": \"Special Promotions Folder\",\n \"program\": \"5575cc7cbee6c00300164e23\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"name\": \"Special Promotions Folder\",\n \"program\": \"5575cc7cbee6c00300164e23\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"program": "5575cc7cbee6c00300164e23",
"name": "Special Promotions Folder"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/rulefolders HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"program": "5575cc7cbee6c00300164e23",
"name": "Special Promotions Folder"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"program": "5575cc7cbee6c00300164e23",
"name": "Special Promotions Folder"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"program": "5575cc7cbee6c00300164e23",
"name": "Special Promotions Folder"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Rule Folder object.
This method creates a new rule folder.
HTTP Request
POST /api/v1/rulefolders/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| rule folder | Object | Rule Folder object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| rule folder | Object | Rule Folder object |
| status | Number | Status Codes. |
Update Rule Folder by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders/59e918777e09760050c8272d", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
desc: 'Default folder for special promos.'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString("{\n \"desc\": \"Default folder for special promos.\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"desc\": \"Default folder for special promos.\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"desc\": \"Default folder for special promos.\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"desc": "Default folder for special promos."
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/rulefolders/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"desc": "Default folder for special promos."
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"desc": "Default folder for special promos."
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"desc": "Default folder for special promos."
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Rule Folder object.
This method updates the specified rule folder.
HTTP Request
PUT /api/v1/rulefolders/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Value references to "_id" field from Rule Folder structure. |
| rule folder | Object | Rule Folder object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| rule folder | Object | Rule Folder object |
| status | Number | Status Codes. |
Delete Rule Folder by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders/59e918777e09760050c8272d", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/rulefolders/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rulefolders/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified rule folder.
HTTP Request
DELETE /api/v1/rulefolders/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from Rule Folder`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Rule Match Structure
Sample Rule Match
{
"primaryLines" : [
1
],
"primaryQty" : 2,
"primaryReqQty" : 1,
"primaryAllocation" : [
1,
1
],
"secondaryLines" : [],
"secondaryQty" : -1,
"secondaryReqQty" : -1,
"secondaryAllocation" : [],
"tertiaryLines" : [],
"tertiaryQty" : -1,
"tertiaryReqQty" : -1,
"tertiaryAllocation" : [],
"_id" : "5cefa3178150f10109a51183",
"ruleRunId" : "5cefa3178150f10109a51182",
"ruleId" : "5c59007d9a65de010d8e0daa",
"matchCount" : 2
}
| Field | Type/Format | Description |
|---|---|---|
| ruleRunId | ObjectId | New objectId if same rule ran more than once |
| ruleId | ObjectId | Unique ID of the rule |
| matchCount | Number | The matchCount is equal to the min( primaryQty/primaryExpectedQty, secondaryQty/secondaryExpectedQty, tertiaryQty/tertiaryExpectedQty) |
| primaryLines | Number | Line numbers from the context that belong to the Primary Product Group for which the rule is applicable for |
| primaryQty | Number | Actual matching quantity of products belonging to Primary Product Group from the context |
| primaryReqQty | Number | Minimum matching quantity of products specified at the rule, belonging to Primary Product Group |
| secondaryLines | Number | Line numbers from the context that belong to the Secondary Product Group for which the rule is applicable for |
| secondaryQty | Number | Actual matching quantity of products belonging to Secondary Product Group from the context |
| secondaryReqQty | Number | Minimum matching quantity of products specified at the rule, belonging to Secondary Product Group |
| tertiaryLines | Number | Line numbers from the context that belong to the Tertiary Product Group for which the rule is applicable for |
| tertiaryQty | Number | Actual matching quantity of products belonging to Tertiary Product Group from the context |
| tertiaryReqQty | Number | Minimum matching quantity of products specified at the rule, belonging to Tertiary Product Group |
| ruleFired | Boolean | Indicates if the rule is triggered |
| executionCount | Number | Number of times the rule has to be triggered, this variables overrides the per member limits on the rule. |
| memberOfferLimit | Number | Maximum number of times the respective Offer can be applied on the context. |
Segments
This API is compliant with the query interface described in Advanced Queries.
Segments are named groups of memebers that identify some commonality between the members belonging to the segment. For example, "Morning Coffee Drinker", "Power Mom", etc.
Segment Structure
{
"name": "Compatible",
"description": "tertiary",
"type": "static",
"_id": "59df84fe65fe8a098573896b",
"divisions": ["59de86b7584b770052aaacb1", "59de86b7584b770052aaacb2"],
"createdAt": "2011-12-17T08:31:08.067Z",
"updatedAt": "2017-04-28T14:17:11.009Z",
"createdBy": "59de84708d69b9006b8295df",
"updatedBy": "59de84708d69b9006b8295df"
}
| field | Type/Format | Description |
|---|---|---|
| _id | ObjectId | required unique Unique ID |
| name | String | required name of the segment |
| description | String | the description of the segment |
| type | String | the type of the segment. |
| divisions | Array | Array of ObjectId references to divisions. This field provides restriction to user groups. |
The object contains common fields
Read all Segments
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/segments HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Segment objects.
This methods returns all segments in the system.
HTTP Request
GET /api/v1/segments
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| segments | Array | set of Segment objects |
| status | Number | Status Codes. |
Read Segment by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments/59de97de584b770052aab641", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments/59de97de584b770052aab641"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments/59de97de584b770052aab641");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments/59de97de584b770052aab641")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments/59de97de584b770052aab641',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/segments/59de97de584b770052aab641 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments/59de97de584b770052aab641 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments/59de97de584b770052aab641")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Segment object.
This method returns the specified segment.
HTTP Request
GET /api/v1/segments/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from Segment structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| segment | Object | Segment object |
| status | Number | Status Codes. |
Create Segment
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
description: 'Evening shopper who is a mother and works.',
type: 'static',
name: 'Working Mom'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString("{\n \"name\": \"Working Mom\",\n \"type\": \"static\",\n \"description\": \"Evening shopper who is a mother and works.\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"name\": \"Working Mom\",\n \"type\": \"static\",\n \"description\": \"Evening shopper who is a mother and works.\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"name\": \"Working Mom\",\n \"type\": \"static\",\n \"description\": \"Evening shopper who is a mother and works.\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"type": "static",
"name": "Working Mom",
"description": "Evening shopper who is a mother and works."
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/segments HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"type": "static",
"name": "Working Mom",
"description": "Evening shopper who is a mother and works."
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"type": "static",
"name": "Working Mom",
"description": "Evening shopper who is a mother and works."
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"type": "static",
"name": "Working Mom",
"description": "Evening shopper who is a mother and works."
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Segment object.
This method creates a new segment.
HTTP Request
POST /api/v1/segments/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| segment | Object | Segment object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| segment | Object | Segment object |
| status | Number | Status Codes. |
Update Segment by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments/59e918777e09760050c8272d", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
description: 'Morning Coffee Drinker'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString("{\n \"description\": \"Morning Coffee Drinker\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"description\": \"Morning Coffee Drinker\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"description\": \"Morning Coffee Drinker\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"description": "Morning Coffee Drinker"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/segments/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"description": "Morning Coffee Drinker"
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"description": "Morning Coffee Drinker"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"description": "Morning Coffee Drinker"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Segment object.
This method updates the specified segment.
HTTP Request
PUT /api/v1/segments/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Value references to "_id" field from Segment structure. |
| segment | Object | Segment object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| segment | Object | Segment object |
| status | Number | Status Codes. |
Delete Segment by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments/59e918777e09760050c8272d", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/segments/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/segments/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified segment.
HTTP Request
DELETE /api/v1/segments/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from Segment`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Streaks
Streaks are objects contained inside Member objects, under the streaks array. Streaks represent a series of activities or achievements that a member must complete within a specified timeframe to earn rewards or recognition.
Streak Structure
Sample Streak Object
{
"startedAt": "2023-02-13T06:30:30Z",
"changedAt": "2023-02-13T06:30:30Z",
"endedAt": "2023-02-16T06:30:30Z",
"status": "Active",
"value": 0,
"goals": [
{
"name": "Hotel",
"startedAt": "2023-02-13T06:30:30Z",
"changedAt": "2023-02-13T06:30:30Z",
"target": 100,
"status": "Active",
"value": 30,
"_id": "63e9d7c11df15b00270b5ee5",
"createdAt": "2023-02-13T06:30:30Z",
"updatedAt": "2023-02-16T07:29:40.611Z",
"createdBy": "621670caa1b79e00593ad0dc",
"updatedBy": "621670caa1b79e00593ad0dc"
}
],
"ctlGroup": "TestGroup",
"policyId": "638a0611c452b100273c0bc4",
"_id": "63e9d7c11df15b00270b5ee4",
"createdAt": "2023-02-13T06:30:30Z",
"updatedAt": "2023-02-16T07:29:40.611Z",
"createdBy": "621670caa1b79e00593ad0dc",
"updatedBy": "621670caa1b79e00593ad0dc"
}
| Field | Type | Default | Description |
|---|---|---|---|
| startedAt | Date | required Date when the streak was started |
|
| changedAt | Date | required Date when the streak was last changed |
|
| endedAt | Date | Date when the streak was ended | |
| status | String | "Not Started" | required Current status of the streak (for example, "Not Started", "Active", "Complete", "Expired", "Cancelled") |
| value | Number | 0 | The current value associated with the streak |
| currGoal | String | The current goal that the member is working towards in this streak | |
| goals | Array | required List of goals associated with the streak |
|
| ctlGroup | String | This field can be used to control the streak bonus | |
| policyId | ObjectId | required _id of the Streak Policy |
The object contains common fields.
Streak Methods
Add Streak
Adding a new Streak to a Member is typically initiated by processing an Activity.
Update Streak
While technically possible, Streaks are generally not changed directly. Instead, they're changed by the rules engine in response to an activity posting.
A Streak can be changed by modifying it within the Member.streaks array and then updating the member.
Note: Changing streak values directly outside of an Activity posting is highly discouraged and is only available with appropriate permissions.
Delete Streak
Deleting a Streak from a Member can be achieved by manipulating the Member's streaks array and then storing the resulting updated Member record.
Note: Deleting streaks is highly discouraged, and is only available with appropriate permissions.
Get Member Streaks
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/streaks", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/streaks"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/streaks");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/streaks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/streaks',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/members/12211221/streaks HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA
Content-Type: application/json
cache-control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/streaks \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/streaks")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of the member's streak objects.
This method retrieves all streaks for a member. The API supports using either a memberId or a loyaltyId as input by leveraging different query parameters.
HTTP Request
GET api/v1/members/:id/streaks
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | String | Member ID or loyalty ID |
| select | String | It accepts a comma-separated string and returns only the specified fields. Ex:select=goals.name,goals.target |
| query | Object | Used to filter the member streaks based on the specified conditions. Ex: {"status":"Active"} returns only active streaks. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| res | Object | Returns the updated streak object |
| status | Number | Status Codes |
Get Member Streak by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/streaks/63e9d7c11df15b00270b5ee4", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/streaks/63e9d7c11df15b00270b5ee4"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/streaks/63e9d7c11df15b00270b5ee4");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
GET /api/v1/members/12211221/streaks/63e9d7c11df15b00270b5ee4 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA
Content-Type: application/json
cache-control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/streaks/63e9d7c11df15b00270b5ee4 \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache'
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/streaks/63e9d7c11df15b00270b5ee4")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/streaks/63e9d7c11df15b00270b5ee4',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/streaks/63e9d7c11df15b00270b5ee4")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a specific streak object for the member.
This method retrieves a specific streak by its ID for a given member.
HTTP Request
GET /api/v1/members/:id/streaks/:streakId
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | String | Member ID or loyalty ID |
| streakId | String | ID of the streak to retrieve |
| select | String | (optional) It accepts a comma-separated string and returns only the specified fields. Ex:select=goals.name,goals.target |
| query | Object | Used to filter the member streaks based on the specified conditions. Ex: {"status":"Active"} returns only active streaks. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| res | Object | Returns the specified streak object |
| status | Number | Status Codes |
Update Member Streaks
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/streaks/63e9d7c11df15b00270b5ee4", {
method: "PATCH",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"status": "Complete",
"value": 100,
"currGoal": {
"status": "Complete",
"value": 100
}
})
});
const data = await response.json();
console.log(data);
String body = """
{
"status": "Complete",
"value": 100,
"currGoal": {
"status": "Complete",
"value": 100
}
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/streaks/63e9d7c11df15b00270b5ee4"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.method("PATCH", HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Patch, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/streaks/63e9d7c11df15b00270b5ee4");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"status": "Complete",
"value": 100,
"currGoal": {
"status": "Complete",
"value": 100
}
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
PATCH /api/v1/members/12211221/streaks/63e9d7c11df15b00270b5ee4 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA
Content-Type: application/json
cache-control: no-cache
{
"status": "Complete",
"value": 100,
"currGoal": {
"status": "Complete",
"value": 100
}
}
curl -X PATCH \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/streaks/63e9d7c11df15b00270b5ee4 \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache' \
-d '{
"status": "Complete",
"value": 100,
"currGoal": {
"status": "Complete",
"value": 100
}
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/streaks/63e9d7c11df15b00270b5ee4")!
var request = URLRequest(url: url)
request.httpMethod = "PATCH"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("{
"status": "Complete",
"value": 100,
"currGoal": [
"status": "Complete",
"value": 100
]
}".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/streaks/63e9d7c11df15b00270b5ee4")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"status": "Complete",
"value": 100,
"currGoal": {
"status": "Complete",
"value": 100
}
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/members/12211221/streaks/63e9d7c11df15b00270b5ee4',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"status": "Complete",
"value": 100,
"currGoal": {
"status": "Complete",
"value": 100
}
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
The above command returns the updated streak object.
This method allows you to update a specific streak for a member.
HTTP Request
PATCH /api/v1/members/:id/streaks/:streakId
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | String | Member ID or loyalty ID |
| streakId | String | ID of the streak to update |
Output Arguments
| Name | Type | Description |
|---|---|---|
| res | Object | Returns the updated streak object |
| status | Number | Status Codes |
Streak History
Streak History maintains a record of all expired, cancelled, and completed streaks, ensuring transparency and accountability for streak progression and status changes with in a member.
Streak History Structure
Sample Streak History Object
{
"startedAt": "2025-04-09T21:09:00.000Z",
"changedAt": "2021-04-09T21:09:00.000Z",
"endedAt": "2025-02-16T06:30:30.000Z",
"status": "Complete",
"value": 0,
"currGoal": null,
"goals":
[
{
"name": "Goal streak",
"startedAt": "2025-04-17T17:48:00.000Z",
"changedAt": "2025-04-17T17:48:00.000Z",
"endedAt": "2025-04-17T17:48:00.000Z",
"target": 5,
"status": "Expired",
"value": 0,
"_id": "6806377d24b2ae7cbf4722a5",
"createdAt": "2025-04-21T12:18:05.795Z",
"updatedAt": "2025-04-21T12:18:52.258Z",
"createdBy": "62c534b461e88400278e212a",
"updatedBy": "62c534b461e88400278e212a"
}
],
"policyId": "663c91910458f6003e6a645a",
"memberId": "6658658e4e476e003fd4bdf3",
"org": "663c8ffb6430c2005533943b",
"mergeIds": [],
"divisions": ["59de86b7584b770052aaacb1", "59de86b7584b770052aaacb2"],
"_id": "67f6961b4194d7eae14b0867",
"createdAt": "2025-04-09T15:45:31.043Z",
"updatedAt": "2025-04-10T06:25:00.005Z",
"createdBy": "663c8ffb6430c2005533943a",
"updatedBy": "663c8ffb6430c2005533943a"
}
| Field | Type | Description |
|---|---|---|
| startedAt | Date | The date and time when the streak was started |
| changedAt | Date | The date and time when the streak was last changed |
| endedAt | Date | Date the streak was ended |
| status | String | The current status of the streak (for example, "Complete") |
| value | Number | The value associated with the streak |
| currGoal | Object | The current goal associated with the streak (if any) |
| goals | Array | A list of goals associated with the streak |
| policyId | ObjectId | Reference to the _id field of the policy associated with the streak |
| memberId | ObjectId | Reference to the _id field of the member associated with the streak |
| org | ObjectId | Reference to the _id field of the organization associated with the streak |
| mergeIds | Array | List of merged member IDs associated with the streak |
| divisions | Array | Array of ObjectId references to divisions. This field provides restriction to user groups. |
The object contains common fields.
Read All Streak Histories
Request Example
const axios = require('axios');
async function getAllStreakHistory() {
try {
const response = await axios.get('https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/streakhistories', {
headers: {
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
}
});
console.log(response.data);
return response.data;
} catch (error) {
console.error('Error fetching streak history:', error);
}
}
getAllStreakHistory();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class GetAllStreakHistory {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/streakhistories"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
if (response.statusCode() == 200) {
System.out.println(response.body());
} else {
System.out.println("Error: " + response.statusCode());
}
}
}
using System;
using System.IO;
using System.Net;
using System.Threading.Tasks;
class GetAllStreakHistory
{
static async Task Main(string[] args)
{
string url = "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/streakhistories";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.Headers["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ";
try
{
using (HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync())
{
if (response.StatusCode == HttpStatusCode.OK)
{
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
string responseBody = await reader.ReadToEndAsync();
Console.WriteLine(responseBody);
}
}
else
{
Console.WriteLine($"Error: {response.StatusCode}");
}
}
}
catch (WebException ex)
{
Console.WriteLine($"Request error: {ex.Message}");
}
}
}
require 'net/http'
require 'uri'
require 'json'
uri = URI.parse('https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/streakhistories')
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(request)
end
if response.code == '200'
streak_history = JSON.parse(response.body)
puts streak_history
else
puts "Error: #{response.code} - #{response.message}"
end
<?php
function getAllStreakHistory() {
$url = "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/streakhistories";
$token = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ";
$headers = [
"Authorization: $token"
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error: ' . curl_error($ch);
} else {
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($httpCode == 200) {
echo $response;
} else {
echo "Error: HTTP Status Code $httpCode";
}
}
curl_close($ch);
}
getAllStreakHistory();
?>
GET /api/v1/streakhistories HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/streakhistories \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
import Foundation
func getAllStreakHistory() {
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/streakhistories")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Error fetching streak history: \(error)")
return
}
guard let data = data else {
print("No data received")
return
}
do {
if let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] {
print(json)
}
} catch {
print("Error parsing JSON: \(error)")
}
}
task.resume()
}
getAllStreakHistory()
This endpoint retrieves all streak history records across all members. The results are paginated and can be filtered using query parameters.
GET /api/v1/streakhistories
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| streak history | Array | List of Streak History object |
Read Streak History by ID
Request Example
const axios = require('axios');
async function getStreakHistoryById(id) {
try {
const response = await axios.get(`https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/streakhistories/${id}`, {
headers: {
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
}
});
console.log(response.data);
return response.data;
} catch (error) {
console.error('Error fetching streak history:', error);
}
}
getStreakHistoryById('63eddb6424e53a002702ae81');
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class GetStreakHistoryById {
public static void main(String[] args) throws Exception {
String id = "63eddb6424e53a002702ae81";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/streakhistories/" + id))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
if (response.statusCode() == 200) {
System.out.println(response.body());
} else {
System.out.println("Error: " + response.statusCode());
}
}
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
private static readonly HttpClient client = new HttpClient();
static async Task Main(string[] args)
{
string id = "63eddb6424e53a002702ae81";
string url = $"https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/streakhistories/{id}";
client.DefaultRequestHeaders.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
try
{
HttpResponseMessage response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Request error: {e.Message}");
}
}
}
require 'net/http'
require 'uri'
require 'json'
id = '63eddb6424e53a002702ae81'
uri = URI.parse("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/streakhistories/#{id}")
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(request)
end
if response.code == '200'
streak_history = JSON.parse(response.body)
puts streak_history
else
puts "Error: #{response.code} - #{response.message}"
end
<?php
$id = "61a5e8b7584b770052abcdef";
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/streakhistories/". $id,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
?>
GET /api/v1/streakhistories/63eddb6424e53a002702ae81 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/streakhistories/63eddb6424e53a002702ae81 \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
import Foundation
func getStreakHistoryById(id: String) {
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/streakhistories/\(id)")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Error fetching streak history: \(error)")
return
}
guard let data = data else {
print("No data received")
return
}
do {
if let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] {
print(json)
}
} catch {
print("Error parsing JSON: \(error)")
}
}
task.resume()
}
getStreakHistoryById(id: "63eddb6424e53a002702ae81")
This endpoint retrieves a specific streak history record by its ID.
GET /api/v1/streakhistories/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API, referenced to "_id" field from streak history`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| streak history | Array | List of Streak History object |
Streak Event Log
The Streak Event Log is an immutable record of changes to streak goal values that occurred for a Member.
Streak Event Log Structure
{
"_id" : "63eddb6424e53a002702ae81",
"eventName" : "StreakGoalAdvanceEvent",
"eventId" : "cle2fryz90xya12o5ya272z7i",
"eventDate" : "2023-02-13T06:30:30Z",
"memberId" : "63e9d7c01df15b00270b5e8b",
"streakId" : "63e9d7c11df15b00270b5ee4",
"streakPolicyId" : "638a0611c452b100273c0bc4",
"goalName" : "Hotel",
"goalPrevValue" : 0,
"goalNewValue" : 30,
"goalPrevStatus" : "Active",
"goalNewStatus" : "Active",
"actDate" : "2023-01-29T11:59:00Z",
"actUTCOffset" : 0,
"actType" : "NGL Accrual",
"actValue" : 30,
"actCurrencyCode" : "USD",
"actId" : "63e9d9063369890026006a37",
"actLocationId" : "60f105c9f5226401eb832ff4",
"actReasonCode" : "",
"actSubReasonCode" : "",
"actLoyaltyID" : "84567694",
"createdAt" : "2023-02-16T07:29:40.611Z",
"updatedAt" : "2023-02-16T07:29:40.611Z",
"createdBy" : "621670caa1b79e00593ad0dc",
"updatedBy" : "621670caa1b79e00593ad0dc",
"org" : "62155636e7327700939e83cd",
"__v" : 0
}
| field | Type/Format | Description |
|---|---|---|
| _id | ObjectId | required unique Unique ID for the record. |
| eventName | String | required Name of the event that triggered the streak update. |
| eventId | String | unique Event ID associated with the streak update. |
| eventDate | Date | Date when event was triggered. |
| memberId | ObjectId | The Member ID for whom the streak was updated. |
| streakId | ObjectId | The Streak ID that was updated. |
| streakPolicyId | ObjectId | ID of the Streak Policy associated with the updated streak. |
| goalId | ObjectId | ID of the updated Member Streak Goal. |
| goalName | String | Name of the Member Streak Goal that was updated. |
| goalPrevValue | Number | Goal value of member streak before current update. |
| goalNewValue | Number | Goal value of member streak after current update. |
| goalPrevTarget | Number | Goal target of member streak before current update. |
| goalNewTarget | Number | Goal target of member streak after current update. |
| goalPrevStatus | String | Goal status of member streak before current update. |
| goalNewStatus | String | Goal status of member streak after current update. |
| actDate | Date | Date of the activity through which streak updated. |
| actUTCOffset | Number | UTC offset of the activity time. |
| actType | String | Type of activity that led to the streak update. |
| actValue | Number | Value of the activity that triggered the streak update. |
| actCurrencyCode | String | Currency code of the activity that updated the streak. |
| actId | ObjectId | ID of the Activity related to the streak update. |
| actLocationId | ObjectId | ID of the location related to the activity. |
| actReasonCode | String | Reason code of the activity. |
| actSubReasonCode | String | Sub reason code of the activity. |
| actLoyaltyID | String | Loyalty ID of the member associated with the activity. |
The object contains common fields
Read all Streak Event Logs
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/streakeventlogs", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/streakeventlogs"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/streakeventlogs");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/streakeventlogs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/streakeventlogs',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/streakeventlogs HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/streakeventlogs \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/streakeventlogs")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Streak Event Log objects.
HTTP Request
GET /api/v1/streakeventlogs
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| streak event logs | Array | set of Streak Event Log object |
| status | Number | Status Codes. |
Tiers and Levels
Tiers are objects contained inside Member objects under the Member.tiers array. Each Tier further contains a current level, under its level element. Here we describe both tiers and levels.
Tier and Level Structure
Sample Tier and Level
{
"name": "Standard",
"level": {
"name": "Welcome",
"number": 1,
"_id": "59df84e2bc4f61095c84adad",
"displayName": "Starter"
},
"achievedOn": "2017-10-11T19:07:18.314Z",
"requalsOn": "2017-11-18T07:55:16.559Z",
"primary": true,
"reason": "10002",
"program": "59de86b7584b770052aaacaf",
"policyId": "59de86b7584b770052abcdef",
"_id": "59df84e2bc4f61095c84adae",
"createdAt": "2017-08-31T01:22:22.589Z",
"updatedAt": "2017-03-12T21:29:07.800Z",
"createdBy": "59de84708d69b9006b8295df",
"updatedBy": "59de84708d69b9006b8295df"
}
| Field | Type | Default | Description |
|---|---|---|---|
| name | String | required The name of the tier. Comes from the policy |
|
| level | Level | required Current level. All levels comply with the Tier Policy |
|
| achievedOn | Date | required Date when the current level was achieved. |
|
| reason | String | optional Reason code of the last activity which set the tier. |
|
| requalsOn | Date | required Date the current level expires and needs to be requalified. |
|
| primary | Boolean | false | required Primary flag. Used to show as primary tier in member's tiers |
| program | ObjectId | required Reference to [Program] (#programs) |
|
| policyId | ObjectId | required _id of the Tier Policy |
A level has these fields:
| Field | Type | Default | Description |
|---|---|---|---|
| name | String | required The name of the tier. Comes from the policy |
|
| number | Number | required The numeric order of the tier. Comes from the policy |
|
| displayName | String | optional Display name for the tier level. Populated when the Tier Name enum value matches the level name; otherwise shows "Unknown". |
The object contains common fields
Tier Methods
Tier Manipulation Examples
Add Tier
A new Tier to a Member is initiated only during enrollment and during program upgrades requiring additional Tier types.
If necessary a new Tier can be added to a Member by adding an instance of Tier and updating the member.
Note: Adding tiers to Members outside of enrollment process or Program upgrade process is highly discouraged, and only available with appropriate permissions.
Update Tier
While technically possible, Tiers are generally not changed directly. Instead, they're changed by the rules engine in response to an Activity posting.
You can change a Tier within the Member.tiers array and then update the member.
Note: Changing Tier levels directly outside of Activity posting is highly discouraged and is available only with appropriate permissions.
Delete Tier
Deleting a Tier from a Member can be achieved by manipulating the Member's tiers array and then updating the resulting updated Member record.
Note: Deleting Tiers is highly discouraged, and is only available with appropriate permissions.
Tier History
Tier history is an immutable record of the tier changes which took place for a Member.
Tier History Structure
{
"_id" : "57738d77e1f9731e70f59861",
"createdAt" : "2016-06-29T08:57:27.052Z",
"updatedAt" : "2016-06-29T08:57:27.052Z",
"date" : 6.30153583727215e+18,
"tier" : "577376d92f16bafa5a00abcd",
"newTierLevel" : "Gold",
"oldTierLevel" : "Green",
"eventId" : "ciq0nffsf00014s4wcz4wsjmc",
"memberId" : "577376d92f16bafa5a00137b",
"divisions": ["59de86b7584b770052aaacb1", "59de86b7584b770052aaacb2"]
}
| field | Type/Format | Description |
|---|---|---|
| _id | ObjectId | required unique Unique ID |
| date | Date | The upgrade/downgrade action timestamp |
| tier | ObjectId | required _id of the Tier |
| newTierLevel | String | The updated tier level |
| oldTierLevel | String | tier level before upgrade/downgrade |
| eventId | String | unique Event ID, from which the data was collected |
| memberId | ObjectId | required Member ID for which history is collected |
| divisions | Array | Array of ObjectId references to divisions. This field provides restriction to user groups. |
The object contains common fields
Read all Tier History
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierhistories", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierhistories"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierhistories");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierhistories")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierhistories',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/tierhistories HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierhistories \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierhistories")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Tier History objects.
HTTP Request
GET /api/v1/tierhistories
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| tierhistory | Array | set of Tier History object |
| status | Number | Status Codes. |
Tier Policies
This API is compliant with the query interface described in Advanced Queries.
Tiers are structures that express what levels can be awarded to members. A level in a Tier is awarded when a member achieves a certain milestone.
Tier Policy Structure
{
"name": "Standard",
"levels": [
{
"name": "Welcome",
"color": "#c18f21",
"defaultLevel": true,
"expirationHours": 0,
"expirationSnapTo": "day",
"expiryWarningDays": [],
"activityBasedExpiration": false,
"expiryUnit":"Hours",
"expiryValue":10,
"_id": "59de87c3584b770052aaacbe",
"displayName": "Starter"
}
],
"primary": true,
"program": "59de86b7584b770052aaacaf",
"_id": "59de87c3584b770052aaacbd",
"createdAt": "2017-10-11T21:06:11.820Z",
"updatedAt": "2017-10-11T21:06:24.865Z",
"createdBy": "59de84708d69b9006b8295df",
"updatedBy": "59de84708d69b9006b8295df"
}
The structure consists of levels.
| Field | Type | Description |
|---|---|---|
| _id | ObjectId | unique _id of the record |
| name | String | unique required Name of the Tier structure |
| levels | Array | required An array of Tier levels |
| primary | Boolean | Whether the Tier structure is the primary one. |
| program | ObjectId | Which program the Tier belongs to |
| divisions | Array | It provides restriction to user groups |
The structure for each level.
| Field | Type | Description |
|---|---|---|
| _id | ObjectId | unique _id of the record |
| name | String | Name of the level (e.g. Welcome, Gold, Platinum, etc.) |
| number | Number | Number in the order of levels. Inidicates the order in which levels are achieved. |
| threshold | Number | In some programs, this is used to indicates number of qualifying points needed to achieve the level. |
| color | String | A color code to display for this level |
| defaultLevel | Boolean | If this is the default level for new members when they are enrolled |
| expirationHours | Number | Number of hours after which this level will need to be requalified |
| expirationSnapTo | String | When the expiration period begins. This is controlled by the Enum structure with type=SnapTo |
| expirationWarningDays | Array | An array of numbers indicating when to generate TierExpirationWarningEvent. |
| activityBasedExpiration | Boolean | Whether expiration period is considered since the last activity. |
| expiryUnit | String | Either 'Days' or 'Hours' |
| expiryValue | Number | Default: 0 Number of units to expiry |
| displayName | String | Default: level.name This is a virtual field that isn’t persisted in the schema and is appended to the member tier levels only in the response. This field's value depends on translateTierNames flag (Program's enrollSettings filed) |
The object contains common fields
Read all Tier Policies
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/tierpolicies HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Tier Policy objects.
This methods returns all tierpolicies in the system.
HTTP Request
GET /api/v1/tierpolicies
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| tierpolicies | Array | set of Tier Policy objects |
| status | Number | Status Codes. |
Read Tier Policy by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies/59de97de584b770052aab641", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies/59de97de584b770052aab641"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies/59de97de584b770052aab641");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies/59de97de584b770052aab641")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies/59de97de584b770052aab641',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/tierpolicies/59de97de584b770052aab641 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies/59de97de584b770052aab641 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies/59de97de584b770052aab641")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Tier Policy object.
This method returns the specified tier policy.
HTTP Request
GET /api/v1/tierpolicies/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Value references to "_id" field from Tier Policy structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| tier policy | Object | Tier Policy object |
| status | Number | Status Codes. |
Create Tier Policy
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
levels: [ { 'name': } ],
program: '59de86b7584b770052aaacaf',
name: 'Free Drink Purse'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString("{\n \"name\": \"Free Drink Purse\",\n \"levels\": [ { \"name\": } ],\n \"program\": \"59de86b7584b770052aaacaf\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"name\": \"Free Drink Purse\",\n \"levels\": [ { \"name\": } ],\n \"program\": \"59de86b7584b770052aaacaf\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"name\": \"Free Drink Purse\",\n \"levels\": [ { \"name\": } ],\n \"program\": \"59de86b7584b770052aaacaf\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"levels": "ARRAY(0x560b4750b7f0)",
"program": "59de86b7584b770052aaacaf",
"name": "Free Drink Purse"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/tierpolicies HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"levels": "ARRAY(0x560b4750b7f0)",
"program": "59de86b7584b770052aaacaf",
"name": "Free Drink Purse"
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"levels": "ARRAY(0x560b4750b7f0)",
"program": "59de86b7584b770052aaacaf",
"name": "Free Drink Purse"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"levels": "ARRAY(0x560b4750b7f0)",
"program": "59de86b7584b770052aaacaf",
"name": "Free Drink Purse"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Tier Policy object.
This method creates a new tier policy.
HTTP Request
POST /api/v1/tierpolicies/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| tier policy | Object | Tier Policy object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| tier policy | Object | Tier Policy object |
| status | Number | Status Codes. |
Update Tier Policy by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies/59e918777e09760050c8272d", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
primary: 'false'})
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString("{\n \"primary\": \"false\"\n}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{\n \"primary\": \"false\"\n}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = "{\n \"primary\": \"false\"\n}"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"primary": "false"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/tierpolicies/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
{
"primary": "false"
}
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{
"primary": "false"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"primary": "false"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Tier Policy object.
This method updates the specified tier policy.
HTTP Request
PUT /api/v1/tierpolicies/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Value references to "_id" field from Tier Policy structure. |
| tier policy | Object | Tier Policy object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| tier policy | Object | Tier Policy object |
| status | Number | Status Codes. |
Delete Tier Policy by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies/59e918777e09760050c8272d", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies/59e918777e09760050c8272d"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies/59e918777e09760050c8272d");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies/59e918777e09760050c8272d")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies/59e918777e09760050c8272d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/tierpolicies/59e918777e09760050c8272d HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies/59e918777e09760050c8272d \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/tierpolicies/59e918777e09760050c8272d")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified tier policy.
HTTP Request
DELETE /api/v1/tierpolicies/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from Tier Policy`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Reward Usage History
This API is compliant with the query interface described in Advanced Queries.
Reward usage history is an immutable record of the reward usage changes which took place for a Reward.
Reward Usage History Structure
{
"_id" : "57738d77e1f9731e70f59861",
"createdAt" : "2016-06-29T08:57:27.052Z",
"updatedAt" : "2016-06-29T08:57:27.052Z",
"date" : "2016-06-29T08:57:27.052Z",
"timesUsed": 1,
"reward" : "577376d92f16bafa5a0013a0",
"eventId" : "ciq0nffsf00014s4wcz4wsjmc",
"member" : "577376d92f16bafa5a00137b",
"activity" : "577376d92f16bafa5a00138b",
"rule" : "577376d92f16bafa5a001310",
"divisions": ["59de86b7584b770052aaacb1", "59de86b7584b770052aaacb2"]
}
| Field | Type/Format | Description |
|---|---|---|
| _id | ObjectId | required unique Unique ID |
| date | Number | The activity date using/reverting the reward |
| timesUsed | Number | The number of times the reward was used |
| reward | ObjectId | required Reward ID this usage record belongs to |
| eventId | String | unique Event ID, from which the data was collected |
| member | ObjectId | required Member ID for which history is collected |
| activity | ObjectId | required Activity ID which used/reverted the reward |
| rule | ObjectId | required Rule ID which used/reverted the reward |
| divisions | Array | Array of ObjectId references to divisions. This field provides restriction to user groups. |
The object contains common fields
Read all Reward Usage History
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardusagehistories", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardusagehistories"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardusagehistories");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardusagehistories")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardusagehistories',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/rewardusagehistories HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewareusagehistories \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewardusagehistories")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Reward Usage History objects.
HTTP Request
GET /api/v1/rewardusagehistories
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| rewardUsagehistory | Array | set of Reward Usage History object |
| status | Number | Status Codes. |
Offer Usage History
This API is compliant with the query interface described in Advanced Queries.
Offer usage history is an immutable record of the offer usage changes which took place for a Offer.
Offer Usage History Structure
{
"_id" : "57738d77e1f9731e70f59861",
"createdAt" : "2016-06-29T08:57:27.052Z",
"updatedAt" : "2016-06-29T08:57:27.052Z",
"date" : "2016-06-29T08:57:27.052Z",
"timesUsed": 1,
"offer" : "577376d92f16bafa5a0013b0",
"eventId" : "ciq0nffsf00014s4wcz4wsjmc",
"member" : "577376d92f16bafa5a00137b",
"activity" : "577376d92f16bafa5a00138b",
"rule" : "577376d92f16bafa5a001310",
"divisions": ["59de86b7584b770052aaacb1", "59de86b7584b770052aaacb2"]
}
| Field | Type/Format | Description |
|---|---|---|
| _id | ObjectId | required unique Unique ID |
| date | Number | The activity date using/reverting the offer |
| timesUsed | Number | The number of times the offer was used |
| offer | ObjectId | required Offer ID this usage record belongs to |
| eventId | String | unique Event ID, from which the data was collected |
| member | ObjectId | required Member ID for which history is collected |
| activity | ObjectId | required Activity ID which used/reverted the offer |
| rule | ObjectId | required Rule ID which used/reverted the offer |
| divisions | Array | Array of ObjectId references to divisions. This field provides restriction to user groups. |
The object contains common fields
Read all Offer Usage History
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offerusagehistories", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offerusagehistories"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offerusagehistories");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offerusagehistories")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offerusagehistories',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/offerusagehistories HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/rewareusagehistories \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/offerusagehistories")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Offer Usage History objects.
HTTP Request
GET /api/v1/offerusagehistories
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| offerUsagehistory | Array | set of Offer Usage History object |
| status | Number | Status Codes. |
Loyalty Cards
Loyalty Cards are the pre saved loyalty id cards which can be used to validate the loyalty id being added.
Loyalty Card Structure
{
"cardType": "Digital Card",
"loyaltyType": "CardID",
"status": "Active",
"channel": "Mobile",
"loyaltyId": "007722",
"org": "5c58d8570bf24c075fb5886c",
"_id": "5c63a72f1968fb010440d665",
"createdAt": "2019-02-13T05:12:15.767Z",
"updatedAt": "2019-02-13T06:42:48.658Z",
"createdBy": "5c58f3c65c7f2d01074c8bc7",
"updatedBy": "5c58f3c65c7f2d01074c8bc7"
}
| field | Type/Format | Description |
|---|---|---|
| _id | ObjectId | required unique Unique ID |
| cardType | String | required Type of loyalty card(Digital Card/Physical Card) |
| loyaltyType | String | required The type of loyalty id(SVC Card/Gift Card). |
| status | String | default: 'New' Status of the loyalty card |
| channel | String | Channel through which loyalty card has been added |
| loyaltyId | String | unique required loyalty id. |
The object contains common fields
Read all Loyalty Card
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/loyaltycards HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns an array of Loyalty cards objects.
HTTP Request
GET /api/v1/loyaltycards
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| loyaltycards | Array | set of Loyalty card object |
| status | Number | Status Codes. |
Read Loyalty Card by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards/59e8598131a6b90052ed4c48", {
method: "GET",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
"Cache-Control": "no-cache"
}
});
const data = await response.json();
console.log(data);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards/59e8598131a6b90052ed4c48"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
.header("Cache-Control", "no-cache")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards/59e8598131a6b90052ed4c48");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards/59e8598131a6b90052ed4c48")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards/59e8598131a6b90052ed4c48',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
GET /api/v1/loyaltycards/59e8598131a6b90052ed4c48 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Cache-Control: no-cache
curl -X GET \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards/59e8598131a6b90052ed4c48 \
-H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards/59e8598131a6b90052ed4c48")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA", forHTTPHeaderField: "Authorization")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a loyaltycards object.
This method reads the specified Loyalty Card.
HTTP Request
GET /api/v1/loyaltycards/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from loyaltycards`s structure. |
| token | String | Authentication token. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| loyaltycards | Object | loyaltycards object |
| status | Number | Status Codes. |
Create Loyalty Card
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"loyaltyId": "10",
"loyaltyType": "loyalty card",
"cardType": "Digital Card",
"channel": "Mobile",
"status": "Active"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"loyaltyId": "10",
"loyaltyType": "loyalty card",
"cardType": "Digital Card",
"channel": "Mobile",
"status": "Active"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{
\"loyaltyId\": \"10\",
\"loyaltyType\": \"loyalty card\",
\"cardType\": \"Digital Card\",
\"channel\": \"Mobile\",
\"status\": \"Active\"
}", Encoding.UTF8, "undefined");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"loyaltyId": "10",
"loyaltyType": "loyalty card",
"cardType": "Digital Card",
"channel": "Mobile",
"status": "Active"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"loyaltyId": "10",
"loyaltyType": "loyalty card",
"cardType": "Digital Card",
"channel": "Mobile",
"status": "Active"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/loyaltycards HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo
Content-Type: application/json
cache-control: no-cache
{
"loyaltyId": "10",
"loyaltyType": "loyalty card",
"cardType": "Digital Card",
"channel": "Mobile",
"status": "Active"
}------WebKitFormBoundary7MA4YWxkTrZu0gW--
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache' \
-d '{
"loyaltyId": "10",
"loyaltyType": "loyalty card",
"cardType": "Digital Card",
"channel": "Mobile",
"status": "Active"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"loyaltyId": "10",
"loyaltyType": "loyalty card",
"cardType": "Digital Card",
"channel": "Mobile",
"status": "Active"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a single LoyaltyCards object.
This method creates a new loyalty card.
HTTP Request
POST /api/v1/loyaltycards/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| loyaltycard | Object | LoyaltyCard object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| loyaltyCard | Object | LoyaltyCard object |
| status | Number | Status Codes. |
Update LoyaltyCard by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards/5c6abe891968fb010451af13", {
method: "PUT",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"cardType": "Digital Card",
"channel": "POS"
})
});
const data = await response.json();
console.log(data);
String body = """
{
"cardType": "Digital Card",
"channel": "POS"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards/5c6abe891968fb010451af13"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.PUT(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Put, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards/5c6abe891968fb010451af13");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo");
request.Headers.Add("Cache-Control", "no-cache");
request.Content = new StringContent("{
\"cardType\": \"Digital Card\",
\"channel\": \"POS\"
}", Encoding.UTF8, "undefined");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards/5c6abe891968fb010451af13")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"cardType": "Digital Card",
"channel": "POS"
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards/5c6abe891968fb010451af13',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"cardType": "Digital Card",
"channel": "POS"
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PUT /api/v1/loyaltycards/5c6abe891968fb010451af13 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo
Content-Type: application/json
cache-control: no-cache
{
"cardType": "Digital Card",
"channel": "POS"
}------WebKitFormBoundary7MA4YWxkTrZu0gW--
curl -X PUT \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards/5c6abe891968fb010451af13 \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache' \
-d '{
"cardType": "Digital Card",
"channel": "POS"
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards/5c6abe891968fb010451af13")!
var request = URLRequest(url: url)
request.httpMethod = "PUT"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"cardType": "Digital Card",
"channel": "POS"
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
The above command returns a Loyalty Card object.
This method updates the specified loyalty card.
HTTP Request
PUT /api/v1/loyaltycards/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Used to identify unique record from API. Value references to "_id" field from LoyaltyCard`s structure. |
| loyaltycard | Object | Loyalty Card object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| loyaltyCard | Object | Loyalty Card object |
| status | Number | Status Codes. |
Delete LoyaltyCard by ID
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards/5c63a72f1968fb010440d665", {
method: "DELETE",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
console.log(response.status);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards/5c63a72f1968fb010440d665"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards/5c63a72f1968fb010440d665");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo");
request.Headers.Add("Cache-Control", "no-cache");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards/5c63a72f1968fb010440d665")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
response = http.request(request)
puts response.code
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards/5c63a72f1968fb010440d665',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo',
'Content-Type: application/json',
'Cache-Control: no-cache'
]
]);
$response = curl_exec($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo "Status: " . $status;
}
DELETE /api/v1/loyaltycards/5c63a72f1968fb010440d665 HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo
Content-Type: application/json
cache-control: no-cache
curl -X DELETE \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards/5c63a72f1968fb010440d665 \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/loyaltycards/5c63a72f1968fb010440d665")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
let (_, response) = try await URLSession.shared.data(for: request)
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
The above command returns only
Status. IfStatus=== 204, the record is deleted.
This method deletes the specified loyalty card.
HTTP Request
DELETE /api/v1/loyaltycards/:id
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| id | ObjectId | Value references to "_id" field from Loyalty Card`s structure. |
Output Arguments
| Name | Type | Description |
|---|---|---|
| status | Number | Status Codes. |
Bulk Operations
Bulk operations consists of two main APIs, Multi Edit and Multi Delete. These APIs perform the bulk updates and deletions on Mongoose models.
Bulk Update Structure
{
"ids": [],
"ignoreId": false,
"update": {
"email": "bhjh@bhbh.com"
},
"org": "5c58d8570bf24c075fb5886c",
"program": "5d4d65493efbd30059ace16a",
"model": "Partner",
"queryParams": {
"program": {
"isIncluded": true,
"type": "objectid",
"ids": [
"5d4d65493efbd30059ace16a"
]
}
}
}
| Field | Description |
|---|---|
| model | name of mongoose model that needs to be updated |
| ids | list of objectIds of records that needs to be updated or ignored based on ignoreId flag |
| ignoreId | true if the ids in id list needs to be ignored |
| queryParams | argument required to build query Selection-Criteria |
| update | object containing fields and their corresponding value to be updated |
Bulk Delete Structure
{
"ids": [],
"ignoreId": false,
"org": "5c58d8570bf24c075fb5886c",
"program": "5d4d65493efbd30059ace16a",
"model": "Partner",
"queryParams": {
"program": {
"isIncluded": true,
"type": "objectid",
"isWildCardSearch": false,
"ids": [
"5d4d65493efbd30059ace16a"
]
}
},
"isORQuery": false,
"isWildCardSearch": false
}
| Field | Description |
|---|---|
| model | name of mongoose model that needs to be updated |
| ids | list of objectIds of records that needs to be deleted or ignored based on ignoreId flag |
| ignoreId | true if the ids in id list needs to be ignored |
| queryParams | argument required to build query Selection-Criteria |
Multi Edit
API for bulk update of records in mongoose model.
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/multiedit", {
method: "PATCH",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"ids": [],
"ignoreId": false,
"update": {
"email": "asdf@lkj.qwert"
},
"org": "5c58d8570bf24c075fb5886c",
"program": "5d4d65493efbd30059ace16a",
"model": "Partner",
"queryParams": {
"program": {
"isIncluded": true,
"type": "objectid",
"ids": [
"5d4d65493efbd30059ace16a"
]
}
},
"isORQuery": false,
"isWildCardSearch": false
})
});
const data = await response.json();
console.log(data);
String body = """
{
"ids": [],
"ignoreId": false,
"update": {
"email": "asdf@lkj.qwert"
},
"org": "5c58d8570bf24c075fb5886c",
"program": "5d4d65493efbd30059ace16a",
"model": "Partner",
"queryParams": {
"program": {
"isIncluded": true,
"type": "objectid",
"ids": [
"5d4d65493efbd30059ace16a"
]
}
},
"isORQuery": false,
"isWildCardSearch": false
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/multiedit"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.method("PATCH", HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Patch, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/multiedit");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"ids": [],
"ignoreId": false,
"update": {
"email": "asdf@lkj.qwert"
},
"org": "5c58d8570bf24c075fb5886c",
"program": "5d4d65493efbd30059ace16a",
"model": "Partner",
"queryParams": {
"program": {
"isIncluded": true,
"type": "objectid",
"ids": [
"5d4d65493efbd30059ace16a"
]
}
},
"isORQuery": false,
"isWildCardSearch": false
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/multiedit")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"ids": [],
"ignoreId": false,
"update": {
"email": "asdf@lkj.qwert"
},
"org": "5c58d8570bf24c075fb5886c",
"program": "5d4d65493efbd30059ace16a",
"model": "Partner",
"queryParams": {
"program": {
"isIncluded": true,
"type": "objectid",
"ids": [
"5d4d65493efbd30059ace16a"
]
}
},
"isORQuery": false,
"isWildCardSearch": false
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/multiedit',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"ids": [],
"ignoreId": false,
"update": {
"email": "asdf@lkj.qwert"
},
"org": "5c58d8570bf24c075fb5886c",
"program": "5d4d65493efbd30059ace16a",
"model": "Partner",
"queryParams": {
"program": {
"isIncluded": true,
"type": "objectid",
"ids": [
"5d4d65493efbd30059ace16a"
]
}
},
"isORQuery": false,
"isWildCardSearch": false
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
PATCH /api/v1/multiedit HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM
Content-Type: application/json
cache-control: no-cache
{
"ids": [],
"ignoreId": false,
"update": {
"email": "asdf@lkj.qwert"
},
"org": "5c58d8570bf24c075fb5886c",
"program": "5d4d65493efbd30059ace16a",
"model": "Partner",
"queryParams": {
"program": {
"isIncluded": true,
"type": "objectid",
"ids": [
"5d4d65493efbd30059ace16a"
]
}
},
"isORQuery": false,
"isWildCardSearch": false
}
curl -X PATCH \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/multiedit \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache' \
-d '{
"ids": [],
"ignoreId": false,
"update": {
"email": "asdf@lkj.qwert"
},
"org": "5c58d8570bf24c075fb5886c",
"program": "5d4d65493efbd30059ace16a",
"model": "Partner",
"queryParams": {
"program": {
"isIncluded": true,
"type": "objectid",
"ids": [
"5d4d65493efbd30059ace16a"
]
}
},
"isORQuery": false,
"isWildCardSearch": false
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/multiedit")!
var request = URLRequest(url: url)
request.httpMethod = "PATCH"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"ids": [],
"ignoreId": false,
"update": {
"email": "asdf@lkj.qwert"
},
"org": "5c58d8570bf24c075fb5886c",
"program": "5d4d65493efbd30059ace16a",
"model": "Partner",
"queryParams": {
"program": {
"isIncluded": true,
"type": "objectid",
"ids": [
"5d4d65493efbd30059ace16a"
]
}
},
"isORQuery": false,
"isWildCardSearch": false
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
{
"status": "success",
"message": "2 Records updated"
}
The above command returns response object with status and message of bulk operation.
HTTP Request
PATCH /api/v1/multiedit/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| data | Object | Bulk Update Object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| res | Object | Returns status and message of bulk operation |
| status | Number | Status Codes. |
Multi Delete
API for bulk delete of records in mongoose model.
const response = await fetch("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/multidelete", {
method: "POST",
headers: {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
body: JSON.stringify({
"ids": [],
"ignoreId": false,
"org": "5c58d8570bf24c075fb5886c",
"program": "5d4d65493efbd30059ace16a",
"model": "Partner",
"queryParams": {
"program": {
"isIncluded": true,
"type": "objectid",
"isWildCardSearch": false,
"ids": [
"5d4d65493efbd30059ace16a"
]
}
},
"isORQuery": false,
"isWildCardSearch": false
})
});
const data = await response.json();
console.log(data);
String body = """
{
"ids": [],
"ignoreId": false,
"org": "5c58d8570bf24c075fb5886c",
"program": "5d4d65493efbd30059ace16a",
"model": "Partner",
"queryParams": {
"program": {
"isIncluded": true,
"type": "objectid",
"isWildCardSearch": false,
"ids": [
"5d4d65493efbd30059ace16a"
]
}
},
"isORQuery": false,
"isWildCardSearch": false
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/multidelete"))
.header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM")
.header("Content-Type", "application/json")
.header("Cache-Control", "no-cache")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/multidelete");
request.Headers.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM");
request.Headers.Add("Cache-Control", "no-cache");
var body = """
{
"ids": [],
"ignoreId": false,
"org": "5c58d8570bf24c075fb5886c",
"program": "5d4d65493efbd30059ace16a",
"model": "Partner",
"queryParams": {
"program": {
"isIncluded": true,
"type": "objectid",
"isWildCardSearch": false,
"ids": [
"5d4d65493efbd30059ace16a"
]
}
},
"isORQuery": false,
"isWildCardSearch": false
}
""";
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "net/http"
url = URI("https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/multidelete")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM"
request["Content-Type"] = "application/json"
request["Cache-Control"] = "no-cache"
request.body = <<~JSON
{
"ids": [],
"ignoreId": false,
"org": "5c58d8570bf24c075fb5886c",
"program": "5d4d65493efbd30059ace16a",
"model": "Partner",
"queryParams": {
"program": {
"isIncluded": true,
"type": "objectid",
"isWildCardSearch": false,
"ids": [
"5d4d65493efbd30059ace16a"
]
}
},
"isORQuery": false,
"isWildCardSearch": false
}
JSON
response = http.request(request)
puts response.read_body
<?php
$ch = curl_init();
CURLOPT_URL => 'https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/multidelete',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM',
'Content-Type: application/json',
'Cache-Control: no-cache'
],
CURLOPT_POSTFIELDS => '{
"ids": [],
"ignoreId": false,
"org": "5c58d8570bf24c075fb5886c",
"program": "5d4d65493efbd30059ace16a",
"model": "Partner",
"queryParams": {
"program": {
"isIncluded": true,
"type": "objectid",
"isWildCardSearch": false,
"ids": [
"5d4d65493efbd30059ace16a"
]
}
},
"isORQuery": false,
"isWildCardSearch": false
}'
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
POST /api/v1/multidelete HTTP/1.1
Host: rcx-crud.tenant.rcx-backend.lmvi.net
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM
Content-Type: application/json
cache-control: no-cache
{
"ids": [],
"ignoreId": false,
"org": "5c58d8570bf24c075fb5886c",
"program": "5d4d65493efbd30059ace16a",
"model": "Partner",
"queryParams": {
"program": {
"isIncluded": true,
"type": "objectid",
"isWildCardSearch": false,
"ids": [
"5d4d65493efbd30059ace16a"
]
}
},
"isORQuery": false,
"isWildCardSearch": false
}
curl -X POST \
https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/multidelete \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache' \
-d '{
"ids": [],
"ignoreId": false,
"org": "5c58d8570bf24c075fb5886c",
"program": "5d4d65493efbd30059ace16a",
"model": "Partner",
"queryParams": {
"program": {
"isIncluded": true,
"type": "objectid",
"isWildCardSearch": false,
"ids": [
"5d4d65493efbd30059ace16a"
]
}
},
"isORQuery": false,
"isWildCardSearch": false
}'
import Foundation
let url = URL(string: "https://rcx-crud.tenant.rcx-backend.lmvi.net/api/v1/multidelete")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.httpBody = Data("""
{
"ids": [],
"ignoreId": false,
"org": "5c58d8570bf24c075fb5886c",
"program": "5d4d65493efbd30059ace16a",
"model": "Partner",
"queryParams": {
"program": {
"isIncluded": true,
"type": "objectid",
"isWildCardSearch": false,
"ids": [
"5d4d65493efbd30059ace16a"
]
}
},
"isORQuery": false,
"isWildCardSearch": false
}
""".utf8)
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
{
"status": "success",
"message": "2 Records deleted"
}
The above command returns response object with status and message of bulk operation.
HTTP Request
POST /api/v1/multidelete/
Input Arguments
| Name | Type | Description |
|---|---|---|
| token | String | Authentication token. |
| data | Object | Bulk Delete Object |
Output Arguments
| Name | Type | Description |
|---|---|---|
| res | Object | Returns status and message of bulk operation |
| status | Number | Status Codes. |
Event API
The event API consists of two main types of events:
-
These events are low-level per-entity insert/update/delete events, often used as a profile-sync mechanism for email service providers (ESPs), Elasticsearch, and so on. Some important considerations about using Level 1 events:
- Level 1 events can be used for triggering near real-time responses in addition to Level 2, where pre-update snapshot of values isn't needed.
- Level 1 events are useful in record-oriented updates for certain sources (for example, Salesforce, Responsys, Elastic Search, and so on).
- ObjectUpdateEvetns are idempotent, and can be applied multiple times without causing incorrect data.
- ObjectInsertEvents are idempotent, if the receiving system has unique index on affectedObjId or similar constraints.
- ObjectDeleteEvents are idempotent, assuming the delete looks for the affectedObjId in the target system.
- Level 1 events require strict ordering with respect to each affectedObjId. This can be done using the timestamp header field.
- Level 1 events carry an at-least-once delivery guarantee (it's possible to see duplicates).
-
These events are higher-level signals indicating things like point balance changes, tier upgrades, and so on, and are typically used to drive program communications or other triggered responses.
Note: A certain amount of overlap exists between Level 1 and Level 2 events, however, with Level 2 events, we often include useful information within the same event which makes processing simpler. This information can't be included in Level 1 events because it breaks idempotent behavior. For example, in a SetTier or AddPoints event, we also include the previous tier or previous balance, which makes it easy to communicate when thresholds are reached or how a tier level was reached.
Event Structure
Events have a header and payload section.
The header is always the same and has the following fields:
| Field | Type | Description |
|---|---|---|
| id | ObjectId | Unique ID of the event. This can be used to deduplicate multiple deliveries of the same event in at-least-once-delivery types of systems. |
| name | String | The name of the event - for example, EnrollmentEvent, ObjectUpdateEvent, and so on. |
| status | String | Either pending, error or processed. Used internally only. |
| timestamp | Number | Event timestamp, which is an opaque number, guaranteed to be monotonically increasing for events, and used for ordering. |
| error | String | If status is error this field contains the error message. Used internally only. |
| userId | String | User ID |
| entityType | String | The name of the entity database collection - for example, 'members', 'locations'. |
| affectedObjId | ObjectId | ID of the affected document. |
The payload varies depending on the event type. Please see the description of each event for more information
Extension Fields in Payloads
ReactorCX allows the user to specify extension fields for any entity via a JSON schema that extends the payload. Any extensions defined for an entity are under the ext object, for example, if we wanted to add managerName to Location, it's stored under ext.managerName as shown in the example to the right.
Sample of what extensions look like in the JSON of a standard ReactorCX entity.
{
"number": 123,
"name": "Downtown Store",
"ext" : {
managerName: "John Smith"
}
}
To future-proof your event code, it's advisable to ignore unknown fields and only consume what you need from the payload.
Level 1 Replication Events
Level 1 events are CRUD events for entities stored in ReactorCX. Please see Event API overview for Level 1 general info.
ObjectUpdateEvent
- Generated when there are any update operations on an entity in ReactorCX.
- The payload contains only the updated fields and their new values.
Sample ObjectUpdateEvent for an update entry (Sample Entity - Location)
{
"header" : {
"name" : "ObjectUpdateEvent",
"timestamp" : "6523029319361495041",
"affectedObjId" : "5a826c5fe05949006006de05",
"userId" : "5c58d8570bf24c075fb5886c"
},
"payload" : {
"name" : "test location",
"updatedAt" : "2018-02-16T06:05:15.332Z"
}
}
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload | Object | The document update object. |
ObjectInsertEvent
- Generated when there are any insert operations on any database collection.
Sample ObjectInsertEvent object for an insert. (Sample Entity - Referral)
{
"header" : {
"name" : "ObjectInsertEvent",
"timestamp" : "6523035774697340929",
"userId" : "5c58d8570bf24c075fb5886b"
},
"payload" : {}
}
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload | Object | The inserted document object. |
ObjectDeleteEvent
- Generated when there are any delete operations on any database collection.
Sample ObjectDeleteEvent object (Sample Entity - Referral)
{
"header" : {
"name" : "ObjectDeleteEvent",
"id" : "cjdpk1vm000061np9tx8qo09b",
"timestamp" : "6523035787582242817",
"status" : "processed",
"error" : null,
"affectedObjId" : "5a867a7aa095a00636a06bdd",
"entityType" : "referrals"
},
"payload" : {
"_id" : "5a867a7aa095a00636a06bdd"
}
}
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload._id | String | Object ID of the deleted document. |
Level 2 Semantic Events
These events are higher-level signals indicating things like point balance changes, tier upgrades, and so on, and are typically used to drive program communications or other triggered responses. For level 2 general information, see the Event API overview.
EnrollmentEvent
Sample EnrollmentEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "EnrollmentEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5a867a7aa095a00636a06bdd"
},
"payload": {
"member": Object
}
}
- Generated when a new member is enrolled.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.member | Object | Newly enrolled member object with Member Structure. |
AddPointsEvent
Sample AddPointsEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "AddPointsEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId" : "5a826c5fe05949006006de05"
},
"payload": {
"memberId": ObjectId,
"purseBefore": Object,
"purseAfter": Object,
"points": 10
}
}
- Generated during process activity, when a rule containing the add points action is executed.
- Triggers the ObjectUpdateEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | object id of the updated member object. |
| payload.purseBefore | Object | purse object before adding points. See Purse Structure for purse details. |
| payload.purseAfter | Object | purse object after adding points. See Purse Structure for purse details. |
| payload.points | Number | Number of points added to the purse. |
RedeemPointsEvent
Sample RedeemPointsEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "RedeemPointsEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId" : "5a826c5fe05949006006de05"
},
"payload": {
"memberId": ObjectId,
"purseBefore": Object,
"purseAfter": Object,
"points": 10,
"divisions": []
}
}
- Generated during process activity, when a rule containing the redeem points action is executed.
- Triggers the ObjectUpdateEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | object id of the updated member object. |
| payload.purseBefore | Object | purse object before points redemption. See Purse Structure for purse details. |
| payload.purseAfter | Object | purse object after points redemption. See Purse Structure for purse details. |
| payload.points | Number | Number of points redeemed. |
AddRewardEvent
Sample AddRewardEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "AddRewardEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId" : "5a826c5fe05949006006de05"
},
"payload": {
"reward": Object
}
}
- Generated during process activity, when a rule containing the 'add rewards' action is executed.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.reward | Object | New Reward Object. See Reward Structure for reward details. |
AddOfferEvent
Sample AddOfferEvent object
{
"header": {
"name": "AddOfferEvent",
"id": "o7gyf8yuna458l4s74wq18de",
"timestamp": "7576174808082153473",
"status": "pending",
"error": null,
"userId": "68d3bb66d900bbd18a9f867f",
"affectedObjId": "6923f1418e2208c8a2299c82"
},
"payload": {
"memberId": "6923f1418e2208c8a2299c82",
"offer": {
"name": "test",
"code": "test",
"desc": "",
"usesLeft": 1,
"timesUsed": 0,
"isGlobal": false,
"expiresOn": "3000-01-01T00:00:00.000Z",
"effectiveDate": "2025-11-24T11:57:00.000Z",
"activityUTCOffset": 0,
"member": "6923f1418e2208c8a2299c82",
"org": "68d3bb66d900bbd18a9f8680",
"upc": "NA",
"type": "Offer",
"policyId": "6923ee078e2208c8a2299168",
"rule": "6909bf534bd9fe3ad199932e",
"activity": "6923fad88e2208c8a229b502",
"isCancelled": false,
"canPreview": false,
"mergeIds": [],
"singleUse": true,
"isLimitReset": false,
"divisions": [],
"_id": "6923fad88e2208c8a229b528",
"createdAt": "2025-11-24T06:27:36.972Z",
"updatedAt": "2025-11-24T06:27:36.972Z",
"createdBy": "68d3bb66d900bbd18a9f867f",
"updatedBy": "68d3bb66d900bbd18a9f867f",
"lockDetails": []
}
}
}
- Generated during process activity, when a rule containing the
Add Offeraction is executed. - Triggers the ObjectInsertEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | object id of the updated member object. |
| payload.offer | Object | Newly added offer object. See Offer Structure for offer. |
UseOfferByCodeEvent
Sample UseOfferByCodeEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "UseOfferByCodeEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId" : "5a826c5fe05949006006de05"
},
"payload": {
"memberId": ObjectId,
"offerBefore": Object,
"offerAfter": Object,
"activity": ObjectId,
"rule": ObjectId,
"date": Date,
"localDate": Date,
"utcOffset": Number
}
}
- Generated during process activity, when a rule containing the 'use offer by code' action is executed.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | object id of the updated member object. |
| payload.offerBefore | Object | Offer object before use. See Offer Structure for offer details. |
| payload.offerAfter | Object | Offer object after use. See Offer Structure for offer details. |
| payload.activity | ObjectId | Object id of the activity using the offer. |
| payload.rule | ObjectId | Object id of the rule using the offer. |
| payload.date | Date | Date of the activity using the offer. |
UseRecentOfferByTypeEvent
Sample UseRecentOfferByTypeEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "UseRecentOfferByTypeEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId" : "5a826c5fe05949006006de05"
},
"payload": {
"memberId": ObjectId,
"offerBefore": Object,
"offerAfter": Object,
"activity": ObjectId,
"rule": ObjectId,
"date": Date
}
}
- Generated during process activity, when a rule containing the 'Use Recent Offer by Type' action is executed.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | object id of the updated member object. |
| payload.offerBefore | Object | Offer object before use. See Offer Structure for offer details. |
| payload.offerAfter | Object | Offer object after use. See Offer Structure for offer details. |
| payload.activity | ObjectId | Object id of the activity using the offer. |
| payload.rule | ObjectId | Object id of the rule using the offer. |
| payload.date | Date | Date of the activity using the offer. |
OfferReversalEvent
Sample OfferReversalEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "OfferReversalEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId" : "5a826c5fe05949006006de05"
},
"payload": {
"memberId": ObjectId,
"offerBefore": Object,
"offerAfter": Object,
"activity": ObjectId,
"rule": ObjectId,
"date": Date
}
}
- Generated during activity cancellation, when a rule containing the 'use offer by code or use recent offer by type' action is reverted.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | object id of the updated member object. |
| payload.offerBefore | Object | Offer object before use. See Offer Structure for reward details. |
| payload.offerAfter | Object | Offer object after use. See Offer Structure for reward details. |
| payload.activity | ObjectId | Object id of the activity being cancelled. |
| payload.rule | ObjectId | Object id of the rule being reverted as part of activity cancellation. |
| payload.date | Date | Date of the activity cancellation. |
UseRewardByCodeEvent
Sample UseRewardByCodeEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "UseRewardByCodeEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId" : "5a826c5fe05949006006de05"
},
"payload": {
"memberId": ObjectId,
"rewardBefore": Object,
"rewardAfter": Object,
"activity": ObjectId,
"rule": ObjectId,
"date": Date
}
}
- Generated during process activity, when a rule containing the 'use reward by code' action is executed.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | ObjectId | object id of the updated member object. |
| payload.rewardBefore | Object | Reward object before use. See Reward Structure for reward details. |
| payload.rewardAfter | Object | Reward object after use. See Reward Structure for reward details. |
| payload.activity | ObjectId | Object id of the activity using the reward. |
| payload.rule | ObjectId | Object id of the rule using the reward. |
| payload.date | Date | Date of the activity using the reward. |
UseRecentRewardByTypeEvent
Sample UseRecentRewardByTypeEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "UseRecentRewardByTypeEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId" : "5a826c5fe05949006006de05"
},
"payload": {
"memberId": ObjectId,
"rewardBefore": Object,
"rewardAfter": Object,
"activity": ObjectId,
"rule": ObjectId,
"date": Date
}
}
- Generated during process activity, when a rule containing the 'use recent reward by type' action is executed.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | object id of the updated member object. |
| payload.rewardBefore | Object | Reward object before use. See Reward Structure for reward details. |
| payload.rewardAfter | Object | Reward object after use. See Reward Structure for reward details. |
| payload.activity | ObjectId | Object id of the activity using the reward. |
| payload.rule | ObjectId | Object id of the rule using the reward. |
| payload.date | Date | Date of the activity using the reward. |
RewardReversalEvent
Sample RewardReversalEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "RewardReversalEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId" : "5a826c5fe05949006006de05"
},
"payload": {
"memberId": ObjectId,
"rewardBefore": Object,
"rewardAfter": Object,
"activity": ObjectId,
"rule": ObjectId,
"date": Date
}
}
- Generated during activity cancellation, when a rule containing the 'use reward by code or use recent reward by type' action is reverted.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | ObjectId | object id of the updated member object. |
| payload.rewardBefore | Object | Reward object before use. See Reward Structure for reward details. |
| payload.rewardAfter | Object | Reward object after use. See Reward Structure for reward details. |
| payload.activity | ObjectId | Object id of the activity being cancelled. |
| payload.rule | ObjectId | Object id of the rule being reverted as part of activity cancellation. |
| payload.date | Date | Date of the activity cancellation. |
AddBadgeEvent
Sample AddBadgeEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "AddBadgeEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId" : "5a826c5fe05949006006de05"
},
"payload": {
"badge": Object
}
}
- Generated during process activity, when a rule containing the 'add badge' action is executed.
- Triggers the ObjectUpdateEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.badge | Object | Newly added badge object. See Badge Structure for badge details. |
UpgradeTierEvent
Sample UpgradeTierEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "UpgradeTierEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId" : "5a826c5fe05949006006de05"
},
"payload": {
"tierBefore": Object,
"tierAfter": Object
}
}
- Generated during process activity, when a rule containing the 'upgrade tier' action is executed.
- Triggers the ObjectUpdateEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.tierBefore | Object | Tier object before upgrade. See Tier Structure for details on Tier object. |
| payload.tierAfter | Object | Tier object after upgrade. See Tier Structure for details on Tier object. |
DowngradeTierEvent
Sample DowngradeTierEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "DowngradeTierEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId" : "5a826c5fe05949006006de05"
},
"payload": {
"tierBefore": Object,
"tierAfter": Object
}
}
- Generated during process activity, when a rule containing the 'downgrade tier' action is executed.
- Triggers the ObjectUpdateEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.tierBefore | Object | Tier object before downgrade. See Tier Structure for details on Tier object. |
| payload.tierAfter | Object | Tier object after downgrade. See Tier Structure for details on Tier object. |
SetTierEvent
Sample SetTierEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "SetTierEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId" : "5a826c5fe05949006006de05"
},
"payload": {
"tierBefore": Object,
"tierAfter": Object
}
}
- Generated during process activity, when a rule containing the 'set tier' (to set a members tier to a particular tier level) action is executed.
- Triggers the ObjectUpdateEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.tierBefore | Object | Tier object before setting tier level. See Tier Structure for details on Tier object. |
| payload.tierAfter | Object | Tier object after setting tier level. See Tier Structure for details on Tier object. |
CustomActionEvent
Sample CustomActionEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "CustomActionEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId" : "5a826c5fe05949006006de05"
},
"payload": {
"customData": Object
}
}
- Generated during process activity, when a rule containing the 'Generate Custom Event' is executed.
- This is useful in case we want to add new event types based on the Rule engine processing logic.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.customData | Object | Any custom data that's pushed during the custom action. This is defined through the RCX Rule engine as needed. |
ProcessActivityEvent
Sample ProcessActivityEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "ProcessActivityEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId" : "5a826c5fe05949006006de05"
},
"payload": {
"activity": Object
}
}
- Generated once an activity is processed.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.activity | Object | Processed activity object. See Activity Structure for details on Activity object. |
CancelActivityEvent
Sample CancelActivityEvent object
{
"header": {
"name": "CancelActivityEvent",
"id": "g9kgzxkpdwdm02i18l2hgl1d",
"timestamp": "7575836575112626178",
"status": "pending",
"error": null,
"userId": "68d3bb66d900bbd18a9f867f",
"affectedObjId": "690b19b64bd9fe3ad199ff22"
},
"payload": {
"memberId": "690b19b64bd9fe3ad199ff22",
"activityHistory": {
"_id": "692004943c2246498c4f700c",
"type": "Accrual",
"status": "Cancelled"
},
"dailyAggs": Object,
"halfYearlyAggs": Object,
"lifetimeAggs": Object,
"monthlyAggs": Object,
"nonce": "6922c73a8e2208c8a2296ad4",
"purses": Object,
"quarterlyAggs": Object,
"tiers": Object,
"updatedAt": "2025-11-23T08:35:06.639Z",
"weeklyAggs": Object,
"yearlyAggs": Object
}
}
- Generated once an activity is cancelled.
- Triggers the ObjectUpdateEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | object id of the updated member object. |
| payload.activityHistory | Object | Activity history object containing details of the cancelled activity. See Activity Structure for details on Activity history object. |
GenerateReferralEvent
Sample GenerateReferralEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "GenerateReferralEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId" : "5a826c5fe05949006006de05"
},
"payload": {
"memberId": ObjectId,
"referral": Object
}
}
- Generated when a new referral is generated.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | object id of the member, to which the referral object was generated. |
| payload.referral | Object | Newly generated referral object. See Referral Structure for details on the Referral object. |
CompleteReferralEvent
Sample CompleteReferralEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "CompleteReferralEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId" : "5a826c5fe05949006006de05"
},
"payload": {
"memberId": ObjectId,
"referral": Object
}
}
- Generated when a member's referral status is marked as 'completed' after the referral results in an enrollment.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | object id of the member, to which the referral object is related. |
| payload.referral | Object | referral object. See Referral Structure for details on the Referral object. |
AccrualExpiryEvent
Sample AccrualExpiryEvent object
{
"header" : {
"id" : "cjg3hp4qc000h22mudthh9tt7",
"name" : "AccrualExpiryEvent",
"status" : "processed",
"timestamp" : "6545353030357745666",
"error" : null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId" : "5ad5c39174517d13b20ad304"
},
"payload" : {
"accrual" : ObjectId,
"purseBefore" : Object,
"purseAfter" : Object,
"memberId" : ObjectId
}
}
- Generated when Accrual Expiry job is running and an expiration happens for an accrual. This also affects the available balance in the Purse.
- Triggers the ObjectUpdateEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | object id of the updated member object. |
| payload.accrual | String | object id of the accrual object. |
| payload.purseBefore | Object | purse object before update balance. See Purse Structure for purse details. |
| payload.purseAfter | Object | purse object after update balance. See Purse Structure for purse details. |
AccrualEscrowEvent
Sample AccrualEscrowEvent object
{
"header" : {
"id" : "cjg3hp4qc000h22mudthh9tt7",
"name" : "AccrualEscrowEvent",
"status" : "processed",
"timestamp" : "6545353030357745666",
"error" : null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId" : "5ad5c39174517d13b20ad304"
},
"payload" : {
"accrual" : ObjectId,
"purseBefore" : Object,
"purseAfter" : Object,
"memberId" : ObjectId,
"escrowDate": Date,
"jobId": UUID
}
}
- Generated when Accrual Escrow job is running and an escrow happens for an accrual. This also affects the available balance in the Purse.
- Triggers the ObjectUpdateEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | object id of the updated member object. |
| payload.accrual | String | object id of the accrual object. |
| payload.purseBefore | Object | purse object before update balance. See Purse Structure for purse details. |
| payload.purseAfter | Object | purse object after update balance. See Purse Structure for purse details. |
ExpirationWarningEvent
Sample ExpirationWarningEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "ExpirationWarningEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
},
"payload": {
"memberId": "5ad5c39174517d13b20ad304",
"expiryWarningDays": 5,
"expiringPoints": 10,
"purseName": "Points",
"dateExpiresOn": "2018-12-06T15:44:00.000"
}
}
- Generates
expiryWarningDaysbeforeexpiringPointsare about to expire from purse namedpurseName. This expiration warning is configured on each purse policy and can be generated multiple days before (or multiple times - for example, 5 days out, 10 days out).
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | Member _id of member whose points are expiring. |
| payload.expiryWarningDays | Number | How many days ahead of expiration this warning is issued. |
| payload.expiringPoints | Number | How many points are about to expire. |
| payload.purseName | String | From which purse are points about to expire. |
| payload.dateExpiresOn | Date | When are the points going to expire. |
TierExpirationWarningEvent
Sample TierExpirationWarningEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "TierExpirationWarningEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
},
"payload": {
"memberId": "5ad5c39174517d13b20ad304",
"expiryWarningDays": 5,
"tierName": "Standard",
"levelName": "Gold",
"expirationDate": "2018-12-06T15:44:00.000",
"achievedOnDate": "2017-12-06T15:44:00.000"
}
}
- Generates
expiryWarningDaysbeforelevelNameis about to expire from Tier namedtierName. This expiration warning is configured on each tier policy and can be generated multiple days before (or multiple times - for example, 5 days out, 10 days out).
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | Member _id of member whose points are expiring. |
| payload.expiryWarningDays | Number | How many days ahead of expiration this warning is issued. |
| payload.tierName | String | Which Tier is the level that's about to expire. |
| payload.levelName | String | Which level is about to expire. |
| payload.expirationDate | Date | Indicates when the reward will expire. |
| payload.achievedOnDate | Date | When was the level achieved. |
RewardExpirationWarningEvent
Sample RewardExpirationWarningEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "RewardExpirationWarningEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
},
"payload": {
"memberId": "5ad5c39174517d13b20ad304",
"expiryWarningDays": 5,
"rewardName": "Free Drink",
"rewardCode": "FD1234",
"dateExpiresOn": "2018-12-06T15:44:00.000",
"achievedOnDate": "2017-12-06T15:44:00.000"
}
}
- Generates
expiryWarningDaysbeforerewardName/rewardCodereward is about to expire. This expiration warning is configured on each reward policy and can be generated multiple days before (or multiple times - for example, 5 days out, 10 days out).
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | Member _id of member whose points are expiring. |
| payload.expiryWarningDays | Number | How many days ahead of expiration this warning is issued. |
| payload.rewardName | String | Reward name of the reward that's about to expire. |
| payload.rewardCode | String | Unique reward code of the reward that's about to expire. |
| payload.expirationDate | Date | Indicates when the reward will expire. |
| payload.achievedOnDate | Date | When was the reward given/achieved. |
OfferExpirationWarningEvent
Sample OfferExpirationWarningEvent object
{
"header": {
"id": "ch72gsb320000udocl363eofy",
"name": "OfferExpirationWarningEvent",
"status": "processed",
"timestamp": 1465367887237,
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
},
"payload": {
"memberId": "5ad5c39174517d13b20ad304",
"expiryWarningDays": 5,
"offerName": "50c Off Coffee",
"offerCode": "COFFEE-50-OFF-1234",
"dateExpiresOn": "2018-12-06T15:44:00.000"
}
}
- Generates
expiryWarningDaysbeforeofferdName/offerCodeoffer is about to expire. This expiration warning is configured on each reward policy and can be generated multiple days before (or multiple times - for example. 5 days out, 10 days out).
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | Member _id of member whose points are expiring. |
| payload.expiryWarningDays | Number | How many days ahead of expiration this warning is issued. |
| payload.offerName | String | Reward name of the offer that's about to expire. |
| payload.offerCode | String | Unique offer code of the offer that's about to expire. |
| payload.expirationDate | Date | Indicates when the offer will expire. |
MemberMergeEvent
Sample MemberMergeEvent object
{
"header": {
"name": "MemberMergeEvent",
"id": "ck5szjm9y1mtk7fpg1y8iupit",
"timestamp": null,
"status": "pending",
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId": "5e2baa4b1835a5010b2df157"
},
"payload": {
"survivor": "5e2baa4ab83449010b60b8c2",
"victim": "5e2baa4b1835a5010b2df157",
"txnDate": "2020-01-25T02:39:08.412Z",
"memberId": "5e2baa4b1835a5010b2df157"
}
}
- Generated while asynchronous merge and when retries on member are exhausted during the process of member merge.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.survivor | ObjectId | object id of the survivor member object. |
| payload.victim | ObjectId | object id of the victim member object. |
| payload.txnDate | Date | Date&Time on which member merge happened. |
| payload.memberId | ObjectId | Id of the member(Victim Member). |
MergeCompleteEvent
Sample MergeCompleteEvent object
{
"header": {
"name": "MergeCompleteEvent",
"id": "ck843j24e00qs1qkbmop5twns",
"timestamp": null,
"status": "pending",
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId": "5e67199ada23c900449fa634"
},
"payload": {
"survivor": "5e67199ada23c900449fa634",
"victim": "5e7856c8623f61003ea53c05",
"txnDate": "2020-03-23T06:35:32.466Z"
}
}
- Generated post merge activity during the process of member merge.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.survivor | ObjectId | object id of the survivor member object. |
| payload.victim | ObjectId | object id of the victim member object. |
| payload.txnDate | Date | Date&Time on which member merge happens. |
MergeUpdateEvent
Sample MergeUpdateEvent object
{
"header": {
"name": "MergeUpdateEvent",
"id": "ck843j24e00qs1qkbmop5twns",
"timestamp": null,
"status": "pending",
"error": null,
"userId": "5c58d8570bf24c075fb5886b",
"affectedObjId": "5e67199ada23c900449fa634",
"entityType": "members"
},
"payload": {
"survivor": "5e67199ada23c900449fa634",
"victim": "5e7856c8623f61003ea53c05",
"txnDate": "2020-03-23T06:35:32.466Z"
}
}
- Generated during the process of member merge.
- Triggers the ObjectUpdateEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.survivor | ObjectId | object id of the survivor member object. |
| payload.victim | ObjectId | object id of the victim member object. |
| payload.txnDate | Date | Date&Time on which member merge happens. |
StreakCompletionEvent
Sample StreakCompletionEvent object
{
"header": {
"name": "StreakCompletionEvent",
"id": "cley2mjm5006y1ip5og8fil7a",
"timestamp": 1678182650,
"status": "pending",
"error": null,
"userId": "63ee1ae34e8e460066b1ba18",
"affectedObjId": "6407023786d242003b5a99f5"
},
"payload": {
"streakPolicyId": "63ef28846042aa004e9c43ac",
"streakId": "6407058b54d42c0036e40114",
"memberId": "6407023786d242003b5a99f5",
"actDate": "2023-03-07T15:15:00.000Z",
"actUTCOffset": 0,
"actType": "Streak End",
"actValue": 0,
"actCurrencyCode": "USD",
"actId": "6407090354d42c0036e40565",
"actLocationId": "60f105c9f5226401eb832ff4",
"actReasonCode": "110",
"actSubReasonCode": "100",
"actLoyaltyID": "64378875"
}
}
- When the streak evaluation is run, if all the goal values reach their respective targets, they're marked as
Complete, and the streak is also marked asComplete. After the streak is marked asComplete, theStreakCompleteEventis raised.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.streakPolicyId | ObjectId | Object id of the streak policy. |
| payload.streakId | ObjectId | Object id of the streak. |
| payload.memberId | ObjectId | Object id of the member. |
| payload.actDate | Date | Date & Time of the streak completion event. |
| payload.actUTCOffset | Number | UTC offset for the actDate. |
| payload.actType | String | Type of action related to the streak. |
| payload.actValue | Number | Value of the action. |
| payload.actCurrencyCode | String | Currency code for the action value. |
| payload.actId | ObjectId | Object id of the action. |
| payload.actLocationId | ObjectId | Object id of the location where the action took place. |
| payload.actReasonCode | String | Reason code for the action. |
| payload.actSubReasonCode | String | Sub-reason code for the action. |
| payload.actLoyaltyID | String | Loyalty ID associated with the action. |
StreakExpirationEvent
Sample StreakExpirationEvent object
{
"header": {
"name": "StreakExpirationEvent",
"id": "cley2qjrq008j1ip52ht55b45",
"timestamp": 1678182846,
"status": "pending",
"error": null,
"userId": "63ee1ae34e8e460066b1ba18",
"affectedObjId": "6407023786d242003b5a99f5"
},
"payload": {
"streakPolicyId": "63ef28846042aa004e9c43ac",
"streakId": "6407094154d42c0036e40618",
"memberId": "6407023786d242003b5a99f5",
"actDate": "2023-03-24T15:22:00.000Z",
"actUTCOffset": 0,
"actType": "Streak End",
"actValue": 0,
"actCurrencyCode": "USD",
"actId": "640709be54d42c0036e4062a",
"actLocationId": "60f105c9f5226401eb832ff4",
"actReasonCode": "110",
"actSubReasonCode": "100",
"actLoyaltyID": "64378875"
}
}
- This event is populated when streak evaluation is run after the end date/expiry time of the streak, marking its status as Expired.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.streakPolicyId | ObjectId | Object id of the streak policy. |
| payload.streakId | ObjectId | Object id of the streak. |
| payload.memberId | ObjectId | Object id of the member. |
| payload.actDate | Date | Date & Time of the streak expiration event. |
| payload.actUTCOffset | Number | UTC offset for the actDate. |
| payload.actType | String | Type of action related to the streak. |
| payload.actValue | Number | Value of the action. |
| payload.actCurrencyCode | String | Currency code for the action value. |
| payload.actId | ObjectId | Object id of the action. |
| payload.actLocationId | ObjectId | Object id of the location where the action took place. |
| payload.actReasonCode | String | Reason code for the action. |
| payload.actSubReasonCode | String | Sub-reason code for the action. |
| payload.actLoyaltyID | String | Loyalty ID associated with the action. |
StreakGoalCompletionEvent
Sample StreakGoalCompletionEvent object
{
"header": {
"name": "StreakGoalCompletionEvent",
"id": "cley2mjm3006x1ip5ep6k7q36",
"timestamp": 1678182659,
"status": "pending",
"error": null,
"userId": "63ee1ae34e8e460066b1ba18",
"affectedObjId": "6407023786d242003b5a99f5"
},
"payload": {
"streakPolicyId": "63ef28846042aa004e9c43ac",
"streakId": "6407058b54d42c0036e40114",
"goalName": "Hotel",
"memberId": "6407023786d242003b5a99f5",
"actDate": "2023-03-07T15:15:00.000Z",
"actUTCOffset": 0,
"actType": "Streak End",
"actValue": 0,
"actCurrencyCode": "USD",
"actId": "6407090354d42c0036e40565",
"actLocationId": "60f105c9f5226401eb832ff4",
"actReasonCode": "110",
"actSubReasonCode": "100",
"actLoyaltyID": "64378875"
}
}
- If any one of the streak goal value reaches the target and when we run streak evaluation, that goal status is marked as Complete and StreakGoalCompletionEvent is raised.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.streakPolicyId | ObjectId | Object id of the streak policy. |
| payload.streakId | ObjectId | Object id of the streak. |
| payload.goalName | String | Name of the goal associated with the streak. |
| payload.memberId | ObjectId | Object id of the member. |
| payload.actDate | Date | Date & Time of the streak goal completion event. |
| payload.actUTCOffset | Number | UTC offset for the actDate. |
| payload.actType | String | Type of action related to the streak. |
| payload.actValue | Number | Value of the action. |
| payload.actCurrencyCode | String | Currency code for the action value. |
| payload.actId | ObjectId | Object id of the action. |
| payload.actLocationId | ObjectId | Object id of the location where the action took place. |
| payload.actReasonCode | String | Reason code for the action. |
| payload.actSubReasonCode | String | Sub-reason code for the action. |
| payload.actLoyaltyID | String | Loyalty ID associated with the action. |
StreakGoalExpirationEvent
Sample StreakGoalExpirationEvent object
{
"header": {
"name": "StreakGoalExpirationEvent",
"id": "cley2qjrn008i1ip5py09glxz",
"timestamp": 1678182846,
"status": "pending",
"error": null,
"userId": "63ee1ae34e8e460066b1ba18",
"affectedObjId": "6407023786d242003b5a99f5"
},
"payload": {
"streakPolicyId": "63ef28846042aa004e9c43ac",
"streakId": "6407094154d42c0036e40618",
"goal": {
"status": "Expired",
"value": 0,
"_id": "6407094154d42c0036e40617",
"name": "Hotel",
"target": 10,
"createdAt": "2023-03-07T09:52:01.907Z",
"updatedAt": "2023-03-07T09:54:06.610Z",
"createdBy": "63ee1ae34e8e460066b1ba18",
"updatedBy": "63ee1ae34e8e460066b1ba18",
"endedAt": "2023-03-24T15:32:00.000Z",
"changedAt": "2023-03-24T15:32:00.000Z",
"startedAt": "2023-03-24T15:22:00.000Z"
},
"snapDate": "2023-03-07T15:00:00.000Z",
"goalTarget": 10,
"goalTimeLimit": 5,
"goalTimeLimitSnap": "Start of Streak",
"memberId": "6407023786d242003b5a99f5",
"actDate": "2023-03-24T15:32:00.000Z",
"actUTCOffset": 0,
"actType": "Streak End",
"actValue": 0,
"actCurrencyCode": "USD",
"actId": "640709be54d42c0036e4062a",
"actLocationId": "60f105c9f5226401eb832ff4",
"actReasonCode": "110",
"actSubReasonCode": "100",
"actLoyaltyID": "64378875"
}
}
- Generated when a streak goal expires.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.streakPolicyId | ObjectId | Object id of the streak policy. |
| payload.streakId | ObjectId | Object id of the streak. |
| payload.goal | Object | Streak goal object. |
| payload.snapDate | Date | Date&Time of the snapshot. |
| payload.goalTarget | Number | Target value of the streak goal. |
| payload.goalTimeLimit | Number | Time limit for the streak goal. |
| payload.goalTimeLimitSnap | String | Reference point for the time limit. |
| payload.memberId | ObjectId | Object id of the member. |
| payload.actDate | Date | Date&Time of the activity that caused the goal expiration. |
| payload.actUTCOffset | Number | UTC offset for the activity date. |
| payload.actType | String | Type of the activity (for example, "Streak End"). |
| payload.actValue | Number | Value associated with the activity. |
| payload.actCurrencyCode | String | Currency code for the activity value (for example, "USD"). |
| payload.actId | ObjectId | Object id of the activity. |
| payload.actLocationId | ObjectId | Object id of the location where the activity occurred. |
| payload.actReasonCode | String | Reason code for the activity. |
| payload.actSubReasonCode | String | Sub-reason code for the activity. |
| payload.actLoyaltyID | String | Loyalty program ID associated with the activity. |
StreakInstanceLimitExceededEvent
Sample StreakInstanceLimitExceededEvent object
{
"header": {
"name": "StreakInstanceLimitExceededEvent",
"id": "cley2mjm3006x1ip5ep6k7q36",
"timestamp": 1678182659,
"status": "pending",
"error": null,
"userId": "63ee1ae34e8e460066b1ba18",
"affectedObjId": "6407023786d242003b5a99f5"
},
"payload": {
"streakPolicyId": "63ef28846042aa004e9c43ac",
"instanceLimit": 10,
"instanceCount": 10,
"memberId": "6407023786d242003b5a99f5",
"actDate": "2023-03-07T15:15:00.000Z",
"actUTCOffset": 0,
"actType": "Streak Opt-in",
"actValue": 0,
"actCurrencyCode": "USD",
"actId": "6407090354d42c0036e40565",
"actLocationId": "60f105c9f5226401eb832ff4",
"actReasonCode": "110",
"actSubReasonCode": "100",
"actLoyaltyID": "64378875"
}
}
- For every
Streak Policy, it's mandatory to have InstanceLimit. The instance limit is an integer value that means a member can opt-in for no more than the specified number of times (instance limit) to streak related to that particularStreak Policy. When a member already has the maximum number of streaks opted and again tries to opt-in to a new streak, the engine won't allow the member to opt-in to the streak and it triggers the StreakInstanceLimitExceededEvent.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.streakPolicyId | ObjectId | Object id of the streak policy. |
| payload.instanceLimit | Number | Instance limit of the streak. |
| payload.instanceCount | Number | Current instance count. |
| payload.memberId | ObjectId | Object id of the member. |
| payload.actDate | Date | Date&Time of the activity. |
| payload.actUTCOffset | Number | The UTC offset of the activity. |
| payload.actType | String | Type of activity. |
| payload.actValue | Number | Value associated with the activity. |
| payload.actCurrencyCode | String | Currency code of the activity. |
| payload.actId | ObjectId | Object id of the activity. |
| payload.actLocationId | ObjectId | Object id of the location. |
| payload.actReasonCode | String | Reason code of the activity. |
| payload.actSubReasonCode | String | Sub-reason code of the activity. |
| payload.actLoyaltyID | String | Loyalty ID associated with the activity. |
StreakInstanceCoolOffSkipEvent
Sample StreakInstanceCoolOffSkipEvent object
{
"header" : {
"name" : "StreakInstanceCoolOffSkipEvent",
"id" : "cley2mjm3006x1ip5ep6k7q36",
"timestamp" : 1678182659,
"status" : "pending",
"error" : null,
"userId" : "63ee1ae34e8e460066b1ba18",
"affectedObjId" : "6407023786d242003b5a99f5"
},
"payload" : {
"coolOffTime": 10,
"prevStreak": {
"status" : "Complete",
"value" : 0,
"_id" : "6407058b54d42c0036e40114",
"goals" : [
{
"status" : "Complete",
"value" : 10,
"_id" : "6407058b54d42c0036e40113",
"name" : "Hotel",
"target" : 10,
"createdAt" : "2023-03-07T09:36:11.226Z",
"updatedAt" : "2023-03-07T09:50:59.786Z",
"createdBy" : "63ee1ae34e8e460066b1ba18",
"updatedBy" : "63ee1ae34e8e460066b1ba18",
"changedAt" : "2023-03-23T15:30:00.000Z",
"startedAt" : "2023-03-21T12:10:00.000Z",
"endedAt" : "2023-03-23T15:30:00.000Z"
}
],
"policyId" : "63ef28846042aa004e9c43ac",
"currGoal" : null,
"startedAt" : "2023-03-21T12:10:00.000Z",
"changedAt" : "2023-03-23T15:30:00.000Z",
"createdAt" : "2023-03-21T09:36:11.226Z",
"updatedAt" : "2023-03-23T09:50:59.786Z",
"createdBy" : "63ee1ae34e8e460066b1ba18",
"updatedBy" : "63ee1ae34e8e460066b1ba18",
"endedAt" : "2023-03-23T15:30:00.000Z"
},
"memberId" : "6407023786d242003b5a99f5",
"actDate" : "2023-03-23T15:35:00.000Z",
"actUTCOffset" : 0,
"actType" : "Streak Opt-in",
"actValue" : 0,
"actCurrencyCode" : "USD",
"actId" : "6407090354d42c0036e40565",
"actLocationId" : "60f105c9f5226401eb832ff4",
"actReasonCode" : "110",
"actSubReasonCode" : "100",
"actLoyaltyID" : "64378875"
}
}
The parameter coolOffTime on Streak Policy tells us that a member can't opt-in to a new streak before coolOffTime minutes from the end (Expire or Complete) of their last streak of the same Streak Policy
Example:
- We've a streak policy 'Spend 200$ for 3 days in a row' with a cool-off time of 10 minutes.
- Member 'A' has opted into a streak of 'Spend 200$ for 3 days in a row'.
- Member 'A' completed the streak on March 23rd, 2023 at 3:30 PM.
- Member ‘A' is trying to start a new streak on March 23rd, 2023 at 3:35 PM. Because we've a coolofftime limit of 10 mins, they can't start a new streak until March 23rd, 2023 3:40 PM. In this case, the
StreakInstanceCoolOffSkipEventevent is triggered by the engine.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.coolOffTime | Number | Cool off time in minutes defined in the Streak Policy. |
| payload.prevStreak | Object | Details of the previous streak. |
| payload.memberId | ObjectId | Object id of the member. |
| payload.actDate | Date | Date & Time of the activity. |
| payload.actUTCOffset | Number | The UTC offset of the activity. |
| payload.actType | String | Type of activity. |
| payload.actValue | Number | Value associated with the activity. |
| payload.actCurrencyCode | String | Currency code of the activity. |
| payload.actId | ObjectId | Object id of the activity. |
| payload.actLocationId | ObjectId | Object id of the location. |
| payload.actReasonCode | String | Reason code of the activity. |
| payload.actSubReasonCode | String | Sub-reason code of the activity. |
| payload.actLoyaltyID | String | Loyalty ID associated with the activity. |
StreakStartEvent
Sample StreakStartEvent object
{
"header" : {
"name" : "StreakStartEvent",
"id" : "cley2mjm3006x1ip5ep6k7q36",
"timestamp" : 1678182659,
"status" : "pending",
"error" : null,
"userId" : "63ee1ae34e8e460066b1ba18",
"affectedObjId" : "6407023786d242003b5a99f5"
},
"payload" : {
"streak": {
"status" : "Active",
"value" : 0,
"_id" : "6407058b54d42c0036e40114",
"goals" : [
{
"status" : "Not Started",
"value" : 0,
"_id" : "6407058b54d42c0036e40113",
"name" : "Hotel",
"target" : 10,
"createdAt" : "2023-03-07T09:36:11.226Z",
"updatedAt" : "2023-03-07T09:50:59.786Z",
"createdBy" : "63ee1ae34e8e460066b1ba18",
"updatedBy" : "63ee1ae34e8e460066b1ba18",
"changedAt" : "2023-03-23T15:30:00.000Z",
"startedAt" : "2023-03-21T12:10:00.000Z"
}
],
"policyId" : "63ef28846042aa004e9c43ac",
"currGoal" : null,
"startedAt" : "2023-03-21T12:10:00.000Z",
"changedAt" : "2023-03-23T15:30:00.000Z",
"createdAt" : "2023-03-21T09:36:11.226Z",
"updatedAt" : "2023-03-23T09:50:59.786Z",
"createdBy" : "63ee1ae34e8e460066b1ba18",
"updatedBy" : "63ee1ae34e8e460066b1ba18",
"ext" : {
"sites" : "2",
"tripStartDate" : "2023-03-21T00:00:00.000Z",
"tripEndDate" : "2023-03-23T23:59:59.999Z"
}
},
"memberId" : "6407023786d242003b5a99f5",
"actDate" : "2023-03-23T15:35:00.000Z",
"actUTCOffset" : 0,
"actType" : "Streak Opt-in",
"actValue" : 0,
"actCurrencyCode" : "USD",
"actId" : "6407090354d42c0036e40565",
"actLocationId" : "60f105c9f5226401eb832ff4",
"actReasonCode" : "110",
"actSubReasonCode" : "100",
"actLoyaltyID" : "64378875"
}
}
If a member is eligible to opt-in to a streak and he performs an activity that starts the streak, then the streak is added to the member streaks and StreakStartEvent is emitted.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.streak | Object | Details of the streak being started. |
| payload.memberId | ObjectId | Object id of the member. |
| payload.actDate | Date | Date & Time of the activity. |
| payload.actUTCOffset | Number | The UTC offset of the activity. |
| payload.actType | String | Type of activity. |
| payload.actValue | Number | Value associated with the activity. |
| payload.actCurrencyCode | String | Currency code of the activity. |
| payload.actId | ObjectId | Object id of the activity. |
| payload.actLocationId | ObjectId | Object id of the location. |
| payload.actReasonCode | String | Reason code of the activity. |
| payload.actSubReasonCode | String | Sub-reason code of the activity. |
| payload.actLoyaltyID | String | Loyalty ID associated with the activity. |
StreakGoalAutoStartEvent
Sample StreakGoalAutoStartEvent object
{
"header" : {
"name" : "StreakGoalAutoStartEvent",
"id" : "cley2mjm3006x1ip5ep6k7q36",
"timestamp" : 1678182659,
"status" : "pending",
"error" : null,
"userId" : "63ee1ae34e8e460066b1ba18",
"affectedObjId" : "6407023786d242003b5a99f5"
},
"payload" : {
"streakPolicyId" : "63ef28846042aa004e9c43ac",
"streakId" : "6407058b54d42c0036e40114",
"goalName": "Spend 200",
"memberId" : "6407023786d242003b5a99f5",
"actDate" : "2023-03-23T15:35:00.000Z",
"actUTCOffset" : 0,
"actType" : "Accrual",
"actValue" : 20,
"actCurrencyCode" : "USD",
"actId" : "6407090354d42c0036e40565",
"actLocationId" : "60f105c9f5226401eb832ff4",
"actReasonCode" : "110",
"actSubReasonCode" : "100",
"actLoyaltyID" : "64378875"
}
}
After a member opts into a streak, all goals are in Not Started status. When the member first performs an activity that increases the goal value, then the goal status is changed to Active. Here, StreakGoalAutoStrartEvent is triggered by the engine.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.streakPolicyId | ObjectId | Object id of the streak policy. |
| payload.streakId | ObjectId | Object id of the streak. |
| payload.goalName | String | Name of the goal associated with the streak. |
| payload.memberId | ObjectId | Object id of the member. |
| payload.actDate | Date | Date & Time of the activity. |
| payload.actUTCOffset | Number | The UTC offset of the activity. |
| payload.actType | String | Type of activity. |
| payload.actValue | Number | Value associated with the activity. |
| payload.actCurrencyCode | String | Currency code of the activity. |
| payload.actId | ObjectId | Object id of the activity. |
| payload.actLocationId | ObjectId | Object id of the location. |
| payload.actReasonCode | String | Reason code of the activity. |
| payload.actSubReasonCode | String | Sub-reason code of the activity. |
| payload.actLoyaltyID | String | Loyalty ID associated with the activity. |
StreakGoalCoolOffSkipEvent
Sample StreakGoalCoolOffSkipEvent object
{
"header" : {
"name" : "StreakGoalCoolOffSkipEvent",
"id" : "cley2mjm3006x1ip5ep6k7q36",
"timestamp" : 1678182659,
"status" : "pending",
"error" : null,
"userId" : "63ee1ae34e8e460066b1ba18",
"affectedObjId" : "6407023786d242003b5a99f5"
},
"payload" : {
"streakPolicyId" : "63ef28846042aa004e9c43ac",
"streakId" : "6407058b54d42c0036e40114",
"coolOffTime": 30,
"goal": {
"status" : "Active",
"value" : 100,
"_id" : "6407058b54d42c0036e40113",
"name" : "Spend 200",
"target" : 200,
"createdAt" : "2023-03-07T09:36:11.226Z",
"updatedAt" : "2023-03-07T09:50:59.786Z",
"createdBy" : "63ee1ae34e8e460066b1ba18",
"updatedBy" : "63ee1ae34e8e460066b1ba18",
"changedAt" : "2023-03-23T15:30:00.000Z",
"startedAt" : "2023-03-23T15:30:00.000Z"
},
"memberId" : "6407023786d242003b5a99f5",
"actDate" : "2023-03-23T15:35:00.000Z",
"actUTCOffset" : 0,
"actType" : "Accrual",
"actValue" : 0,
"actCurrencyCode" : "USD",
"actId" : "6407090354d42c0036e40565",
"actLocationId" : "60f105c9f5226401eb832ff4",
"actReasonCode" : "110",
"actSubReasonCode" : "100",
"actLoyaltyID" : "64378875"
}
}
Goal policy cool-off time means that a member can't advance their goal value before coolOffTime minutes from the last advancement of that goal. In effect, the cool-off time acts as a throttle to the advancement of the goal.
Example:
- A Streak Policy ‘Spend 200$ for 3 days in a row’ have a Goal Policy named ‘Spend 200’ with 30 mins as cool-off time.
- Member 'A' started the streak and advanced the goal by 100 on March 23rd, 2023, at 03:30 PM.
- They do one more activity which would have increased their goal by 100 on March 23rd, 2023, at 03:45 PM.
- The goal value doesn't increase because the cool-off time is 30 mins. The next activity that can advance the goal must be after March 23rd, 2023, 04:00 PM.
- As an acknowledgment of the goal value not increased the engine populates
StreakGoalCoolOffSkipEvent.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.streakPolicyId | ObjectId | Object id of the streak policy. |
| payload.streakId | ObjectId | Object id of the streak. |
| payload.coolOffTime | Number | Cool off time in minutes. |
| payload.goal | Object | See Goal Structure for goal details. |
| payload.memberId | ObjectId | Object id of the member. |
| payload.actDate | Date | Date & Time of the activity. |
| payload.actUTCOffset | Number | The UTC offset of the activity. |
| payload.actType | String | Type of activity. |
| payload.actValue | Number | Value associated with the activity. |
| payload.actCurrencyCode | String | Currency code of the activity. |
| payload.actId | ObjectId | Object id of the activity. |
| payload.actLocationId | ObjectId | Object id of the location. |
| payload.actReasonCode | String | Reason code of the activity. |
| payload.actSubReasonCode | String | Sub-reason code of the activity. |
| payload.actLoyaltyID | String | Loyalty ID associated with the activity. |
StreakGoalExpirationSkipEvent
Sample StreakGoalExpirationSkipEvent object
{
"header" : {
"name" : "StreakGoalExpirationSkipEvent",
"id" : "cley2mjm3006x1ip5ep6k7q36",
"timestamp" : 1678182659,
"status" : "pending",
"error" : null,
"userId" : "63ee1ae34e8e460066b1ba18",
"affectedObjId" : "6407023786d242003b5a99f5"
},
"payload" : {
"streakPolicyId" : "63ef28846042aa004e9c43ac",
"streakId" : "6407058b54d42c0036e40114",
"goalName": "Spend 200",
"timeLimit": 30,
"timeLimitStnap": "goalStartedAt",
"snapDate": "2023-03-23T15:30:00.000Z",
"memberId" : "6407023786d242003b5a99f5",
"actDate" : "2023-03-23T16:15:00.000Z",
"actUTCOffset" : 0,
"actType" : "Accrual",
"actValue" : 0,
"actCurrencyCode" : "USD",
"actId" : "6407090354d42c0036e40565",
"actLocationId" : "60f105c9f5226401eb832ff4",
"actReasonCode" : "110",
"actSubReasonCode" : "100",
"actLoyaltyID" : "64378875"
}
}
A goal policy has timeLimit (default 0) defined in minutes. If a member tries to advance the goal values after timeLimit minutes from the snap date (which is Start of Streak or Start of Goal) then the goal is considered to be expired and the value isn't increased. In this case, the RCX engine triggers StreakGoalExpirationSkipEvent.
- The snap date of a goal is calculated based on the timeLimitSnap field of the goal policy. If timeLimitSnap is ‘goalStartedAt’ then the snap date is startedAt of the goal, else startedAt of the streak.
Example:
- A Streak Policy ‘Spend 200$ for 3 days in a row’ have a Goal Policy named ‘Spend 200’ with 30 mins as timeLimit, timeLimitSnap is goalStartedAt, and target as 200.
- Member 'A' started the streak and advanced the goal by 100 on March 23rd, 2023, at 03:30 PM.
- The member does one more activity which would have increased his goal by 100 on March 23rd, 2023, at 04:15 PM.
- Now, the goal value didn't increase because the the goal's timeLimit has expired.
- The RCX engine triggers
StreakGoalExpirationSkipEvent.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.streakPolicyId | ObjectId | Object id of the streak policy. |
| payload.streakId | ObjectId | Object id of the streak. |
| payload.goalName | String | Name of the streak goal. |
| payload.timeLimit | Number | Time limit in minutes. |
| payload.timeLimitStnap | String | Snapshot field for the time limit. |
| payload.snapDate | Date | Date & Time of the snapshot. |
| payload.memberId | ObjectId | Object id of the member. |
| payload.actDate | Date | Date & Time of the activity. |
| payload.actUTCOffset | Number | The UTC offset of the activity. |
| payload.actType | String | Type of activity. |
| payload.actValue | Number | Value associated with the activity. |
| payload.actCurrencyCode | String | Currency code of the activity. |
| payload.actId | ObjectId | Object id of the activity. |
| payload.actLocationId | ObjectId | Object id of the location. |
| payload.actReasonCode | String | Reason code of the activity. |
| payload.actSubReasonCode | String | Sub-reason code of the activity. |
| payload.actLoyaltyID | String | Loyalty ID associated with the activity. |
StreakGoalAdvanceEvent
Sample StreakGoalAdvanceEvent object
{
"header" : {
"name" : "StreakGoalAdvanceEvent",
"id" : "cley2mjm3006x1ip5ep6k7q36",
"timestamp" : 1678182659,
"status" : "pending",
"error" : null,
"userId" : "63ee1ae34e8e460066b1ba18",
"affectedObjId" : "6407023786d242003b5a99f5"
},
"payload" : {
"streakPolicyId" : "63ef28846042aa004e9c43ac",
"streakId" : "6407058b54d42c0036e40114",
"goalBefore": {
"status" : "Not Started",
"value" : 100,
"_id" : "6407058b54d42c0036e40113",
"name" : "Spend 200",
"target" : 200,
"createdAt" : "2023-03-07T09:36:11.226Z",
"updatedAt" : "2023-03-07T09:50:59.786Z",
"createdBy" : "63ee1ae34e8e460066b1ba18",
"updatedBy" : "63ee1ae34e8e460066b1ba18",
"changedAt" : "2023-03-23T15:30:00.000Z",
"startedAt" : "2023-03-23T15:30:00.000Z"
},
"goalAfter": {
"status" : "Active",
"value" : 50,
"_id" : "6407058b54d42c0036e40113",
"name" : "Spend 200",
"target" : 200,
"createdAt" : "2023-03-07T09:36:11.226Z",
"updatedAt" : "2023-03-07T09:50:59.786Z",
"createdBy" : "63ee1ae34e8e460066b1ba18",
"updatedBy" : "63ee1ae34e8e460066b1ba18",
"changedAt" : "2023-03-23T15:35:00.000Z",
"startedAt" : "2023-03-23T15:30:00.000Z"
},
"goalTarget": 200,
"goalTimeLimit": 30,
"goalTimeLimitSnap": "goalStartedAt",
"memberId" : "6407023786d242003b5a99f5",
"actDate" : "2023-03-23T16:15:00.000Z",
"actUTCOffset" : 0,
"actType" : "Accrual",
"actValue" : 0,
"actCurrencyCode" : "USD",
"actId" : "6407090354d42c0036e40565",
"actLocationId" : "60f105c9f5226401eb832ff4",
"actReasonCode" : "110",
"actSubReasonCode" : "100",
"actLoyaltyID" : "64378875"
}
}
When a member opts into a streak and they are eligible to advance their goal value, performs an activity that increases the goal value. Here, the RCX engine triggers the StreakGoalAdvanceEvent which says the goal value has changed. This event payload stores the previous and new (after increasing) versions of the goal object.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.streakPolicyId | ObjectId | Object id of the streak policy. |
| payload.streakId | ObjectId | Object id of the streak. |
| payload.goalBefore | Object | Information about the streak goal before the event. |
| payload.goalAfter | Object | Information about the streak goal after the event. |
| payload.goalTarget | Number | The target value of the streak goal. |
| payload.goalTimeLimit | Number | Time limit in minutes for the goal. |
| payload.goalTimeLimitSnap | String | Snapshot field for the time limit. |
| payload.memberId | ObjectId | Object id of the member. |
| payload.actDate | Date | Date & Time of the activity. |
| payload.actUTCOffset | Number | The UTC offset of the activity. |
| payload.actType | String | Type of activity. |
| payload.actValue | Number | Value associated with the activity. |
| payload.actCurrencyCode | String | Currency code of the activity. |
| payload.actId | ObjectId | Object id of the activity. |
| payload.actLocationId | ObjectId | Object id of the location. |
| payload.actReasonCode | String | Reason code of the activity. |
| payload.actSubReasonCode | String | Sub-reason code of the activity. |
| payload.actLoyaltyID | String | Loyalty ID associated with the activity. |
StreakCancelEvent
Sample StreakCancelEvent object
{
"header" : {
"name" : "StreakCancelEvent",
"id" : "cley2mjm3006x1ip5ep6k7q36",
"timestamp" : 1678182659,
"status" : "pending",
"error" : null,
"userId" : "63ee1ae34e8e460066b1ba18",
"affectedObjId" : "6407023786d242003b5a99f5"
},
"payload" : {
"streakPolicyId" : "63ef28846042aa004e9c43ac",
"streakId" : "6407058b54d42c0036e40114",
"memberId" : "6407023786d242003b5a99f5",
"actDate" : "2023-03-23T16:15:00.000Z",
"actUTCOffset" : 0,
"actType" : "Accrual",
"actValue" : 0,
"actCurrencyCode" : "USD",
"actId" : "6407090354d42c0036e40565",
"actLocationId" : "60f105c9f5226401eb832ff4",
"actReasonCode" : "110",
"actSubReasonCode" : "100",
"actLoyaltyID" : "64378875"
}
}
When a member decides he won't be able to complete the streak and wants to cancel it, then the streak status and all the goals status are marked as Cancelled by the Cancel Streak action. The RCX engine triggers StreakCancelEvent.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.streakPolicyId | ObjectId | Object id of the streak policy. |
| payload.streakId | ObjectId | Object id of the streak. |
| payload.memberId | ObjectId | Object id of the member. |
| payload.actDate | Date | Date & Time of the activity. |
| payload.actUTCOffset | Number | The UTC offset of the activity. |
| payload.actType | String | Type of activity. |
| payload.actValue | Number | Value associated with the activity. |
| payload.actCurrencyCode | String | Currency code of the activity. |
| payload.actId | ObjectId | Object id of the activity. |
| payload.actLocationId | ObjectId | Object id of the location. |
| payload.actReasonCode | String | Reason code of the activity. |
| payload.actSubReasonCode | String | Sub-reason code of the activity. |
| payload.actLoyaltyID | String | Loyalty ID associated with the activity. |
LockOfferEvent
Sample LockOfferEvent object
{
"header": {
"name": "LockOfferEvent",
"id": "qyr090amha4t0dfij62gmoeu",
"timestamp": null,
"status": "pending",
"error": null,
"userId": "67371abfcab1affa89859ae0",
"affectedObjId": "677f5b783ab6c77d6b2901fa"
},
"payload": {
"rewardOrOfferBefore": {
"_id": "677f5b8f3ab6c77d6b290328",
"name": "O1",
"desc": "",
"usesLeft": 1,
"timesUsed": 0,
"isGlobal": false,
"expiresOn": "32503680000000",
"effectiveDate": "2025-01-08T10:45:00.000Z",
"member": "677f5b783ab6c77d6b2901fa",
"upc": "Discount",
"type": "Offer",
"policyId": "677f5ae13ab6c77d6b28fff1",
"isCancelled": false,
"canPreview": false,
"mergeIds": [],
"singleUse": true,
"lockDetails": [],
"org": "67371abfcab1affa89859ae1",
"createdAt": "2025-01-09T05:15:59.041Z",
"updatedAt": "2025-01-09T05:15:59.041Z",
"createdBy": "67371abfcab1affa89859ae0",
"updatedBy": "67371abfcab1affa89859ae0",
"code": "0ee41638-a57e-4da9-a632-b67f74e81a7c",
"__v": 0
},
"rewardOrOfferAfter": {
"_id": "677f5b8f3ab6c77d6b290328",
"name": "O1",
"desc": "",
"usesLeft": 1,
"timesUsed": 0,
"isGlobal": false,
"expiresOn": "32503680000000",
"effectiveDate": "2025-01-08T10:45:00.000Z",
"member": "677f5b783ab6c77d6b2901fa",
"upc": "Discount",
"type": "Offer",
"policyId": "677f5ae13ab6c77d6b28fff1",
"isCancelled": false,
"canPreview": false,
"mergeIds": [],
"singleUse": true,
"lockDetails": [
{
"lockTxnId": "t1",
"lockTill": "2025-01-11T10:46:00.000Z",
"lockAct": "677f5c253ab6c77d6b2909b3",
"lockedUses": 1,
"_id": "677f5c263ab6c77d6b2909c9"
}
],
"org": "67371abfcab1affa89859ae1",
"createdAt": "2025-01-09T05:15:59.041Z",
"updatedAt": "2025-01-09T05:18:30.035Z",
"createdBy": "67371abfcab1affa89859ae0",
"updatedBy": "67371abfcab1affa89859ae0",
"code": "0ee41638-a57e-4da9-a632-b67f74e81a7c",
"__v": 0
}
}
}
- Generated during process activity, when a rule containing the
Lock Offeraction is executed. - Triggers the ObjectUpdateEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.rewardOrOfferBefore | Object | Offer object before locking. See Offer Structure for offer details. |
| payload.rewardOrOfferAfter | Object | Offer object after locking. See Offer Structure for offer details. |
| payload.rewardOrOfferAfter.lockDetails.lockTxnId | String | Transaction id responsible for that lock. |
| payload.rewardOrOfferAfter.lockDetails.lockedUses | Number | Defines how many time the offer is locked. |
| payload.rewardOrOfferAfter.lockDetails.lockTill | Date | Defines how long an offer is locked. |
| payload.rewardOrOfferAfter.lockDetails.lockAct | Object | Object id of the activity. |
LockRewardEvent
Sample LockRewardEvent object
{
"header": {
"name": "LockRewardEvent",
"id": "jqcavnnyutkvyikgq48y1fnu",
"timestamp": null,
"status": "pending",
"error": null,
"userId": "67371abfcab1affa89859ae0",
"affectedObjId": "677f5b783ab6c77d6b2901fa"
},
"payload": {
"rewardOrOfferBefore": {
"_id": "677f5baf3ab6c77d6b29039c",
"name": "R1",
"desc": "",
"usesLeft": 1,
"expiresOn": "32503660200000",
"effectiveDate": "2025-01-09T05:16:00.000Z",
"member": "677f5b783ab6c77d6b2901fa",
"upc": "Discount",
"type": "Reward",
"policyId": "677f5b333ab6c77d6b29007a",
"isCancelled": false,
"canPreview": false,
"lockedTill": null,
"mergeIds": [],
"issueValue": 0,
"redmValue": 0,
"lockDetails": [],
"org": "67371abfcab1affa89859ae1",
"createdAt": "2025-01-09T05:16:31.160Z",
"updatedAt": "2025-01-09T05:16:31.160Z",
"createdBy": "67371abfcab1affa89859ae0",
"updatedBy": "67371abfcab1affa89859ae0",
"code": "bacbcd60-e4f2-45c7-beeb-81c888d9c36d",
"__v": 0
},
"rewardOrOfferAfter": {
"_id": "677f5baf3ab6c77d6b29039c",
"name": "R1",
"desc": "",
"usesLeft": 1,
"expiresOn": "32503660200000",
"effectiveDate": "2025-01-09T05:16:00.000Z",
"member": "677f5b783ab6c77d6b2901fa",
"upc": "Discount",
"type": "Reward",
"policyId": "677f5b333ab6c77d6b29007a",
"isCancelled": false,
"canPreview": false,
"lockedTill": null,
"mergeIds": [],
"issueValue": 0,
"redmValue": 0,
"lockDetails": [
{
"lockTxnId": "t1",
"lockTill": "2025-01-11T10:46:00.000Z",
"lockAct": "677f5c253ab6c77d6b2909b3",
"lockedUses": 1,
"_id": "677f5c263ab6c77d6b2909ce"
}
],
"org": "67371abfcab1affa89859ae1",
"createdAt": "2025-01-09T05:16:31.160Z",
"updatedAt": "2025-01-09T05:18:30.046Z",
"createdBy": "67371abfcab1affa89859ae0",
"updatedBy": "67371abfcab1affa89859ae0",
"code": "bacbcd60-e4f2-45c7-beeb-81c888d9c36d",
"__v": 0
}
}
}
- Generated during process activity, when a rule containing the
Lock Rewardaction is executed. - Triggers the ObjectUpdateEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.rewardOrOfferBefore | Object | Reward object before locking. See Reward Structure for offer details. |
| payload.rewardOrOfferAfter | Object | Reward object after locking. See Reward Structure for reward details. |
| payload.rewardOrOfferAfter.lockDetails.lockTxnId | String | Transaction id responsible for that lock. |
| payload.rewardOrOfferAfter.lockDetails.lockedUses | Number | Defines how many time the reward is locked. |
| payload.rewardOrOfferAfter.lockDetails.lockTill | Date | Defines how long a reward is locked. |
| payload.rewardOrOfferAfter.lockDetails.lockAct | Object | Object id of the activity. |
UnLockOfferEvent
Sample UnLockOfferEvent object
{
"header": {
"name": "UnlockOfferEvent",
"id": "g5hodslvya2jirusv27pxvj7",
"timestamp": null,
"status": "pending",
"error": null,
"userId": "67371abfcab1affa89859ae0",
"affectedObjId": "677f5b783ab6c77d6b2901fa"
},
"payload": {
"rewardOrOfferBefore": {
"_id": "677f5b8f3ab6c77d6b290328",
"name": "O1",
"desc": "",
"usesLeft": 1,
"timesUsed": 0,
"isGlobal": false,
"expiresOn": "32503680000000",
"effectiveDate": "2025-01-08T10:45:00.000Z",
"member": "677f5b783ab6c77d6b2901fa",
"upc": "Discount",
"type": "Offer",
"policyId": "677f5ae13ab6c77d6b28fff1",
"isCancelled": false,
"canPreview": false,
"mergeIds": [],
"singleUse": true,
"lockDetails": [
{
"lockTxnId": "t1",
"lockTill": "2025-01-11T10:46:00.000Z",
"lockAct": "677f5c253ab6c77d6b2909b4",
"lockedUses": 1,
"_id": "677f5c263ab6c77d6b2909c4"
}
],
"org": "67371abfcab1affa89859ae1",
"createdAt": "2025-01-09T05:15:59.041Z",
"updatedAt": "2025-01-09T05:18:30.323Z",
"createdBy": "67371abfcab1affa89859ae0",
"updatedBy": "67371abfcab1affa89859ae0",
"code": "0ee41638-a57e-4da9-a632-b67f74e81a7c",
"__v": 0
},
"rewardOrOfferAfter": {
"_id": "677f5b8f3ab6c77d6b290328",
"name": "O1",
"desc": "",
"usesLeft": 1,
"timesUsed": 0,
"isGlobal": false,
"expiresOn": "32503680000000",
"effectiveDate": "2025-01-08T10:45:00.000Z",
"member": "677f5b783ab6c77d6b2901fa",
"upc": "Discount",
"type": "Offer",
"policyId": "677f5ae13ab6c77d6b28fff1",
"isCancelled": false,
"canPreview": false,
"mergeIds": [],
"singleUse": true,
"lockDetails": [],
"org": "67371abfcab1affa89859ae1",
"createdAt": "2025-01-09T05:15:59.041Z",
"updatedAt": "2025-01-09T05:23:02.462Z",
"createdBy": "67371abfcab1affa89859ae0",
"updatedBy": "67371abfcab1affa89859ae0",
"code": "0ee41638-a57e-4da9-a632-b67f74e81a7c",
"__v": 0
}
}
}
- Generated during process activity, when a rule containing the
UnLock Offeraction is executed. - Triggers the ObjectUpdateEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.rewardOrOfferBefore | Object | Offer object before locking. See Offer Structure for offer details. |
| payload.rewardOrOfferAfter | Object | Offer object after locking. See Offer Structure for offer details. |
| payload.rewardOrOfferAfter.lockDetails | Array | Empty array represents the lock was removed/not locked. |
UnLockRewardEvent
Sample UnLockRewardEvent object
{
"header": {
"name": "UnlockRewardEvent",
"id": "ltyvklic4yopm27ghj1vc0yz",
"timestamp": null,
"status": "pending",
"error": null,
"userId": "67371abfcab1affa89859ae0",
"affectedObjId": "677f5b783ab6c77d6b2901fa"
},
"payload": {
"rewardOrOfferBefore": {
"_id": "677f5baf3ab6c77d6b29039c",
"name": "R1",
"desc": "",
"usesLeft": 1,
"expiresOn": "32503660200000",
"effectiveDate": "2025-01-09T05:16:00.000Z",
"member": "677f5b783ab6c77d6b2901fa",
"upc": "Discount",
"type": "Reward",
"policyId": "677f5b333ab6c77d6b29007a",
"isCancelled": false,
"canPreview": false,
"lockedTill": null,
"mergeIds": [],
"issueValue": 0,
"redmValue": 0,
"lockDetails": [
{
"lockTxnId": "t1",
"lockTill": "2025-01-11T10:46:00.000Z",
"lockAct": "677f5c253ab6c77d6b2909b4",
"lockedUses": 1,
"_id": "677f5c263ab6c77d6b2909c6"
}
],
"org": "67371abfcab1affa89859ae1",
"createdAt": "2025-01-09T05:16:31.160Z",
"updatedAt": "2025-01-09T05:18:30.342Z",
"createdBy": "67371abfcab1affa89859ae0",
"updatedBy": "67371abfcab1affa89859ae0",
"code": "bacbcd60-e4f2-45c7-beeb-81c888d9c36d",
"__v": 0
},
"rewardOrOfferAfter": {
"_id": "677f5baf3ab6c77d6b29039c",
"name": "R1",
"desc": "",
"usesLeft": 1,
"expiresOn": "32503660200000",
"effectiveDate": "2025-01-09T05:16:00.000Z",
"member": "677f5b783ab6c77d6b2901fa",
"upc": "Discount",
"type": "Reward",
"policyId": "677f5b333ab6c77d6b29007a",
"isCancelled": false,
"canPreview": false,
"lockedTill": null,
"mergeIds": [],
"issueValue": 0,
"redmValue": 0,
"lockDetails": [],
"org": "67371abfcab1affa89859ae1",
"createdAt": "2025-01-09T05:16:31.160Z",
"updatedAt": "2025-01-09T05:23:02.470Z",
"createdBy": "67371abfcab1affa89859ae0",
"updatedBy": "67371abfcab1affa89859ae0",
"code": "bacbcd60-e4f2-45c7-beeb-81c888d9c36d",
"__v": 0
}
}
}
- Generated during process activity, when a rule containing the
UnLock Rewardaction is executed. - Triggers the ObjectUpdateEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.rewardOrOfferBefore | Object | Offer object before locking. See Reward Structure for offer details. |
| payload.rewardOrOfferAfter | Object | Offer object after locking. See Reward Structure for offer details. |
| payload.rewardOrOfferAfter.lockDetails | Array | Empty array represents the lock was removed/not locked. |
LockPointsEvent
Sample LockPointsEvent object
{
"header": {
"name": "LockPointsEvent",
"id": "tocata9d3f707ojdt34tlgrf",
"timestamp": "7576232850270191618",
"status": "pending",
"error": null,
"userId": "68d3bb66d900bbd18a9f867f",
"affectedObjId": "69242f438e2208c8a229e909"
},
"payload": {
"memberId": "69242f438e2208c8a229e909",
"purseBefore": {
"name": "RP",
"balance": 75,
"availBalance": 75,
"accruedPoints": 75,
"redeemedPoints": 0,
"escrowsIn": 0,
"primary": true,
"program": "68d62331ddc6789b641630c2",
"policyId": "68d672a7ddc6789b6416365d",
"expiredPoints": 0,
"accruals": [],
"redemptions": [],
"escrows": [],
"expiredAccruals": [],
"escrowedAccruals": [],
"lastExpirationDate": null,
"expiryPending": null,
"accrualExpiryPending": null,
"org": "68d3bb66d900bbd18a9f8680",
"lockedPoints": [],
"transferPending": null,
"_id": "69242f438e2208c8a229e91b",
"createdAt": "2025-11-24T10:11:15.645Z",
"updatedAt": "2025-11-24T10:11:43.252Z",
"createdBy": "68d3bb66d900bbd18a9f867f",
"updatedBy": "68d3bb66d900bbd18a9f867f",
"ext": null
},
"points": 10,
"purseAfter": {
"name": "RP",
"balance": 75,
"availBalance": 75,
"accruedPoints": 75,
"redeemedPoints": 0,
"escrowsIn": 0,
"primary": true,
"program": "68d62331ddc6789b641630c2",
"policyId": "68d672a7ddc6789b6416365d",
"expiredPoints": 0,
"accruals": [],
"redemptions": [],
"escrows": [],
"expiredAccruals": [],
"escrowedAccruals": [],
"lastExpirationDate": null,
"expiryPending": null,
"accrualExpiryPending": null,
"org": "68d3bb66d900bbd18a9f8680",
"lockedPoints": [
{
"activity": "69242fa38e2208c8a229ed29",
"points": 10,
"lockedDate": "2025-11-24T15:42:00.000Z",
"lockedTillDate": "2025-11-25T00:00:00.000Z",
"tag": "test",
"_id": "69242fa38e2208c8a229ed46"
}
],
"transferPending": null,
"_id": "69242f438e2208c8a229e91b",
"createdAt": "2025-11-24T10:11:15.645Z",
"updatedAt": "2025-11-24T10:11:43.252Z",
"createdBy": "68d3bb66d900bbd18a9f867f",
"updatedBy": "68d3bb66d900bbd18a9f867f",
"ext": null
}
}
}
- Generated during process activity, when a rule containing the
Lock Pointsaction is executed - Triggers the ObjectUpdateEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | object id of the updated member object. |
| payload.purseBefore | Object | purse object before locking points. See Purse Structure for purse details. |
| payload.purseAfter | Object | purse object after locking points. See Purse Structure for purse details. |
| payload.points | Number | Number of points that were locked. |
| payload.purseBefore.lockedPoints | Array | Empty array indicating no points were previously locked. |
| payload.purseAfter.lockedPoints | Array | Array of locked point objects containing lock details. |
| payload.purseAfter.lockedPoints.activity | ObjectId | Object id of the activity that initiated the lock. |
| payload.purseAfter.lockedPoints.points | Number | Number of points locked in this specific lock. |
| payload.purseAfter.lockedPoints.lockedDate | Date | Date when the points were locked. |
| payload.purseAfter.lockedPoints.lockedTillDate | Date | Date until which the points will remain locked. |
| payload.purseAfter.lockedPoints.tag | String | Transaction tag/identifier for this lock operation. |
UnlockPointsEvent
Sample UnlockPointsEvent object
{
"header": {
"name": "UnlockPointsEvent",
"id": "y83ahjwtt7b761c2v5qxf8z7",
"timestamp": "7576233013478948865",
"status": "pending",
"error": null,
"userId": "68d3bb66d900bbd18a9f867f",
"affectedObjId": "69242f438e2208c8a229e909"
},
"payload": {
"memberId": "69242f438e2208c8a229e909",
"purseBefore": {
"name": "RP",
"balance": 75,
"availBalance": 75,
"accruedPoints": 75,
"redeemedPoints": 0,
"escrowsIn": 0,
"primary": true,
"program": "68d62331ddc6789b641630c2",
"policyId": "68d672a7ddc6789b6416365d",
"expiredPoints": 0,
"accruals": [],
"redemptions": [],
"escrows": [],
"expiredAccruals": [],
"escrowedAccruals": [],
"lastExpirationDate": null,
"expiryPending": null,
"accrualExpiryPending": null,
"org": "68d3bb66d900bbd18a9f8680",
"lockedPoints": [
{
"activity": "69242fa38e2208c8a229ed29",
"points": 10,
"lockedDate": "2025-11-24T15:42:00.000Z",
"lockedTillDate": "2025-11-25T00:00:00.000Z",
"tag": "test",
"_id": "69242fa38e2208c8a229ed46"
}
],
"transferPending": null,
"_id": "69242f438e2208c8a229e91b",
"createdAt": "2025-11-24T10:11:15.645Z",
"updatedAt": "2025-11-24T10:12:51.687Z",
"createdBy": "68d3bb66d900bbd18a9f867f",
"updatedBy": "68d3bb66d900bbd18a9f867f",
"ext": null
},
"purseAfter": {
"name": "RP",
"balance": 75,
"availBalance": 75,
"accruedPoints": 75,
"redeemedPoints": 0,
"escrowsIn": 0,
"primary": true,
"program": "68d62331ddc6789b641630c2",
"policyId": "68d672a7ddc6789b6416365d",
"expiredPoints": 0,
"accruals": [],
"redemptions": [],
"escrows": [],
"expiredAccruals": [],
"escrowedAccruals": [],
"lastExpirationDate": null,
"expiryPending": null,
"accrualExpiryPending": null,
"org": "68d3bb66d900bbd18a9f8680",
"lockedPoints": [],
"transferPending": null,
"_id": "69242f438e2208c8a229e91b",
"createdAt": "2025-11-24T10:11:15.645Z",
"updatedAt": "2025-11-24T10:12:51.687Z",
"createdBy": "68d3bb66d900bbd18a9f867f",
"updatedBy": "68d3bb66d900bbd18a9f867f",
"ext": null
}
}
}
- Generated during process activity, when a rule containing the
Unlock Pointsaction is executed - Triggers the ObjectUpdateEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | ObjectId | object id of the updated member object. |
| payload.purseBefore | Object | purse object before locking points. See Purse Structure for purse details. |
| payload.purseAfter | Object | purse object after locking points. See Purse Structure for purse details. |
| payload.purseBefore.lockedPoints | Array | Array of locked point objects before unlocking. |
| payload.purseAfter.lockedPoints | Array | Empty array indicating points have been unlocked. |
| payload.purseBefore.lockedPoints.activity | ObjectId | Object id of the activity that initiated the original lock. |
| payload.purseBefore.lockedPoints.points | Number | Number of points that were locked. |
| payload.purseBefore.lockedPoints.lockedDate | Date | Date when the points were originally locked. |
| payload.purseBefore.lockedPoints.lockedTillDate | Date | Date until which the points were supposed to remain locked. |
| payload.purseBefore.lockedPoints.tag | String | Transaction tag/identifier for the original lock operation. |
AddSegmentEvent
Sample AddSegmentEvent object
{
"header": {
"name": "AddSegmentEvent",
"id": "hpuuvotlgk8x72x70i2bly4y",
"timestamp": "7575839646014242818",
"status": "pending",
"error": null,
"userId": "68d3bb66d900bbd18a9f867f",
"affectedObjId": "690b19b64bd9fe3ad199ff22"
},
"payload": {
"segment": {
"segment": "69033299d0ff9dbe4409ce02",
"member": "690b19b64bd9fe3ad199ff22"
},
"memberId": "690b19b64bd9fe3ad199ff22"
}
}
- Generated during process activity, when a rule containing the
Add Segmentaction is executed. - Triggers the ObjectInsertEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | object id of the updated member object. |
| payload.segment | Object | Segment object that was added to the member. See Segment Structure for segment details. |
RemoveSegmentEvent
Sample RemoveSegmentEvent object
{
"header": {
"name": "RemoveSegmentEvent",
"id": "tis1ptl91c39e12fgte93ukz",
"timestamp": "7575840642446655490",
"status": "pending",
"error": null,
"userId": "68d3bb66d900bbd18a9f867f",
"affectedObjId": "690b19b64bd9fe3ad199ff22"
},
"payload": {
"segment": {
"segment": "69033299d0ff9dbe4409cdd2",
"member": "690b19b64bd9fe3ad199ff22"
},
"memberId": "690b19b64bd9fe3ad199ff22"
}
}
- Generated during process activity, when a rule containing the
Remove Segmentaction is executed. - Triggers the ObjectDeleteEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | object id of the updated member object. |
| payload.segment | Object | Segment object that was removed from the member. See Segment Structure for segment details. |
AddPreferenceEvent
Sample AddPreferenceEvent object
{
"header": {
"name": "AddPreferenceEvent",
"id": "vlivzymb3gm4k203u8sneb0g",
"timestamp": "7576146693226233858",
"status": "pending",
"error": null,
"userId": "68d3bb66d900bbd18a9f867f",
"affectedObjId": "690b19b64bd9fe3ad199ff22"
},
"payload": {
"preference": {
"preference": "ARIA Crystals Shopping",
"member": "690b19b64bd9fe3ad199ff22"
},
"memberId": "690b19b64bd9fe3ad199ff22"
}
}
- Generated during process activity, when a rule containing the
Add Preferenceaction is executed. - Triggers the ObjectInsertEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | object id of the updated member object. |
| payload.preference | Object | Preference object that was added to the member. See Preference Structure for preference details. |
RemovePreferenceEvent
Sample RemovePreferenceEvent object
{
"header": {
"name": "RemovePreferenceEvent",
"id": "ia93qt6gtxkr63i6xpvawthu",
"timestamp": "7576147595169366018",
"status": "pending",
"error": null,
"userId": "68d3bb66d900bbd18a9f867f",
"affectedObjId": "690b19b64bd9fe3ad199ff22"
},
"payload": {
"preference": {
"preference": "ARIA Crystals Shopping",
"member": "690b19b64bd9fe3ad199ff22"
},
"memberId": "690b19b64bd9fe3ad199ff22"
}
}
- Generated during process activity, when a rule containing the
Remove Preferenceaction is executed. - Triggers the ObjectDeleteEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | object id of the updated member object. |
| payload.preference | Object | Preference object that was added to the member. See Preference Structure for preference details. |
MetricEvent
Sample MetricEvent object
{
"header": {
"name": "MetricEvent",
"id": "upznxpkf913qb8vewncxxkuv",
"timestamp": "7576174808082153473",
"status": "pending",
"error": null,
"userId": "68d3bb66d900bbd18a9f867f",
"affectedObjId": "6923f1418e2208c8a2299c82"
},
"payload": {
"name": "RP",
"aggregates": "daily,halfyearly,lifetime,monthly,quarterly,weekly,yearly",
"value": 15,
"memberId": "6923f1418e2208c8a2299c82",
"date": "2025-11-24T11:57:00.000Z",
"divisions": ["59de86b7584b770052aaacb1", "59de86b7584b770052aaacb2"],
"nonce": "2025-11-24T06:27:36.956Z",
"activityId": "6923fad88e2208c8a229b502",
"org": "68d3bb66d900bbd18a9f8680"
}
}
- Generated during process activity, when a rule containing metric calculation or update operations is executed.
- Triggers the ObjectUpdateEvent on Member.
| Field | Type | Description |
|---|---|---|
| header | Object | See Event Structure for header details. |
| payload.memberId | String | object id of the updated member object. |
| payload | Object | Metric object that was calculated/updated for the member. See Metric Structure for preference details. |
Appendix A - Error Reference
Authentication Errors (1000-1099)
| Code | HTTP status code | Error message |
|---|---|---|
| 1000 | HTTP_STATUS.NOT_FOUND | %s role not found |
| 1001 | HTTP_STATUS.BAD_REQUEST | Model name is required |
| 1002 | HTTP_STATUS.FORBIDDEN | %s is not valid permission in \"%s\" resource |
| 1003 | HTTP_STATUS.UNAUTHORIZED | Your login credentials were not correct. Please try again. |
| 1004 | HTTP_STATUS.BAD_REQUEST | Invalid locale value |
| 1005 | HTTP_STATUS.UNAUTHORIZED | This user token is expired. |
| 1006 | HTTP_STATUS.UNAUTHORIZED | Reset password request too old. |
| 1007 | HTTP_STATUS.NOT_FOUND | User not found |
| 1008 | HTTP_STATUS.FORBIDDEN | This user has been blocked. |
| 1009 | HTTP_STATUS.FORBIDDEN | The user has already logged out. |
| 1010 | HTTP_STATUS.UNAUTHORIZED | Unauthorized |
| 1011 | HTTP_STATUS.UNAUTHORIZED | Login Name can not be changed. |
| 1012 | HTTP_STATUS.UNAUTHORIZED | Your password is not correct. Please try again. |
| 1013 | HTTP_STATUS.UNAUTHORIZED | Incorrect old password. |
| 1014 | HTTP_STATUS.BAD_REQUEST | %s is not a valid resource |
Authorization Errors (1100-1199)
| Code | HTTP status code | Error message |
|---|---|---|
| 1100 | HTTP_STATUS.FORBIDDEN | Not enough access privileges for this operation. |
| 1101 | HTTP_STATUS.NOT_FOUND | User not set |
| 1102 | HTTP_STATUS.BAD_REQUEST | Invalid model instance. |
| 1103 | HTTP_STATUS.UNAUTHORIZED | Unsupported method %s. |
| 1104 | HTTP_STATUS.UNAUTHORIZED | %s : No %s permission |
| 1105 | HTTP_STATUS.BAD_REQUEST | Invalid API method %s |
| 1106 | HTTP_STATUS.BAD_REQUEST | The properties %s cannot be updated using this API |
| 1113 | HTTP_STATUS.BAD_REQUEST | Please provide possibleDivisions when providing division. |
| 1114 | HTTP_STATUS.BAD_REQUEST | Old password and new password cannot be same |
| 1115 | HTTP_STATUS.FORBIDDEN | %s are not valid permissions in \"%s\" resource |
Validation Errors (1200-1299)
| Code | HTTP status code | Error message |
|---|---|---|
| 1200 | HTTP_STATUS.UNPROCESSABLE_ENTITY | Validation Error |
System Errors (1300-1399)
| Code | HTTP status code | Error message |
|---|---|---|
| 1300 | HTTP_STATUS.INTERNAL_SERVER_ERROR | Unable to process. Database error # |
API Errors (1500-1999)
| Code | HTTP status code | Error message |
|---|---|---|
| 1500 | HTTP_STATUS.BAD_REQUEST | Name must be unique within the parent folder |
| 1502 | HTTP_STATUS.BAD_REQUEST | Path value is required. |
| 1503 | HTTP_STATUS.NOT_FOUND | Model with name %s was not found while adding extension schema. |
| 1504 | HTTP_STATUS.BAD_REQUEST | |
| 1505 | HTTP_STATUS.BAD_REQUEST | extSchema: Please provide valid JSON Schema |
| 1506 | HTTP_STATUS.BAD_REQUEST | uiDef: Please provide valid JSON |
| 1507 | HTTP_STATUS.BAD_REQUEST | The extension schema does not exists, please add a schema to set the value or extention value. |
| 1508 | HTTP_STATUS.FORBIDDEN | You can not remove fields - %s, please contact system administrator |
| 1509 | HTTP_STATUS.BAD_REQUEST | Program cannot have more than one primary flows. |
| 1510 | HTTP_STATUS.FORBIDDEN | The job to generate the new tree is already running. |
| 1511 | HTTP_STATUS.FORBIDDEN | The job to import a program is already running. |
| 1512 | HTTP_STATUS.FORBIDDEN | The job to import %s program is running. |
| 1513 | HTTP_STATUS.BAD_REQUEST | Model name is required |
| 1514 | HTTP_STATUS.BAD_REQUEST | %s is not a valid model. |
| 1515 | HTTP_STATUS.FORBIDDEN | The job to refresh the NamedLists is already running. |
| 1516 | HTTP_STATUS.FORBIDDEN | The job to create initial-sync events is already running. |
| 1517 | HTTP_STATUS.BAD_REQUEST | Invalid organisation |
| 1518 | HTTP_STATUS.BAD_REQUEST | Invalid Latitude - Valid latitude values are between -90 and 90 (both inclusive) |
| 1519 | HTTP_STATUS.BAD_REQUEST | Invalid Longitude - Valid longitude values are between -180 and 180 (both inclusive) |
| 1520 | HTTP_STATUS.BAD_REQUEST | Main member must differ from member defined for accrueTo in loyalty %s |
| 1521 | HTTP_STATUS.BAD_REQUEST | Invalid %s |
| 1522 | HTTP_STATUS.BAD_REQUEST | Only one Purse can be Primary for a Member |
| 1523 | HTTP_STATUS.BAD_REQUEST | Achieved On date can not be greater than current date |
| 1524 | HTTP_STATUS.BAD_REQUEST | Badge cannot have same name in a member |
| 1525 | HTTP_STATUS.BAD_REQUEST | Member Program is not editable |
| 1526 | HTTP_STATUS.BAD_REQUEST | Member Referral Code is not editable |
| 1527 | HTTP_STATUS.BAD_REQUEST | Date of birth cannot be greater than the current date |
| 1528 | HTTP_STATUS.BAD_REQUEST | Member-Segment relation for the segment %s already exists. |
| 1529 | HTTP_STATUS.BAD_REQUEST | Invalid enroll location |
| 1530 | HTTP_STATUS.NOT_FOUND | Named List not found |
| 1531 | HTTP_STATUS.BAD_REQUEST | Invalid Member Preference. |
| 1532 | HTTP_STATUS.BAD_REQUEST | Expiration Date cannot be less than opted in date. |
| 1533 | HTTP_STATUS.NOT_FOUND | Program not found |
| 1535 | HTTP_STATUS.BAD_REQUEST | Invalid import program structure. |
| 1536 | HTTP_STATUS.BAD_REQUEST | Invalid organisation _id. |
| 1537 | HTTP_STATUS.BAD_REQUEST | Creating flow path with _id %s failed. Circular node reference found. |
| 1538 | HTTP_STATUS.BAD_REQUEST | Invalid organisation |
| 1539 | HTTP_STATUS.INTERNAL_SERVER_ERROR | Import failed as the Extension Schemas could not be imported. |
| 1540 | HTTP_STATUS.INTERNAL_SERVER_ERROR | Import failed as the program could not be imported. |
| 1541 | HTTP_STATUS.INTERNAL_SERVER_ERROR | Import failed as the custom expressions could not be imported. |
| 1542 | HTTP_STATUS.INTERNAL_SERVER_ERROR | Import failed as the rules could not be imported. |
| 1543 | HTTP_STATUS.BAD_REQUEST | Import failed as the rule folder could not be imported. |
| 1544 | HTTP_STATUS.INTERNAL_SERVER_ERROR | Import failed as the program policies could not be imported. |
| 1545 | HTTP_STATUS.INTERNAL_SERVER_ERROR | Program Import failed: The Segments which are part of the Policies could not be imported. |
| 1546 | HTTP_STATUS.INTERNAL_SERVER_ERROR | Import failed as the program flow could not be imported. |
| 1547 | HTTP_STATUS.BAD_REQUEST | Purse Program is not same as Member Program |
| 1548 | HTTP_STATUS.BAD_REQUEST | Purse with name %s not exist in Purse Policy. |
| 1549 | HTTP_STATUS.BAD_REQUEST | Only one Purse Policy can be Primary |
| 1550 | HTTP_STATUS.BAD_REQUEST | Please provide a valid number for the field %s. |
| 1551 | HTTP_STATUS.BAD_REQUEST | Please provide a valid date for the field %s. |
| 1552 | HTTP_STATUS.BAD_REQUEST | The model with name %s does not exist. |
| 1553 | HTTP_STATUS.BAD_REQUEST | Please provide inclusion params. |
| 1554 | HTTP_STATUS.BAD_REQUEST | Please provide valid inclusion params. |
| 1555 | HTTP_STATUS.BAD_REQUEST | The field %s is not part of %s model. |
| 1556 | HTTP_STATUS.BAD_REQUEST | Expiration date cannot be less than the current date. |
| 1557 | HTTP_STATUS.BAD_REQUEST | Invalid referrer id - %s |
| 1558 | HTTP_STATUS.BAD_REQUEST | Invalid referred member id - %s |
| 1559 | HTTP_STATUS.BAD_REQUEST | Expiration Date cannot be less than effective date. |
| 1561 | HTTP_STATUS.NOT_FOUND | Reward Policy %s not found |
| 1562 | HTTP_STATUS.INTERNAL_SERVER_ERROR | Can not delete the folder which contains rules. |
| 1563 | HTTP_STATUS.BAD_REQUEST | Can not delete the folder which contains rule folders. |
| 1564 | HTTP_STATUS.BAD_REQUEST | Rule Folder name must be unique |
| 1565 | HTTP_STATUS.INTERNAL_SERVER_ERROR | Error occurred while searching for trash folder. |
| 1566 | HTTP_STATUS.INTERNAL_SERVER_ERROR | Failed to create trash folder |
| 1567 | HTTP_STATUS.BAD_REQUEST | Trash folder cannot be moved. |
| 1568 | HTTP_STATUS.BAD_REQUEST | Invalid Program |
| 1569 | HTTP_STATUS.BAD_REQUEST | Rule name must be unique |
| 1570 | HTTP_STATUS.BAD_REQUEST | Rule priority should be a positive integer |
| 1571 | HTTP_STATUS.BAD_REQUEST | Invalid Rule name %s - rule name should start with a character |
| 1572 | HTTP_STATUS.BAD_REQUEST | Schema-generator was called with invalid parameter array. If you are in DEBUG or TRACE, below is the array. %s |
| 1573 | HTTP_STATUS.BAD_REQUEST | Invalid parameter OUTPUT |
| 1574 | HTTP_STATUS.NOT_FOUND | Segment not found. |
| 1575 | HTTP_STATUS.BAD_REQUEST | Segment Ids should be unique |
| 1576 | HTTP_STATUS.BAD_REQUEST | Only one Tier Policy can be Primary |
| 1577 | HTTP_STATUS.BAD_REQUEST | Tier Program is not same as Member Program |
| 1578 | HTTP_STATUS.BAD_REQUEST | Tier with name %s does not exist in Tier Policy. |
| 1579 | HTTP_STATUS.BAD_REQUEST | Tier level upgrade/downgrade failed as the tier policy has a single level |
| 1580 | HTTP_STATUS.BAD_REQUEST | Preference value cannot be empty or undefined |
| 1581 | HTTP_STATUS.NOT_FOUND | Organization with name %s not found. |
| 1582 | HTTP_STATUS.NOT_FOUND | Program with name %s not found. |
| 1583 | HTTP_STATUS.NOT_FOUND | While publishing program with name %s main flow was not found. |
| 1584 | HTTP_STATUS.UNPROCESSABLE_ENTITY | Cannot delete all records at once |
| 1585 | HTTP_STATUS.BAD_REQUEST | Invalid Initial Sync date %s |
| 1586 | HTTP_STATUS.BAD_REQUEST | Name can not be modified when enrolled members are using this purse. |
| 1587 | HTTP_STATUS.BAD_REQUEST | Name can not be modified when enrolled members are using this tier. |
| 1588 | HTTP_STATUS.BAD_REQUEST | Invalid rule |
| 1589 | HTTP_STATUS.BAD_REQUEST | Internal Enums cannot be updated/deleted |
| 1590 | HTTP_STATUS.BAD_REQUEST | Invalid Enum display type |
| 1591 | HTTP_STATUS.BAD_REQUEST | Inserting internal enum via API is not allowed, please contact system administrator |
| 1592 | HTTP_STATUS.BAD_REQUEST | Primary product quantity should be greater than 0. |
| 1593 | HTTP_STATUS.BAD_REQUEST | Secondary product quantity should be greater than 0. |
| 1594 | HTTP_STATUS.BAD_REQUEST | Tertiary product quantity should be greater than 0. |
| 1595 | HTTP_STATUS.BAD_REQUEST | Primary product discount value should be greater than or equal to 0. |
| 1596 | HTTP_STATUS.BAD_REQUEST | Primary product discount value should be between 0-100 percent. |
| 1597 | HTTP_STATUS.BAD_REQUEST | Secondary product discount value should be greater than or equal to 0. |
| 1598 | HTTP_STATUS.BAD_REQUEST | Secondary product discount value should be between 0-100 percent. |
| 1599 | HTTP_STATUS.BAD_REQUEST | Tertiary product discount value should be greater than or equal to 0. |
| 1600 | HTTP_STATUS.BAD_REQUEST | Tertiary product discount value should be between 0-100 percent. |
| 1601 | HTTP_STATUS.BAD_REQUEST | Discount price should be greater than or equal to 0. |
| 1602 | HTTP_STATUS.BAD_REQUEST | Discount price should be between 0-100 percent. |
| 1603 | HTTP_STATUS.BAD_REQUEST | Reward policy availability %s start hours is invalid. |
| 1604 | HTTP_STATUS.BAD_REQUEST | Reward policy availability %s start minutes is invalid. |
| 1605 | HTTP_STATUS.BAD_REQUEST | Reward policy availability %s end hours is invalid. |
| 1606 | HTTP_STATUS.BAD_REQUEST | Reward policy availability %s end minutes is invalid. |
| 1607 | HTTP_STATUS.BAD_REQUEST | Reward policy should be available on atleast one of the week days. |
| 1608 | HTTP_STATUS.BAD_REQUEST | Please give a valid name |
| 1609 | HTTP_STATUS.BAD_REQUEST | Levels cannot have same name in a Tier Policy. |
| 1610 | HTTP_STATUS.BAD_REQUEST | Tier Policy cannot have more than one default level. |
| 1611 | HTTP_STATUS.BAD_REQUEST | Reward cannot be awarded as policy is not effective. |
| 1612 | HTTP_STATUS.BAD_REQUEST | Offer cannot be awarded as policy is not effective. |
| 1613 | HTTP_STATUS.BAD_REQUEST | Reward policy count limit should be greater than or equal to 0. |
| 1614 | HTTP_STATUS.BAD_REQUEST | numUses is required. |
| 1616 | HTTP_STATUS.BAD_REQUEST | The policy awarding limit exceeded. |
| 1617 | HTTP_STATUS.BAD_REQUEST | Reward policy intended use field is required. |
| 1618 | HTTP_STATUS.BAD_REQUEST | Reward policy budget should be greater than equal 0. |
| 1619 | HTTP_STATUS.BAD_REQUEST | Reward policy pricing type field is required. |
| 1620 | HTTP_STATUS.BAD_REQUEST | Reward policy primary product pricing type field is required. |
| 1621 | HTTP_STATUS.BAD_REQUEST | Reward policy secondary product pricing type field is required. |
| 1622 | HTTP_STATUS.BAD_REQUEST | Reward policy tertiary product pricing type field is required. |
| 1623 | HTTP_STATUS.BAD_REQUEST | Invalid segment ids |
| 1624 | HTTP_STATUS.BAD_REQUEST | Trash folders can not be updated. |
| 1625 | HTTP_STATUS.BAD_REQUEST | Trash folders can not be deleted. |
| 1626 | HTTP_STATUS.BAD_REQUEST | Cannot delete a reward policy when enrolled members are using this reward policy. |
| 1627 | HTTP_STATUS.BAD_REQUEST | Merge is in progress on the member. Please retry later. |
| 1628 | HTTP_STATUS.NOT_FOUND | Could not find member with id 'xxxxx'. Please ensure that this member exists in the program |
| 1629 | HTTP_STATUS.NOT_FOUND | Could not find member with id 'xxxxx'. Please ensure that this member exists in the program |
| 1630 | HTTP_STATUS.BAD_REQUEST | Can not merge the member with same id '%xxxxx'. Please ensure that the members are different. |
| 1631 | HTTP_STATUS.BAD_REQUEST | Cannot merge members enrolled to different programs |
| 1632 | HTTP_STATUS.BAD_REQUEST | Exhausted retries to check for member. |
| 1633 | HTTP_STATUS.BAD_REQUEST | Member 'xxxx' update failed, since member was updated elsewhere. |
| 1634 | HTTP_STATUS.BAD_REQUEST | Purse Policy colors start cannot be greater than end. |
| 1635 | HTTP_STATUS.BAD_REQUEST | Rule Folder can not be moved to its child folder. |
| 1636 | HTTP_STATUS.NOT_FOUND | Tier Policy with id 'xxxx' not found. |
| 1637 | HTTP_STATUS.BAD_REQUEST | Rule availability %s start hours is invalid. |
| 1638 | HTTP_STATUS.BAD_REQUEST | Rule availability %s start minutes is invalid. |
| 1639 | HTTP_STATUS.BAD_REQUEST | Rule policy availability %s end hours is invalid. |
| 1640 | HTTP_STATUS.BAD_REQUEST | Rule availability %s end minutes is invalid. |
| 1641 | HTTP_STATUS.BAD_REQUEST | Rule should be available on atleast one of the week days. |
| 1642 | HTTP_STATUS.BAD_REQUEST | Invalid Enum value type |
| 1643 | HTTP_STATUS.BAD_REQUEST | Primary product maximum discount should be greater than or equal to 0. |
| 1644 | HTTP_STATUS.BAD_REQUEST | Secondary product maximum discount should be greater than or equal to 0. |
| 1645 | HTTP_STATUS.BAD_REQUEST | Tertiary product maximum discount should be greater than or equal to 0. |
| 1646 | HTTP_STATUS.BAD_REQUEST | Maximum discount should be greater than or equal to 0. |
| 1647 | HTTP_STATUS.BAD_REQUEST | The loyalty id %s of type %s being added is not valid. |
| 1648 | HTTP_STATUS.BAD_REQUEST | The loyalty id %s is already used. |
| 1649 | HTTP_STATUS.BAD_REQUEST | Main member's program differs from the member defined for accrueTo in loyalty. |
| 1650 | HTTP_STATUS.BAD_REQUEST | Atleast one loyalty id should be primary from group %s. |
| 1651 | HTTP_STATUS.BAD_REQUEST | Loyalty Id name cannot be changed. |
| 1652 | HTTP_STATUS.BAD_REQUEST | Auto enroll is already enabled on a different program. |
| 1653 | HTTP_STATUS.BAD_REQUEST | The loyalty Id %s passed to get profile is not valid. |
| 1654 | HTTP_STATUS.BAD_REQUEST | Loyalty Id %s is available for usage. |
| 1655 | HTTP_STATUS.BAD_REQUEST | The multinational support is not enabled on the program passed. |
| 1656 | HTTP_STATUS.NOT_FOUND | The member %s is not part of the account. |
| 1657 | HTTP_STATUS.BAD_REQUEST | Invalid sequence name '%s' |
| 1658 | HTTP_STATUS.BAD_REQUEST | Please provide valid member details to create a member |
| 1659 | HTTP_STATUS.BAD_REQUEST | Member with details passed already exists in active state |
| 1660 | HTTP_STATUS.BAD_REQUEST | '%s' namedList and isIncluded are required. |
| 1661 | HTTP_STATUS.BAD_REQUEST | Preferences name should be unique, Please provide a different name for the preference. |
| 1662 | HTTP_STATUS.BAD_REQUEST | Invalid Member ID \"%s\" provided while inserting/updating preferences. |
| 1663 | HTTP_STATUS.BAD_REQUEST | Expiration Date cannot be less than effective date. |
| 1664 | HTTP_STATUS.BAD_REQUEST | Program start of the week should be one of these values '%s'. |
| 1665 | HTTP_STATUS.BAD_REQUEST | Product 'sku' is unique with in the effective and expiration dates. |
| 1666 | HTTP_STATUS.BAD_REQUEST | Primary expected quantity should be whole number greater than 0. |
| 1667 | HTTP_STATUS.BAD_REQUEST | Secondary expected quantity should be whole number greater than 0. |
| 1668 | HTTP_STATUS.BAD_REQUEST | Tertiary expected quantity should be whole number greater than 0. |
| 1669 | HTTP_STATUS.BAD_REQUEST | Partner not found. |
| 1670 | HTTP_STATUS.BAD_REQUEST | Invalid Activity Based Expiration Filter Query. |
| 1671 | HTTP_STATUS.BAD_REQUEST | Invalid member search query. |
| 1672 | HTTP_STATUS.BAD_REQUEST | Member with id '%s' not exists in program with id '%s'. |
| 1673 | HTTP_STATUS.BAD_REQUEST | Member details are not provided. |
| 1674 | HTTP_STATUS.BAD_REQUEST | Activity details are not provided. |
| 1675 | HTTP_STATUS.BAD_REQUEST | Member ID provided in member details is different from member ID in request member feild. |
| 1676 | HTTP_STATUS.BAD_REQUEST | Cannot Accrue to a member which does not exist. |
| 1677 | HTTP_STATUS.BAD_REQUEST | The policy budget limit exceeded. |
| 1678 | HTTP_STATUS.BAD_REQUEST | Provided parent folder does not contain given child folder. |
| 1679 | HTTP_STATUS.BAD_REQUEST | Loyalty Id with status 'Active' can be set as Primary. |
| 1680 | HTTP_STATUS.BAD_REQUEST | %s cannot be added for member %s with status %s. |
| 1681 | HTTP_STATUS.BAD_REQUEST | %s cannot be previewed as policy does not support. |
| 1682 | HTTP_STATUS.BAD_REQUEST | Eligibility Query is Not Valid Object. |
| 1683 | HTTP_STATUS.BAD_REQUEST | Email is invalid (%s). |
| 1684 | HTTP_STATUS.BAD_REQUEST | %s does not belong to member program. |
| 1685 | HTTP_STATUS.BAD_REQUEST | Expiration Date cannot be less than effective date. |
| 1686 | HTTP_STATUS.BAD_REQUEST | Invalid phone number (%s). |
| 1687 | HTTP_STATUS.BAD_REQUEST | Invalid zip code (%s). |
| 1688 | HTTP_STATUS.BAD_REQUEST | Test data member segments does not contain rule mandatory segment. |
| 1689 | HTTP_STATUS.BAD_REQUEST | Test data member status does not match with rule member status. |
| 1690 | HTTP_STATUS.BAD_REQUEST | Test data activity lineitems does not contain rule %s. |
| 1691 | HTTP_STATUS.BAD_REQUEST | Test data activity %s must contain required quantity. |
| 1692 | HTTP_STATUS.BAD_REQUEST | Test data activityDate must be greater than rule effectiveTo date |
| 1693 | HTTP_STATUS.BAD_REQUEST | Test data activity location does not match with rule location. |
| 1694 | HTTP_STATUS.BAD_REQUEST | Test data member segment does not match with rule segment. |
| 1699 | HTTP_STATUS.NOT_FOUND | Member with id '%s' not found in Merge trail. |
| 1725 | HTTP_STATUS.BAD_REQUEST | Cannot merge the member '%s' into '%s' due to negative balances on member '%s'.Please retry later. |
| 1726 | HTTP_STATUS.BAD_REQUEST | Member with id '%s' cannot be unmerged as purses (%s) have locked points. |
| 1728 | HTTP_STATUS.BAD_REQUEST | Member '%s' is being unmerged. Please retry later. |
| 1741 | HTTP_STATUS.BAD_REQUEST | Unmerge is not supported. Please contact system administrator |
| 1763 | HTTP_STATUS.BAD_REQUEST | The most recent mergetrail has no extMergeId to match %s. |
| 1764 | HTTP_STATUS.BAD_REQUEST | Can not unmerge linked member. Please unlink the members first. |
| 1766 | HTTP_STATUS.BAD_REQUEST | Could not find the corresponding Victim with the Survivor %s. |
| 1767 | HTTP_STATUS.BAD_REQUEST | Could not find the corresponding Victim with the with Survivor %s and external merge id %s. |
| 1774 | HTTP_STATUS.BAD_REQUEST | Survivor \"%s\" and Victim \"%s\" are linked. Please unlink them before merge. |
| 1776 | HTTP_STATUS.BAD_REQUEST | Victim member \"%s\" is found as Survivor with status \"%s\" in another merge. Please retry later. |
| 1777 | HTTP_STATUS.BAD_REQUEST | %s with extMergeId = %s has already been completed. |
| 1778 | HTTP_STATUS.BAD_REQUEST | Unmerge with extMergeId=%s can not proceed as extMergeId=%s is most recent. |
| 1797 | HTTP_STATUS.NOT_FOUND | Goal policy with name %s not found in streak policy %s. |
| 1798 | HTTP_STATUS.BAD_REQUEST | You can not remove Named List %s because it is linked to the %s. |
| 1800 | HTTP_STATUS.BAD_REQUEST | End date cannot be less than or equals to start date. |
| 1801 | HTTP_STATUS.BAD_REQUEST | Atleast one level is required while creating tier policy. |
| 1802 | HTTP_STATUS.BAD_REQUEST | Missing required query parameter: memberId |
| 1803 | HTTP_STATUS.BAD_REQUEST | Expiration Date cannot be less than or equal to effective date. |
| 1804 | HTTP_STATUS.BAD_REQUEST | Aggregate Policy name must not be same as existing Purse Policy. |
| 1805 | HTTP_STATUS.BAD_REQUEST | Policy not found |
| 1806 | HTTP_STATUS.BAD_REQUEST | AggregateType is required. Please set at least one AggregateType |
| 1807 | HTTP_STATUS.BAD_REQUEST | Invalid action parameters in %s action |
| 1808 | HTTP_STATUS.BAD_REQUEST | Reward policy cost should be an integer and greater than or equal to 0. |
| 1809 | HTTP_STATUS.BAD_REQUEST | Aggregates cannot be enabled on grouped purse. |
| 1810 | HTTP_STATUS.BAD_REQUEST | The model '%s' is not permitted for selective export. |
| 1811 | HTTP_STATUS.BAD_REQUEST | The model '%s' can only be exported entirely. Selective export is not allowed. |
| 1812 | HTTP_STATUS.BAD_REQUEST | The model '%s' requires specific data to be exported when 'all' is set to 'no'. Please include data in the 'data' array. |
| 1813 | HTTP_STATUS.BAD_REQUEST | The '%s' with the %s(s) '%s' was not found in the db |
| 1814 | HTTP_STATUS.BAD_REQUEST | The '%s' with the '%s' '%s' was not found in the db while resolving the model '%s' with name '%s'. |
| 1815 | HTTP_STATUS.BAD_REQUEST | Trash folders with names '%s' are not found in DB |
| 1816 | HTTP_STATUS.BAD_REQUEST | Unrecognized model '%s' for selective export. Verify the model name and try again. |
| 1817 | HTTP_STATUS.BAD_REQUEST | Invalid Streak policy ID '%s'. |
| 1818 | HTTP_STATUS.BAD_REQUEST | Streak policy with id %s not found. |
| 1819 | HTTP_STATUS.BAD_REQUEST | The cloned streak policy name cannot match the original streak policy name. Please choose a different name. |
| 1820 | HTTP_STATUS.BAD_REQUEST | Cloning is not allowed because there are multiple rule folders associated with the same streak policy ID. |
| 1821 | HTTP_STATUS.FORBIDDEN | Schema version mismatch: expected \"%s\", actual \"%s\" |
| 1822 | HTTP_STATUS.BAD_REQUEST | Rule Folder \"%s\" is not included in the import scope. |
| 1823 | HTTP_STATUS.BAD_REQUEST | The activity '%s' cannot be cancelled as the redemption process is still ongoing. |
| 1847 | HTTP_STATUS.BAD_REQUEST | %s member %s is being merged or unmerged. Please retry later. |
Activity Errors (2000-3999)
Rule Action Errors (2000-2999)
| Code | HTTP status code | Error message |
|---|---|---|
| 2000 | HTTP_STATUS.NOT_FOUND | Activity item not found |
| 2001 | HTTP_STATUS.BAD_REQUEST | Activity %s with status %s can not be processed. Only activities with "Processed" status can be canceled |
| 2002 | HTTP_STATUS.NOT_FOUND | Member with id %s not found while canceling activity %s. |
| 2003 | HTTP_STATUS.INTERNAL_SERVER_ERROR | Activity failed even after retries. |
| 2004 | HTTP_STATUS.NOT_FOUND | No product found in lineItem |
| 2006 | HTTP_STATUS.BAD_REQUEST | Invalid request - Please provide UPC for Giving reward |
| 2007 | HTTP_STATUS.NOT_FOUND | |
| 2010 | HTTP_STATUS.UNPROCESSABLE_ENTITY | Custom Action needs to be a function. |
| 2011 | HTTP_STATUS.NOT_FOUND | Offer with code %s not found. |
| 2012 | HTTP_STATUS.BAD_REQUEST | Failed to use offer %s. It will come into effective on %s. |
| 2013 | HTTP_STATUS.BAD_REQUEST | Failed to use offer %s. It has already expired on %s. |
| 2014 | HTTP_STATUS.BAD_REQUEST | Failed to use offer %s. No more uses left. |
| 2015 | HTTP_STATUS.BAD_REQUEST | Offer not found |
| 2016 | HTTP_STATUS.BAD_REQUEST | Invalid offer type %s |
| 2017 | HTTP_STATUS.NOT_FOUND | Products with %s %s were not found. |
| 2018 | HTTP_STATUS.NOT_FOUND | Can not find purse in member with _id %s. |
| 2019 | HTTP_STATUS.BAD_REQUEST | Failed to redeem %d points from purse %s because it has only %d points available. |
| 2020 | HTTP_STATUS.INTERNAL_SERVER_ERROR | Failed to create transaction to transfer between purses %s and %s . |
| 2021 | HTTP_STATUS.INTERNAL_SERVER_ERROR | Not enough redemption to unpack packaged accrual %s in purse %s. |
| 2023 | HTTP_STATUS.BAD_REQUEST | Reward Policy has already expired on %s. |
| 2024 | HTTP_STATUS.NOT_FOUND | Reward related item not found |
| 2025 | HTTP_STATUS.BAD_REQUEST | Failed to use offer %s. It will come into effective on %s. |
| 2026 | HTTP_STATUS.BAD_REQUEST | Failed to use reward %s. It has already expired on %s. |
| 2027 | HTTP_STATUS.BAD_REQUEST | Failed to use reward %s. No more uses left. |
| 2028 | HTTP_STATUS.BAD_REQUEST | Invalid Request |
| 2030 | HTTP_STATUS.NOT_FOUND | Tier is not found |
| 2031 | HTTP_STATUS.BAD_REQUEST | Tier level upgrade failed as the current tier level is top level |
| 2032 | HTTP_STATUS.BAD_REQUEST | Tier level downgrade failed as the current tier level is the lowest level |
| 2033 | HTTP_STATUS.NOT_FOUND | Original activity with external Transaction Id %s not found for member %s. |
| 2034 | HTTP_STATUS.NOT_FOUND | Original activity with _id %s not found for member %s |
| 2035 | HTTP_STATUS.NOT_FOUND | Member id %s was not loaded into the flow. Please ensure you have Lookup Member action in your rules. |
| 2036 | HTTP_STATUS.NOT_FOUND | Could not find member with id %s. Please ensure that this member exists in the program and has Active status. |
| 2037 | HTTP_STATUS.NOT_FOUND | Both loyaltyID and memberID are missing. You have to specify either loyaltyID or memberID for an Activity. |
| 2038 | HTTP_STATUS.NOT_FOUND | Could not find member with loyaltyID %s |
| 2039 | HTTP_STATUS.NOT_FOUND | Could not find program where member id %s is enrolled. |
| 2040 | HTTP_STATUS.NOT_FOUND | Can not find purse in member with _id %s. |
| 2041 | HTTP_STATUS.NOT_FOUND | Reward with code %s not found. |
| 2042 | HTTP_STATUS.BAD_REQUEST | Reward usesLeftfield has invalid value |
| 2043 | HTTP_STATUS.BAD_REQUEST | Reward effectiveDate should be less than expiresOn. |
| 2044 | HTTP_STATUS.NOT_FOUND | Usable rewards with types %s were not found. |
| 2045 | HTTP_STATUS.BAD_REQUEST | Could not find tier in member with _id %s. |
| 2046 | HTTP_STATUS.BAD_REQUEST | Tier policy with name %s and program %s was not found |
| 2047 | HTTP_STATUS.BAD_REQUEST | Tier policy with name %s and program %s does not have level with value %s |
| 2048 | HTTP_STATUS.BAD_REQUEST | Member '%s' is being merged. Please retry later. |
| 2049 | HTTP_STATUS.BAD_REQUEST | The policy awarding limit exceeded. |
| 2050 | HTTP_STATUS.BAD_REQUEST | The %s format is invalid. |
| 2051 | HTTP_STATUS.BAD_REQUEST | The loyalty id %s passed as part of activity is not valid. |
| 2052 | HTTP_STATUS.BAD_REQUEST | The points to be added to purse %s are invalid. |
| 2053 | HTTP_STATUS.BAD_REQUEST | The points to be redeemed from purse %s are invalid. |
| 2054 | HTTP_STATUS.NOT_FOUND | No program has autoenroll and the loyalty id '%s' does not exist. |
| 2055 | HTTP_STATUS.BAD_REQUEST | The offer policies corresponding to best offers do not exist. |
| 2056 | HTTP_STATUS.BAD_REQUEST | The offer policies corresponding to best offers lookup values %s do not exist. |
| 2057 | HTTP_STATUS.BAD_REQUEST | The lookup field is not configured as part of the \"Lookup best offer policies\" action. |
| 2058 | HTTP_STATUS.BAD_REQUEST | Can't return multiple products with same SKU. |
| 2059 | HTTP_STATUS.BAD_REQUEST | Activity target program member not found. |
| 2060 | HTTP_STATUS.BAD_REQUEST | Used rewards cannot be deleted. |
| 2061 | HTTP_STATUS.BAD_REQUEST | Used offers cannot be deleted. |
| 2062 | HTTP_STATUS.BAD_REQUEST | The policy budget limit exceeded. |
| 2063 | HTTP_STATUS.BAD_REQUEST | Duplicate activity request with externalTxnId %s |
| 2064 | HTTP_STATUS.BAD_REQUEST | Points cannot be added as policy %s is not effective. |
| 2065 | HTTP_STATUS.BAD_REQUEST | Purse Policy %s has already expired on %s. |
| 2067 | HTTP_STATUS.BAD_REQUEST | Policy lookup Query is not configured for fetching reward policies` |
| 2068 | HTTP_STATUS.NOT_FOUND | Reward with code \"%s\" not found. |
| 2069 | HTTP_STATUS.NOT_FOUND | Reward with code \"%s\" not found. |
| 2070 | HTTP_STATUS.BAD_REQUEST | Expiration Failed for member %s with purse %s, accrual %s. |
| 2072 | HTTP_STATUS.BAD_REQUEST | Rule count limit should be an integer and greater than or equal to 0. |
| 2073 | HTTP_STATUS.BAD_REQUEST | Please provide lookup field and/or lookup value. |
| 2074 | HTTP_STATUS.BAD_REQUEST | Please provide valid locked till date. |
| 2075 | HTTP_STATUS.BAD_REQUEST | Locked till date cannot be updated since reward %s with code %s is already used. |
| 2076 | HTTP_STATUS.NOT_FOUND | Locked till date cannot be updated since reward with field %s and value %s does not exist for the member. |
| 2077 | HTTP_STATUS.BAD_REQUEST | Locked till date cannot be updated since reward %s with code %s is cancelled. |
| 2078 | HTTP_STATUS.BAD_REQUEST | Locked till date cannot be updated since reward %s with code %s is already expired. |
| 2080 | HTTP_STATUS.BAD_REQUEST | The points to be locked from purse %s are invalid. |
| 2081 | HTTP_STATUS.BAD_REQUEST | Please provide lookup field and/or lookup value in unlock points action. |
| 2083 | HTTP_STATUS.BAD_REQUEST | Cannot cancel reward which is in locked state. |
| 2084 | HTTP_STATUS.BAD_REQUEST | Escrow Failed for member %s with purse %s, accrual %s. |
| 2085 | HTTP_STATUS.BAD_REQUEST | As the linked members are from different programs, we cannot perform this operation. |
| 2086 | HTTP_STATUS.FORBIDDEN | The job to generate the promo codes is already running. |
| 2087 | HTTP_STATUS.NOT_FOUND | Promo campaign with code %s not found. |
| 2088 | HTTP_STATUS.BAD_REQUEST | Promo campaign with code %s expired. |
| 2089 | HTTP_STATUS.BAD_REQUEST | Promo code %s to be redeemed not found. |
| 2090 | HTTP_STATUS.BAD_REQUEST | Promo campaign with code %s not started. |
| 2091 | HTTP_STATUS.BAD_REQUEST | Linked member with id %s not found to add points. |
| 2092 | HTTP_STATUS.BAD_REQUEST | Please use valid enum status type. |
| 2093 | HTTP_STATUS.BAD_REQUEST | Please use valid enum parent type. |
| 2094 | HTTP_STATUS.BAD_REQUEST | Please use valid enum parent value. |
| 2095 | HTTP_STATUS.BAD_REQUEST | Period end date must be less than period close, expiration date and greater than effective date. |
| 2096 | HTTP_STATUS.BAD_REQUEST | Period close date must be less than expiration date, and greater than effective date. |
| 2097 | HTTP_STATUS.BAD_REQUEST | Period start date must be less than period end, close, expiration date, and greater than or equal to the effective date. |
| 2098 | HTTP_STATUS.BAD_REQUEST | Period dates should not overlap with existing purse policy - %s (%s - %s) . |
| 2099 | HTTP_STATUS.BAD_REQUEST | Period dates should be contiguous. Period should start on %s. |
| 2100 | HTTP_STATUS.BAD_REQUEST | Period start date is required for a group purse. |
| 2101 | HTTP_STATUS.BAD_REQUEST | Period end date is required for a group purse. |
| 2102 | HTTP_STATUS.BAD_REQUEST | Period close date is required for a group purse. |
| 2103 | HTTP_STATUS.BAD_REQUEST | Cannot delete %s as period dates should be contiguous. |
| 2104 | HTTP_STATUS.BAD_REQUEST | The period time zone for all purses in a group must be the same. Please select %s as the period time zone. |
| 2105 | HTTP_STATUS.BAD_REQUEST | Cannot add child enum with type \"%s\" and value \"%s\" because the specified parent enum with type \"%s\" and value \"%s\" does not exist. |
| 2106 | HTTP_STATUS.BAD_REQUEST | Aggregate cannot be updated as policy %s is not effective. |
| 2107 | HTTP_STATUS.BAD_REQUEST | Aggregate Policy %s has already expired on %s. |
| 2108 | HTTP_STATUS.BAD_REQUEST | Please provide lookup field and/or lookup value |
| 2109 | HTTP_STATUS.BAD_REQUEST | Please provide valid locked till date |
| 2110 | HTTP_STATUS.BAD_REQUEST | Locked till date cannot be updated since offer %s with code %s is already used. |
| 2111 | HTTP_STATUS.NOT_FOUND | Locked till date cannot be updated since offer with field %s and value %s does not exist for the member. |
| 2112 | HTTP_STATUS.BAD_REQUEST | Locked till date cannot be updated since offer %s with code %s is cancelled. |
| 2113 | HTTP_STATUS.BAD_REQUEST | Locked till date cannot be updated since offer %s with code %s is already expired. |
| 2114 | HTTP_STATUS.BAD_REQUEST | Global offer \"%s\" is not lockable/unlockable. |
| 2115 | HTTP_STATUS.BAD_REQUEST | Please provide lock transaction id |
| 2116 | HTTP_STATUS.BAD_REQUEST | Please provide a valid lock transaction id |
| 2117 | HTTP_STATUS.BAD_REQUEST | Locked till date cannot be updated since reward \"%s\" with code \"%s\" will come into effective on %s. |
| 2118 | HTTP_STATUS.BAD_REQUEST | Locked till date cannot be updated since offer \"%s\" with code \"%s\" will come into effective on %s. |
| 2119 | HTTP_STATUS.BAD_REQUEST | Please provide a valid lock transaction id |
| 2120 | HTTP_STATUS.BAD_REQUEST | Multi use offer \"%s\" is not lockable/unlockable |
| 2133 | HTTP_STATUS.BAD_REQUEST | Linked member with id %s not found to redeem points. |
| 2161 | HTTP_STATUS.BAD_REQUEST | Point multiplier must be greater than 0. |
Populate Action Errors (3000-3299)
| Code | HTTP status code | Error message |
|---|---|---|
| 3000 | HTTP_STATUS.BAD_REQUEST | The offer %s count not be processed for best offer lookup for member %s while processing activity %s, please check the offer rule configuration. |
| 3001 | HTTP_STATUS.NOT_FOUND | Offer policy does not exist |
Generic Engine Errors (3300-3499)
| Code | HTTP status code | Error message |
|---|---|---|
| 3300 | HTTP_STATUS.BAD_REQUEST | Invalid structure in flow. |
| 3301 | HTTP_STATUS.BAD_REQUEST | Flow with name %s already exists. |
| 3302 | HTTP_STATUS.BAD_REQUEST | Can not find rule with name %s |
Custom Errors (3500-3999)
Error codes that can be thrown by the user while configuring the program rules, actions.
Generic Errors (4000-4999)
| Code | HTTP status code | Error message |
|---|---|---|
| 4001 | HTTP_STATUS.BAD_REQUEST | Invalid API parameters. |
| 4002 | HTTP_STATUS.NOT_FOUND | Resource not found |
| 4003 | HTTP_STATUS.NOT_FOUND | Member not found |
| 4004 | HTTP_STATUS.BAD_REQUEST | Invalid organisation _id. |
| 4005 | HTTP_STATUS.BAD_REQUEST | Invalid member ID. |
| 4006 | HTTP_STATUS.BAD_REQUEST | Invalid program _id. |
| 4007 | HTTP_STATUS.BAD_REQUEST | Bulk update on model '%s' not allowed |
| 4008 | HTTP_STATUS.BAD_REQUEST | Invalid Ids '%s' |
| 4009 | HTTP_STATUS.BAD_REQUEST | Fields '%s' can not be updated via multi-edit |
| 4010 | HTTP_STATUS.INTERNAL_SERVER_ERROR | Invalid validator, please contact system administrator |
| 4011 | HTTP_STATUS.BAD_REQUEST | The %s format is invalid. |
| 4012 | HTTP_STATUS.BAD_REQUEST | Fields \"%s\" do not exist in model \"%s\" |
| 4013 | HTTP_STATUS.BAD_REQUEST | Bulk delete on model '%s' not allowed |
| 4014 | HTTP_STATUS.BAD_REQUEST | Invalid entity type passed to refresh cache. |
| 4015 | HTTP_STATUS.BAD_REQUEST | Invalid increment definition '%s' |
| 4016 | HTTP_STATUS.INTERNAL_SERVER_ERROR | Auto increment failed |
| 4017 | HTTP_STATUS.BAD_REQUEST | Invalid Lookup definition '%s' |
| 4018 | HTTP_STATUS.INTERNAL_SERVER_ERROR | Lookup Failed |
| 4019 | HTTP_STATUS.BAD_REQUEST | Lookup not found '%s' |
| 4020 | HTTP_STATUS.BAD_REQUEST | The namedList '%s' id is invalid. |
| 4029 | HTTP_STATUS.BAD_REQUEST | '%s' should be a positive integer. |
| 4030 | HTTP_STATUS.BAD_REQUEST | '%s' should be an integer. |
| 4031 | HTTP_STATUS.BAD_REQUEST | %s name is required. |
| 4032 | HTTP_STATUS.BAD_REQUEST | Locked till is not allowed to be less than activity date for action \"%s\" |
| 4033 | HTTP_STATUS.BAD_REQUEST | Expected a %s for field '%s' in '%s' action during '%s' rule execution. |
| 4034 | HTTP_STATUS.BAD_REQUEST | Expected a %s for field '%s'. |
| 4035 | HTTP_STATUS.BAD_REQUEST | Missing required field '%s' in the request body. |
| 4036 | HTTP_STATUS.BAD_REQUEST | Invalid value '%s' for field '%s' in the request body. |
| 4037 | HTTP_STATUS.BAD_REQUEST | The date '%s' is not within the allowed range of 1900 to 3999 in '%s'. |
| 4038 | HTTP_STATUS.BAD_REQUEST | Missing required field \"%s\" in Parameters. |
Unknown Error (9999)
| Code | HTTP status code | Error message |
|---|---|---|
| 9999 | HTTP_STATUS.INTERNAL_SERVER_ERROR | Unable to process: %s |
