> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # Method name: getAccountBySecondaryId(options: GetAccountBySecondaryIdOptions) # Method package: wixLoyaltyV2 # Method menu location: wixLoyaltyV2 --> accounts --> getAccountBySecondaryId # Method Link: https://dev.wix.com/docs/velo/apis/wix-loyalty-v2/accounts/get-account-by-secondary-id.md # Method Description: Retrieves the account belonging to the specified contact or member. This method retrieves loyalty accounts using either a customer's contact ID or member ID. You can also retrieve an account using the loyalty account ID with Get Account. # Method Code Examples: *** Note: do not assume any prop names or enum values other than the ones in the example. ## Get a loyalty account using a contact ID (dashboard page code) ```javascript import { accounts } from 'wix-loyalty.v2'; /* Sample options value: * { * contactId: '8a71f711-f77b-43fe-9e3d-5c243f94b2bc' * } */ export async function myGetAccountByContactIdFunction() { try { const loyaltyAccount = await accounts.getAccountBySecondaryId(options); const accountId = loyaltyAccount.account._id; const currentRevision = loyaltyAccount.account.revision; console.log("Success! This site contact's loyalty account ID is: ", accountId); return loyaltyAccount; } catch (error) { console.error(error); } } /* Promise resolves to: * { * "account": { * "_id": "dd0020ca-eef0-4ff1-a615-63ecdcdfcd28", * "contactId": "8a71f711-f77b-43fe-9e3d-5c243f94b2bc", * "points": { * "balance": 700, * "earned": 135, * "adjusted": 565, * "redeemed": 0 * }, * "rewardAvailable": true, * "_createdDate": "2022-11-08T22:52:44.758Z", * "_updatedDate": "2022-11-09T11:18:45.037Z", * "revision": "6", * "tier": { * "_updatedDate": "2022-11-09T11:18:45.037Z", * "points": 700 * } * } * } */ ``` ## Get a loyalty account using a contact ID (export from backend code) ```javascript import { Permissions, webMethod } from 'wix-web-module'; import { accounts } from 'wix-loyalty.v2'; /* Sample options value: * { * contactId: '8a71f711-f77b-43fe-9e3d-5c243f94b2bc' * } */ export const myGetAccountByContactIdFunction = webMethod( Permissions.Anyone, async (options) => { try { const loyaltyAccount = await accounts.getAccountBySecondaryId(options); const accountId = loyaltyAccount.account._id; const currentRevision = loyaltyAccount.account.revision; console.log("Success! This site contact's loyalty account ID is: ", accountId); return loyaltyAccount; } catch (error) { console.error(error); } }); /* Promise resolves to: * { * "account": { * "_id": "dd0020ca-eef0-4ff1-a615-63ecdcdfcd28", * "contactId": "8a71f711-f77b-43fe-9e3d-5c243f94b2bc", * "points": { * "balance": 700, * "earned": 135, * "adjusted": 565, * "redeemed": 0 * }, * "rewardAvailable": true, * "_createdDate": "2022-11-08T22:52:44.758Z", * "_updatedDate": "2022-11-09T11:18:45.037Z", * "revision": "6", * "tier": { * "_updatedDate": "2022-11-09T11:18:45.037Z", * "points": 700 * } * } * } */ ``` ---