/
Adoption Website Integration

Adoption Website Integration

This article details how an adoption website can retrieve Animals from AnimalOS to be displayed using the Salesforce REST API.

Retrieve Animals Available For Adoption

This API method will retrieve Animals that are available for adoption in AnimalOS.

Adopt a Pet Integration

Sample Request (Node.js - Request)
var request = require('request'); var options = { 'method': 'GET', 'url': '{{SF_API_ENDPOINT}}/services/apexrest/RetrieveAnimals?AnimalStatus=Adopted;Euthanised&LastModifiedDate=2022-10-03&Time=12:00&Limit=100&LastRecordId=a6e8u0000000JmtAAE&StatusChangedDate=2022-10-25&GalleryChangedDate=2022-10-25&AnimalType=Dog;Puppy&LocationName=Petbarn Belconnen’, 'headers': { 'Authorization': '{{access_token}}' } }; request(options, function (error, response) { if (error) throw new Error(error); console.log(response.body); });

Replace {{Variable_Name}} with the variable value provided in the table above.

{{access_token}} must be set. The table contains samples of these variables.

API Parameters

PARAM

EXAMPLE

NOTES

PARAM

EXAMPLE

NOTES

AnimalStatus (for many statuses separate values by semicolons)

Available For Adoption;Adopted

 

Lost & Found contains Stray Hold, Lost 

 

 

LastModifiedDate (YYYY-MM-DD)

2021-09-02

 

Time (HH:MM)

12:00

 

Limit

100

 

LastRecordId

a6e8u0000000JmtAAE

LastRecordId parameter must be set as the Id of the last retrieved record. Then on the next request, records after that record will be retrieved. totalNumberOfRecords and recordsLeft attribute were added to response to identify how many requests to make

Demo in Postman

StatusChangedDate (YYYY-MM-DD)

2022-10-25

 

GalleryChangedDate (YYYY-MM-DD)

2022-10-25

 

AnimalId

a6e8u0000000ftrAAA

If AnimalId parameter is not empty, all other parameters will be ignored and Animal record with Salesforce Id = AnimalId will be retrieved

AnimalType (for many statuses separate values by semicolons)

Cat; Dog

 

LocationName

Weston

 

Sample Response
{ "totalNumberOfRecords": 4199, "recordsLeft": 3998, "animals": [ { "animalos__Primary_Breed__r": { "Name": "German Shepherd", "Id": "a3cIo000000DCALIA4" }, "OneDrive_Files__r": [ { "Thumbnail_URL__c": "https://australiaeast1-mediap.svc.ms/transform/thumbnail?provider=spo&inputFormat=png&cs=ZWQyMjg2ODEtZTg1OS00ZjdjLThkOGEtYWI0MTMyZmMzNjc1fFNQTw&docid=https%3A%2F%2Frspcaact.sharepoint.com%2F_api%2Fv2.0%2Fdrives%2Fb!EIKub1WLlUCTW0SibqEvGxmqVQlmQuVAmBD4_6kQndPlGJpmkG6CRr0xTbL11llI%2Fitems%2F01UUHX7T7QULMDAPA4PZALKS7WRKKO6K57%3Ftempauth%3Dv1.eyJzaXRlaWQiOiI2ZmFlODIxMC04YjU1LTQwOTUtOTM1Yi00NGEyNmVhMTJmMWIiLCJhcHBfZGlzcGxheW5hbWUiOiJTYWxlc2ZvcmNlIFNoYXJlUG9pbnQgQXBwbGljYXRpb24iLCJhcHBpZCI6ImVkMjI4NjgxLWU4NTktNGY3Yy04ZDhhLWFiNDEzMmZjMzY3NSIsImF1ZCI6IjAwMDAwMDAzLTAwMDAtMGZmMS1jZTAwLTAwMDAwMDAwMDAwMC9yc3BjYWFjdC5zaGFyZXBvaW50LmNvbUA5OWRjZDU1OC1kN2EwLTQ1ZGYtYjYzOC05MDBhNTAzY2Q0MDYiLCJleHAiOiIxNzIxNzQ2ODAwIn0.CgoKBHNuaWQSAjg0EgYI4rA6EAEaDDQwLjEyNi4zOC4zNiosa0lZS0pGREw2b2h1SWUrU1NMeWNlTnphb1g2MEFvVW1LWTBKOWRrVnoyND0wnAE4AUoQaGFzaGVkcHJvb2Z0b2tlbnIpMGguZnxtZW1iZXJzaGlwfDEwMDMyMDAxNWFhNTE3NjdAbGl2ZS5jb216ATKCARIJWNXcmaDX30URtjiQClA81AaiAR9jcmVkdGVjaG1hc3RlckByc3BjYS1hY3Qub3JnLmF1qgEQMTAwMzIwMDE1QUE1MTc2N7IBmgFteWZpbGVzLnJlYWQgYWxsZmlsZXMucmVhZCBteWZpbGVzLndyaXRlIGFsbGZpbGVzLndyaXRlIG15YXBwZm9sZGVyLndyaXRlIGFsbHNpdGVzLnJlYWQgYWxsc2l0ZXMud3JpdGUgYWxscHJvZmlsZXMucmVhZCBhbGxwcm9maWxlcy5yZWFkIGFsbHByb2ZpbGVzLndyaXRl.zT6bzLIn7fRl3TVIMU_Zck7rvurDGOOkS_rIV19cjmI%26version%3DPublished&width=800&height=800&cb=63857329251", "Name": "Screenshot 2024-07-23 at 13.36.19.png", "Is_Primary__c": false, "Is_Deleted__c": false, "Folder_Name__c": "A100023_staging-photos", "File_ID__c": "01UUHX7T7QULMDAPA4PZALKS7WRKKO6K57", "Id": "a3wIo000000GpA7IAK", "animalos_Animal__c": "a3aIo000000XzM4IAK" } ], "animalos__Type__c": "Dog", "animalos__Status__c": "Returned Home", "animalos__Size__c": "Large", "animalos__Secondary_Colour__c": "Gold", "animalos__Primary_Colour__c": "Black", "animalos__Primary_Breed__c": "a3cIo000000DCALIA4", "animalos__Neutered_Spayed__c": false, "animalos__Gender__c": "Male", "animalos__Date_of_Birth__c": "2005-11-09", "animalos__Animal_Name__c": "Max", "Senior_Pet__c": true, "Name": "A100023", "Longterm_Resident__c": false, "LastModifiedDate": "2024-07-25T16:15:12.000Z", "Id": "a3aIo000000XzM4IAK", "Age_for_Adoption_Website__c": "18 Years 8 Months", "Adoption_EOI_Required__c": false } ] }

 

Get Access Token Request

For setting the {{access_token}} variable the Get Access Token request must be sent.

Sample Get Access Token request (Node.js - Request)
var request = require('request'); var options = { 'method': 'POST', 'url': '{{AccessTokenURL}}', 'headers': { }, form: { 'grant_type': 'password', 'client_id': '{{SF_Client_ID}}', 'client_secret': '{{SF_Client_Secret}}', 'username': '{{SF_Username}}', 'password': '{{SF_Password}}' } }; request(options, function (error, response) { if (error) throw new Error(error); console.log(response.body); });

Sample Response

Get Shelters

A collection of queries Shelters

Sample RetrieveShelters Request (Node.js - Request)

Replace {{Variable_Name}} with the variable value provided in the table above.

To enter required date in request replace YYYY-MM-DD with your date. 

Example: 2022-08-17

Request Parameters

PARAM

EXAMPLE

NOTES

LastModifiedDate (YYYY-MM-DD)

2021-09-02

 

Sample Response

 

 

 

Related content

Foster Carer Portal
Foster Carer Portal
More like this
Sharepoint Integration - File Management Guide
Sharepoint Integration - File Management Guide
Read with this
PetRescue Integration
PetRescue Integration
More like this
EzyVet
Read with this
Adoptions
More like this
Partner Portal
Read with this