Enroll Member
cURL
curl --request POST \
--url https://vanilla-dev02-loyalty.fabric.zone/api/v1/members \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"firstName": "John",
"lastName": "Wayne",
"emailAddress": "user@abc.com",
"phoneNumber": "923331234567",
"entityReference": "BOUNTEE_CLUB",
"clubReference": "BLOCK_A",
"middleName": "Duke",
"suffix": "<string>",
"gender": "Male",
"birthDate": "1990-11-16",
"addressLine1": "10400 NE 4th St",
"addressLine2": "Suite 505",
"addressLine3": "",
"city": "Austin",
"region": "Texas",
"postalCode": "98004",
"country": "United States",
"nationality": "",
"maritalStatus": "Single",
"prefix": "Mr",
"redemptionChoice": "Auto",
"redemptionThreshold": 10,
"enrollmentTimestamp": "2021-01-25",
"enrollReasonCode": "1234",
"enrollReasonNote": "As guest member",
"tierReference": "Silver",
"customAttributes": {},
"sourceExternalReference": "example.com",
"channelExternalReference": "WEB"
}
'
Python
import requests
url = "https://vanilla-dev02-loyalty.fabric.zone/api/v1/members"
payload = {
"firstName": "John",
"lastName": "Wayne",
"emailAddress": "user@abc.com",
"phoneNumber": "923331234567",
"entityReference": "BOUNTEE_CLUB",
"clubReference": "BLOCK_A",
"middleName": "Duke",
"suffix": "<string>",
"gender": "Male",
"birthDate": "1990-11-16",
"addressLine1": "10400 NE 4th St",
"addressLine2": "Suite 505",
"addressLine3": "",
"city": "Austin",
"region": "Texas",
"postalCode": "98004",
"country": "United States",
"nationality": "",
"maritalStatus": "Single",
"prefix": "Mr",
"redemptionChoice": "Auto",
"redemptionThreshold": 10,
"enrollmentTimestamp": "2021-01-25",
"enrollReasonCode": "1234",
"enrollReasonNote": "As guest member",
"tierReference": "Silver",
"customAttributes": {},
"sourceExternalReference": "example.com",
"channelExternalReference": "WEB"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
JavaScript (Fetch API)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
firstName: 'John',
lastName: 'Wayne',
emailAddress: 'user@abc.com',
phoneNumber: '923331234567',
entityReference: 'BOUNTEE_CLUB',
clubReference: 'BLOCK_A',
middleName: 'Duke',
suffix: '<string>',
gender: 'Male',
birthDate: '1990-11-16',
addressLine1: '10400 NE 4th St',
addressLine2: 'Suite 505',
addressLine3: '',
city: 'Austin',
region: 'Texas',
postalCode: '98004',
country: 'United States',
nationality: '',
maritalStatus: 'Single',
prefix: 'Mr',
redemptionChoice: 'Auto',
redemptionThreshold: 10,
enrollmentTimestamp: '2021-01-25',
enrollReasonCode: '1234',
enrollReasonNote: 'As guest member',
tierReference: 'Silver',
customAttributes: {},
sourceExternalReference: 'example.com',
channelExternalReference: 'WEB'
})
};
fetch('https://vanilla-dev02-loyalty.fabric.zone/api/v1/members', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
PHP
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://vanilla-dev02-loyalty.fabric.zone/api/v1/members",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'firstName' => 'John',
'lastName' => 'Wayne',
'emailAddress' => 'user@abc.com',
'phoneNumber' => '923331234567',
'entityReference' => 'BOUNTEE_CLUB',
'clubReference' => 'BLOCK_A',
'middleName' => 'Duke',
'suffix' => '<string>',
'gender' => 'Male',
'birthDate' => '1990-11-16',
'addressLine1' => '10400 NE 4th St',
'addressLine2' => 'Suite 505',
'addressLine3' => '',
'city' => 'Austin',
'region' => 'Texas',
'postalCode' => '98004',
'country' => 'United States',
'nationality' => '',
'maritalStatus' => 'Single',
'prefix' => 'Mr',
'redemptionChoice' => 'Auto',
'redemptionThreshold' => 10,
'enrollmentTimestamp' => '2021-01-25',
'enrollReasonCode' => '1234',
'enrollReasonNote' => 'As guest member',
'tierReference' => 'Silver',
'customAttributes' => [],
'sourceExternalReference' => 'example.com',
'channelExternalReference' => 'WEB'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Go
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://vanilla-dev02-loyalty.fabric.zone/api/v1/members"
payload := strings.NewReader("{\n \"firstName\": \"John\",\n \"lastName\": \"Wayne\",\n \"emailAddress\": \"user@abc.com\",\n \"phoneNumber\": \"923331234567\",\n \"entityReference\": \"BOUNTEE_CLUB\",\n \"clubReference\": \"BLOCK_A\",\n \"middleName\": \"Duke\",\n \"suffix\": \"<string>\",\n \"gender\": \"Male\",\n \"birthDate\": \"1990-11-16\",\n \"addressLine1\": \"10400 NE 4th St\",\n \"addressLine2\": \"Suite 505\",\n \"addressLine3\": \"\",\n \"city\": \"Austin\",\n \"region\": \"Texas\",\n \"postalCode\": \"98004\",\n \"country\": \"United States\",\n \"nationality\": \"\",\n \"maritalStatus\": \"Single\",\n \"prefix\": \"Mr\",\n \"redemptionChoice\": \"Auto\",\n \"redemptionThreshold\": 10,\n \"enrollmentTimestamp\": \"2021-01-25\",\n \"enrollReasonCode\": \"1234\",\n \"enrollReasonNote\": \"As guest member\",\n \"tierReference\": \"Silver\",\n \"customAttributes\": {},\n \"sourceExternalReference\": \"example.com\",\n \"channelExternalReference\": \"WEB\"}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
Responses
{
"message": "Created",
"errors": {},
"data": {
"accounts": [
{
"accountStatus": "Enabled",
"clubReference": "abc_club",
"clubTitle": "ABC Club",
"customAttributes": {
"memberSinceDate": "2021-07-26",
"enrolledAtCenter": "Liberty Store",
"profileCompleted": false
},
"enrollmentEntity": "demo",
"enrollmentStatus": true,
"entityReference": "entity_level_1",
"loyaltyNumber": "10000147371",
"paidStatus": false,
"profileId": "f90a1da5-c072-48b7-a9ea-eb35c5dd506b",
"redemptionChoice": "Auto",
"redemptionThreshold": 10,
"tierExpiryDate": "2022-09-17T14:26:32.192148+00:00",
"tierExternalReference": "GLD",
"tierId": 4185,
"tierTitle": "ClubTier",
"updatedAt": "2021-11-01 12:15:53.831401+00:00"
}
],
"addressLine1": "10400 NE 4th St",
"addressLine2": "Suite 505",
"addressLine3": "",
"birthdate": "1990-11-16",
"channelExternalReference": "Web",
"city": "Austin",
"country": "US",
"emailAddress": "user@abc.com",
"enrollReasonCode": "1234",
"enrollReasonNote": "Guest",
"enrollmentTimestamp": "2021-09-14T11:32:55.508949Z",
"firstName": "John",
"fullCountry": "United States",
"fullRegion": "Texas",
"gender": "Male",
"lastName": "Wayne",
"middleName": "Duke",
"nationality": "",
"phoneNumber": "923331234567",
"postalCode": "98004",
"prefix": "Mr",
"region": "TX",
"sourceExternalReference": "www.abcdemo.com",
"suffix": "<string>"
},
"status": 201
}
{
"message": "Error message string",
"errors": {
"ExceptionString": [
"Invalid Field"
]
},
"data": null,
"status": 400
}
{
"detail": "Authentication Failed"
}