Enroll Member - Fabric

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"
}