Introduction
Welcome to the ezyVet Standard Insurance Integration Beta Reference Page!
The ezyVet Standard Insurance Integration is designed around a RESTful interface and utilizes OAuth 2.0 Client Credentials grant. The webhooks accepts and returns messages in JSON-format.
Getting Started
Setting Up in ezyVet
You will need to contact ezyVet to get setup on the sandbox site. The sandbox is the site API partners will use a for building/testing their integration. ezyVet will provide the partner with the necessary credentials to use the sandbox site.
Configuring the Integration
An
Integration/Integration Setting
record must be setup in ezyVet. This record allows the partner to define the various webhooks required for the integration. This is also where the partner will input a set of credentials, such that ezyVet may make HTTP requests to the provided webhooks. Only one such record can be created for a given partner.The name of the
Integration/Integration Setting
MUST be the name of the partner. e.g. A partner calledABC
needs to make anIntegration/Integration Setting
with the nameABC
and must provide details for ONLY that setting.
NOTE: Partner's can only do this if they have sufficient access. If they do not have the required access, they must ASK whoever has access to do this.In order to make HTTP requests back to ezyVet, ensure the
Getting Started
section has been successfully completed and setup.
Settings
Setting | Description |
---|---|
Integration | This will be the name of the Integration Type , which will be the name of your API partner. E.g. Partner ABC will have the Integration Type of ABC . |
For Division | The Integration must be for a certain Separation , such that products from the supplier are only updated for that Separation . NOTE : This field is only available for sites which have multiple Separation s. |
Supplier | A new supplier Contact must be created for the Integration and then chosen as the Supplier for the Integration . |
API Partner | A partner Integration record must be chosen to ensure the API partner is correctly linked to the current Integration record. E.g. If this Integration was for partner ABC , then the partner record for ABC must be chosen. |
Access Token Endpoint | Endpoint for ezyVet to authenticate and retrieve a valid access token from the partner's web service. The received token will be included in the header of all requests made to the partner's web service. |
Policy Endpoint | ezyVet will make a POST request to this endpoint when the customer processes a data-sharing request on behalf of the client. |
Claim Endpoint | ezyVet will make a POST request to this endpoint to process an eClaim request on behalf of the client. |
Pre-Approval Endpoint | ezyVet will make a POST request to this endpoint to process a Pre-Approval request on behalf of the client. |
Fetch Species List Endpoint (optional) | ezyVet will send a GET request to this endpoint to fetch a list of available Species . The partner will need this endpoint set up listening for GET requests from ezyVet. |
Client ID | Client ID will be used to fetch an access token from the partner's web service. |
Client Secret | Client Secret will be used to fetch an access token from the partner's web service. |
Authentication
Partner Endpoints
Access Token
An endpoint which must be implemented by an API Partner. This endpoint will allow ezyVet to authenticate and use the Partner's web services (if authentication is required).
Fetch an Access Token
Sample Request: Get an
Access Token
.
var settings = {
"url": "(Access Token Endpoint)",
"method": "POST",
"headers": {
"content-type": "application/json"
},
"data": {
"client_id": "abc",
"client_secret": "def",
"grant_type": "client_credentials"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Response (JSON)
{
"access_token": "CnKAVqSqp6UBq3Ei17e1UIj2U39UuOQI1i9Db3QT",
"token_type": "Bearer"
}
HTTP Request
POST (Access Token Endpoint)
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
client_id | string | - | The client ID. |
client_secret | string | - | The client secret. |
grant_type | string | - | The grant type. |
Response Parameters
Parameter | Type | Default | Description |
---|---|---|---|
access_token | string | - | The access token. |
token_type | string | Bearer | The type of the access token. (Default of Bearer) |
Partner Policy
An endpoint which must be implemented by an API Partner. This endpoint will allow ezyVet to confirm for existing insurance policies for a client and animal GET, or to send contact and animal information for lead generation workflows POST.
Check for an existing Policy
Sample Request: Check for an existing Policy
Access Token
.
var settings = {
"url": "(Policy Endpoint)",
"method": "POST",
"headers": {
"content-type": "application/json"
},
"data": {
"offer": {
"type": "Offer",
"vet_seen": "2021-12-24T07:30:00+0000"
},
"contact": {
"code": "CA_1234",
"first_name": "Jeff",
"last_name": "Michaels",
"mobile_number": 123415151,
"home_number": 123415161,
"email": "email@email.com",
"street": "123 Street Road",
"suburb": "Suburb",
"city": "London",
"postcode": "SW152SR",
"country": "GBR"
},
"animal": {
"name": "Zippy",
"code": "AN_1234",
"dateofbirth": "2019-02-12",
"breed": "Tonkinese",
"species": "Feline",
"weight": "4.4986",
"weight_unit": "kg",
"sex": "F"
},
"callback": "https://xyz.ezyvet.com/Callback/UpdateInsuranceOffer/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9kZW1vMTAuZGV2LmV6eXZldC5jb21cLyIsImlhdCI6MTYyNjk1MD19.nLM452-6z1ztJZ8see2TSEgLMP5tWRUMxSCwMCU_zaM"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Response (JSON)
{
"supplier_status": "not_eligible"
}
HTTP Request
POST (Access Token Endpoint)
Query Parameters
Parameter | Type | Parent | Description |
---|---|---|---|
offer | json | - | Policy information |
type | string | offer | Policy type |
vet_seen | int | offer | Time(UTC ISO8601) |
contact | json | - | Contact object |
code | string | contact | Human readable code |
first_name | string | contact | First name |
last_name | string | contact | Last name |
mobile_number | int | contact | Raw mobile number content |
home_number | int | contact | Raw home number content |
string | contact | Contact's primary email | |
street | string | contact | Street Address |
suburb | string | contact | Suburb or County |
city | string | contact | City |
postcode | string | contact | Post/Zip code for address |
country | string | contact | 3-letter ISO-3166 country code |
animal | json | - | Animal object |
name | string | animal | Name |
code | string | animal | Code |
dateofbirth | string | animal | Date of Birth (Y-m-d) |
breed | string | animal | Breed |
species | string | animal | Species |
weight | string | animal | Weight |
weight_unit | string | animal | Weight units |
sex | string | animal | Sex shortcode eg: 'F' for Female |
callback | string | - | The callback URL |
Response Parameters
Parameter | Type | Default | Description |
---|---|---|---|
supplier_status | string | pending | Status of the policy offer |
Supplier Status values
Value | Description |
---|---|
pending | Pending |
already_policy_holder | Already policy holder |
not_eligible | Not Eligible |
eligible | Eligible |
exception | Exception/Error |
offer_declined | Offer Declined |
offer_accepted | Offer Accepted |
offer_cancelled | Offer Cancelled |
offer_upgraded | Offer Converted |
offer_expired | Offer Expired |
Partner Claim
An endpoint which must be implemented by an API Partner. This endpoint will allow ezyVet to send insurance claims for a client and animal along with the contact and animal information for the Claim and Benefit process workflows.
Sending an eClaim
Sample Request: Sending an eClaim
Access Token
.
var settings = {
"url": "(eClaim Endpoint)",
"method": "POST",
"headers": {
"content-type": "application/json"
},
"data": {
"status": "claim_generated",
"callback": "https://xyz.ezyvet.com/Callback/UpdateClaimRequest/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvZXo1MzY5OS51c3cyLnN0Zy5lenl2ZXQuY29tXC8iLCJpYXQiOjE2Mjk4MTIxMTAsImRhdGEiOnsiY2xhaW1faWQiOiIxMSJ9fQ.B8Gg6Gzkr4ih7lxp4MUGdvPJCOKY6SvcAlyoSJ-ah9Q",
"config": {
"InfoFromPolicyHolder": {
"PolicyDetails": {
"PolicyNumber": "INS_123456789",
"PolicyholderName": "Owner, Owner",
"Address": "",
"Postcode": "",
"Country": "",
"AddressDifferentFromPolicy": "true",
"DaytimePhone": null,
"EveningPhone": null,
"MobilePhone": null,
"EmailAddress": null,
"PreferredContactBy": "MobilePhone",
"AnimalInsuredWithCurrentProviderBefore": "true",
"OtherInsurersCoveringAnimal": []
},
"Conditions": [
{
"DateFirstNoticed": "2019-07-01",
"DateOfDeath": "2019-07-01",
"DeathDueToIllnessInjury": "false",
"Description": "Continuation eosinophilic enteritis",
"RepeatIllnessInjury": "true"
}
],
"AnimalDetails": {
"Name": "Patient Name",
"PedigreeName": "",
"Species": "Feline (Cat)",
"Breed": "Abyssinian",
"DateOfBirth": "2017-08-25",
"Gender": "M",
"Colour": "Apricot",
"MicrochipNumber": "123456789"
},
"Financial": {
"PayVet": true
}
},
"InfoFromVet": {
"Miscellaneous": {
"AnimalRegistered": "2021-08-25",
"LastVaccination": "1970-01-01",
"MicrochipNumber": "",
"GeneralRemarks": "",
"ClaimHandler": {
"Name": "Vet Name",
"Phone": "",
"Email": "vet@xyz.com"
}
},
"Conditions": [
{
"ConditionCode" : "",
"DiagnosisOrSigns": "signs",
"ConsultationNotes" : "",
"Remarks" : "",
"ClaimContinuation": "false",
"ClaimReferenceNumber": "CLAIM-IC11",
"Started": "2021-08-25",
"DeathOrEuthanasia": "false",
"PutDownByRecomendation": "false",
"OngoingCondition": false,
"CremationCost": 0,
"EuthanasiaReason": "",
"TreatmentDates": {
"DateFrom": "2021-08-25",
"DateTo": "2021-08-25"
},
"SeenBeforeRelated": {
"Description": "",
"TreatmentDates": {
"DateFrom": "",
"DateTo": ""
}
},
"HouseVisitAndOOH": {
"HouseVisit": "false",
"HouseVisitReason": "",
"OutOfHours": "false",
"OutOfHoursReason": ""
},
"Financial": {
"TotalDiscountExTax": -1.2,
"TotalExTax": 10.4,
"TotalIncTax": 10.4,
"Tax": 0,
"Invoices": [
{
"Date": "2021-08-25",
"InvoiceNumber": "123456",
"Items": [
{
"Description": "Trivetrin 100ml",
"Type": "TestMedications - Injectable",
"AmountExTax": 10.4,
"Quantity": 1
}
],
"TotalDiscountExTax": -1.2,
"TotalExTax": 10.4,
"TotalIncTax": 10.4,
"Tax": 0
}
]
}
}
],
"Vet": {
"VetSurname": "<VET_SURNAME>",
"VetForenames": "",
"VetPosition": "",
"VetEmailAddress": "vet@xyz.com",
"PracticeName": "<PRACTICE_NAME>",
"PracticeID": "112233",
"PracticeAddress": "<PRACTICE_ADDRESS>",
"PracticePostcode": "111111",
"PracticePhone": null
},
"Attachments": [
{
"AttachmentID": null,
"ContentLength": "75763",
"ContentType": "application/pdf",
"ContentUploadMethod": "base64",
"ContentBinary": "data:application/pdf;base64,<BASE64_ENCODED_STRING>",
"Description": "Animal_Clinical_Summary.pdf"
},
{
"AttachmentID": null,
"ContentLength": "75825",
"ContentType": "application/pdf",
"ContentUploadMethod": "base64",
"ContentBinary": "data:application/pdf;base64,<BASE64_ENCODED_STRING>",
"Description": "Consult_Summary.pdf"
},
{
"AttachmentID": null,
"ContentLength": "73271",
"ContentType": "application/pdf",
"ContentUploadMethod": "base64",
"ContentBinary": "data:application/pdf;base64,<BASE64_ENCODED_STRING>",
"Description": "Consult_Invoice.pdf"
}
],
"Referrals": [],
"AnimalClinicalHistory": []
}
}
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Response (JSON)
200 OK
Unsuccessful Response (JSON)
{
"code": "400",
"message": "Bad request. Please send a valid Animal name."
}
HTTP 4xx e.g. 400
Optional Response (JSON)
{
"Status": "(Please see Claim Status values provided)"
}
200 OK
HTTP Request
POST (Access Token Endpoint)
Query Parameters
InfoFromPolicyHolder
Contains information about the contact, animal and conditions determined by the owner.
PolicyDetails
Information about the contact/pet owner the claim is for.
Parameter | Type | Parent | Description |
---|---|---|---|
PolicyNumber | string | animal | Insurance policy number for the animal |
PolicyholderName | string | contact | Animal's owner name |
Address | string | contact | Address for the pet owner |
Postcode | string | contact | Postcode for the pet owner |
Country | string | contact | 3-letter ISO-3166 country code |
AddressDifferentFromPolicy | bool | contact | Set to 'true' if address is different then mentioned on the policy |
DaytimePhone | string | contact | Daytime contact number |
EveningPhone | string | contact | Evening contact number |
MobilePhone | string | contact | Mobile contact number |
EmailAddress | string | contact | Owners's email address |
PreferredContactBy | string | contact | Owners's preferred contact method |
AnimalInsuredWithCurrentProviderBefore | bool | contact | Set to 'true' if previously insured |
OtherInsurersCoveringAnimal | json | animal | List of other insurers covering this animal |
Conditions
Can be a list of information based upon the animal and the reason they were brought to the vet clinic.
Parameter | Type | Parent | Description |
---|---|---|---|
DateFirstNoticed | date | - | Date when the condition was first noticed |
DateOfDeath | date | - | Date of Death if applicable |
DeathDueToIllnessInjury | bool | - | Set to 'true' if death is due to an illness/injury |
Description | string | - | Textual description of the condition |
RepeatIllnessInjury | bool | - | Set to 'true' if this is a repeat illness/injury |
AnimalDetails
Information about the animal the claim is for.
Parameter | Type | Parent | Description |
---|---|---|---|
Name | string | animal | Animal name |
PedigreeName | string | animal | Animal pedigree name |
Species | string | animal | Animal species |
Breed | string | animal | Animal breed |
DateOfBirth | date | animal | Animal Date of birth |
Gender | string | animal | Animal gender |
Colour | string | animal | Animal colour |
MicrochipNumber | string | animal | Animal microchip number |
Financial
Information regarding whether the claim should be paid to the clinic directly.
Parameter | Type | Parent | Description |
---|---|---|---|
PayVet | bool | claim | Set to true if the clinic should be paid directly |
InfoFromVet
Miscellaneous
This contains general information about the animal and the person who is processing the claim. The ClaimHandler doesn’t have to be the case owner for the consults that are being claimed for.
Parameter | Type | Parent | Description |
---|---|---|---|
AnimalRegistered | date | animal | Date the animal was registered |
MicrochipNumber | string | animal | Animal's microchip number |
GeneralRemarks | string | animal | Remarks from the Vet |
ClaimHandler | json | vet | Name/Phone/Email of the Vet |
Conditions
These are determined by the consults that are linked to the claim inside of ezyVet. From there the information is broken down to specify information about the reason for the hospital visit and what/why the consult resulted to.
Parameter | Type | Parent | Description |
---|---|---|---|
ConditionCode | string | consult | Code relating to the condition |
DiagnosisOrSigns | string | consult | Any diagnosis/signs detected |
ConsultationNotes | string | consult | Vet's consultation notes |
Remarks | string | consult | Vet's remarks |
ClaimContinuation | bool | consult | 'false' by default |
ClaimReferenceNumber | string | consult | Reference number for the Claim |
Started | date | consult | Date the condition started |
DeathOrEuthanasia | bool | consult | Set to 'true' if Euthanised |
PutDownByRecomendation | bool | consult | Set to 'true' if Euthanisation was recommended |
OngoingCondition | bool | consult | Set to 'true' if this is a recurring condition |
CremationCost | int | consult | Cost for the Cremation if applicable |
EuthanasiaReason | string | consult | Reason for Euthanisation |
TreatmentDates | json | consult | Date range for which this animal received treatment |
SeenBeforeRelated | json | consult | Details if it relates to a previous consultation |
HouseVisitAndOOH | json | consult | Details in case it is a house visit call |
Financial | json | invoice | Consists of an object of financial information. This will include the Invoice details(Invoice number/Date/Items invoiced) |
Vet
Information about the Vet who was the case owner for the consults inside. This also contains information about the Vet Clinic too.
Parameter | Type | Parent | Description |
---|---|---|---|
VetSurname | string | vet | Vet's Surname |
VetForenames | string | vet | Vet's Forenames |
VetPosition | string | vet | Vet's Position |
VetEmailAddress | string | vet | Vet's Email address |
PracticeName | string | - | Name of the clinical practice |
PracticeID | string | - | Id of the clinical practice |
PracticeAddress | string | - | Address for the clinical practice |
PracticePostcode | string | - | Postcode for the clinical practice |
PracticePhone | string | - | Contact number for the clinical practice |
Attachments
This is a list of attachments that are linked with the claim and the automatically generated pdf’s for the clinical summaries and invoices that are on the claim. These contain a base64 of the content for the request that is sent to the 3rd party.
Parameter | Type | Parent | Description |
---|---|---|---|
AttachmentID | string | - | Id for the Attachment |
ContentLength | string | - | Size of the attachment file in bytes |
ContentType | string | - | Document mime-type (application/pdf,image/png) |
ContentUploadMethod | string | - | Upload format for the file |
ContentBinary | string | - | Actual file content in string format |
Description | string | - | Name of file |
Claim Status values
Value | Description |
---|---|
claim_generated | Claim has been generated. |
claim_invalid | Claim data sent is not accepted by insurer. |
claim_received | Claim has been received by the insurance supplier but no assessment has been made. |
claim_processing | Claim is actively being looked at by insurer. |
claim_needs_info | Claim needs further information. Communication necessary between vet and insurer. |
claim_approved | Claim has been approved by the insurer. |
claim_settled | Claim settlement payment has been made. |
claim_declined | Claim is declined by insurer. |
claim_acknowledged | Claim is Acknowledged |
claim_cancelled | Claim is cancelled by ezyVet. |
Partner Pre-Approval
An endpoint which must be implemented by an API Partner. This endpoint will allow ezyVet to send an insurance pre-approval. A preapproval is an insurance claim being filed for an estimate/quotation before the client has been billed or treatment has started on the animal.
Sending a Preapproval
Sample Request (JSON)
var settings = {
"url": "Preapproval Endpoint",
"method": "POST",
"headers": {
"content-type": "application/json"
},
"body": {
"status": "preapproval_generated",
"callback": "https://site_id.ezyvet.com/Callback/UpdateInsuranceRecord/uh75h72n7393o44.uer9293j3nunu9.io31kedxme",
"config": {
"InfoFromPolicyHolder": {
"PolicyDetails": {
"PolicyNumber": "INS_123456789",
"PolicyholderName": "Owner, Owner",
"Address": "",
"Postcode": "",
"AddressDifferentFromPolicy": "true",
"DaytimePhone": null,
"EveningPhone": null,
"MobilePhone": null,
"EmailAddress": null,
"PreferredContactBy": "MobilePhone",
"AnimalInsuredWithCurrentProviderBefore": "true",
"OtherInsurersCoveringAnimal": []
},
"AnimalDetails": {
"Name": "Patient Name",
"PedigreeName": "",
"Species": "Feline (Cat)",
"Breed": "Abyssinian",
"DateOfBirth": "2017-08-25",
"Gender": "M",
"Colour": "Apricot",
"MicrochipNumber": "123456789"
},
"Conditions": [{
"DateFirstNoticed": "",
"DeathDueToIllnessInjury": "",
"RepeatIllnessInjury": "",
"DateOfDeath": "2022-05-01",
"Description": "Animal Condition - Vet's Remark"
}]
},
"InfoFromVet": {
"Conditions": [{
"Remarks": "",
"Financial": {
"TotalDiscountExTax": 0,
"TotalExTax": 10.4,
"TotalIncTax": 10.4,
"Tax": 0,
"Quotations": [{
"Date": "2021-08-25",
"QuotationNumber": "123456",
"Items": [{
"Description": "Trivetrin 100ml",
"Type": "Test Medications - Injectable",
"Quantity": 1,
"AmountExTax": 10.4,
"Tax": 10.4,
"DiscountExTax": 0
}],
"TotalDiscountExTax": 0,
"TotalExTax": 10.4,
"TotalIncTax": 10.4,
"Tax": 0
}]
}
}],
"ClaimHandler": {
"Name": "Ezy Support",
"Phone": "",
"Email": "support@ezyvet.com"
}
},
"Vet": {
"VetSurname": "Ezy Support",
"VetForenames": "",
"VetPosition": "",
"VetEmailAddress": "support@ezyvet.com",
"PracticeName": "devs-Development",
"PracticeID": "master",
"PracticeAddress": "19\nHopetown Street\nTBC\nAuckland, 1010, Auckland",
"PracticePostcode": "1010",
"PracticePhone": null
}
}
}
}
Response (JSON)
200 OK
Unsuccessful Response (text/html)
Error message. e.g. ("Cannot process this request.")
HTTP 4xx e.g. 400
Optional Response (JSON)
{
"Status": "The status given by the Partner",
"Remarks": "Any remarks given by the Partner"
}
200 OK
Query Parameters
InfoFromPolicyHolder
Contains information about the contact, animal and conditions determined by the owner.
PolicyDetails
Information about the contact/pet owner the preapproval is for.
Parameter | Type | Parent | Description |
---|---|---|---|
PolicyNumber | string | animal | Insurance policy number for the animal |
PolicyholderName | string | contact | Animal's owner name |
Address | string | contact | Address for the pet owner |
Postcode | string | contact | Postcode for the pet owner |
AddressDifferentFromPolicy | bool | contact | Set to 'true' if address is different then mentioned on the policy |
DaytimePhone | string | contact | Daytime contact number |
EveningPhone | string | contact | Evening contact number |
MobilePhone | string | contact | Mobile contact number |
EmailAddress | string | contact | Owners's email address |
PreferredContactBy | string | contact | Owners's preferred contact method |
AnimalInsuredWithCurrentProviderBefore | bool | contact | Set to 'true' if previously insured |
OtherInsurersCoveringAnimal | json | animal | List of other insurers covering this animal |
AnimalDetails
Information about the animal the preapproval is for.
Parameter | Type | Parent | Description |
---|---|---|---|
Name | string | animal | Animal name |
PedigreeName | string | animal | Animal pedigree name |
Species | string | animal | Animal species |
Breed | string | animal | Animal breed |
DateOfBirth | date | animal | Animal Date of birth. YYYY-MM-DD |
Gender | string | animal | Animal gender |
Colour | string | animal | Animal colour |
MicrochipNumber | string | animal | Animal microchip number |
Conditions
Can be a list of information based upon the animal and the reason they were brought to the vet clinic.
Parameter | Type | Parent | Description |
---|---|---|---|
DateFirstNoticed | date | - | Date when the condition was first noticed. Format is year/month/day |
DeathDueToIllnessInjury | bool | - | Set to 'true' if death is due to an illness/injury |
RepeatIllnessInjury | bool | - | Set to 'true' if this is a repeat illness/injury |
DateOfDeath | date | animal | Date of Death if applicable. Format is year/month/day |
Description | string | - | Textual description of the condition / Vet Remarks |
InfoFromVet
Conditions
These are determined by the consults that are linked to the preapproval inside of ezyVet. From there the information is broken down to specify information about the reason for the hospital visit and what/why the consult resulted to.
Parameter | Type | Parent | Description |
---|---|---|---|
Remarks | string | consult | Vet's remarks |
Financial | json | invoice | Consists of an object of financial information. This will include the Invoice details(Invoice number/Date/Items invoiced) |
ClaimHandler | json | vet | Consists of claim handler details |
Vet
Contains information about the assigned vet/user creating the preapproval
Parameter | Type | Parent | Description |
---|---|---|---|
VetSurname | string | vet | Vet's Forenames |
VetPosition | string | vet | Vet's Position |
VetEmailAddress | string | vet | Vet's email |
PracticeName | string | - | Practice Name |
PracticeID | string | - | Practice ID |
PracticeAddress | string | - | Practice Address |
PracticePostcode | string | - | Practice Postcode |
PracticePhone | string | - | Practice Phone |
PreApproval Status values
Value | Description |
---|---|
preapproval_generated | Pre-Approval has been generated. |
preapproval_invalid | Pre-Approval data sent is not accepted by insurer. |
preapproval_received | Pre-Approval has been received by the insurance supplier but no assessment has been made. |
preapproval_processing | Pre-Approval is actively being looked at by insurer. |
preapproval_needs_info | Pre-Approval needs further information. Communication necessary between vet and insurer. |
preapproval_covered | Pre-Approval will be covered by insurer. |
preapproval_not_covered | Pre-Approval will not be covered by insurer. |
preapproval_error | Pre-Approval is in an error state |
preapproval_cancelled | Pre-Approval is cancelled by ezyVet. |
Partner Species/Breed
An endpoint which can be implemented by an API Partner.
This endpoint will allow ezyVet to fetch a list of Animal Species
.
Fetch Partner Species/Breed
Sample Request: Get a list of
Animal Species
.
var settings = {
"url": "(Fetch Species List Endpoint)",
"method": "GET",
"headers": {
"content-type": "application/json",
"authorization": "Bearer token12345 (only if access token required)"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Response (JSON)
{
"species": [
{
"code": "CANINE",
"name": "Canine",
"breeds": [
{
"code": "LABRADOR_RETRIEVER",
"name": "Labrador Retriever"
},
{
"code": "PUG",
"name": "Pug"
}
]
},
{
"code": "EQUINE",
"name": "Equine",
"breeds": [
{
"code": "BELGIAN_HORSE",
"name": "Belgian Horse"
},
{
"code": "THOROUGHBRED",
"name": "Thoroughbred"
}
]
}
]
}
HTTP Request
GET (Fetch Species List Endpoint)
Response Parameters
Parameter | Type | Default | Parent | Description |
---|---|---|---|---|
species | list | - | - | A List of species. |
code | string | - | species | The code of the species. |
name | string | - | species | The name of the species. |
breeds | list | - | species | A List of breeds related to the species. |
code | string | - | breeds | The code of the breed. |
name | string | - | breeds | The name of the breed. |
CallBack Urls
Policy Callback
When ezyVet POST
s a request to the Partner Policy endpoint, ezyVet will include a Callback
URL.
The partner shall use this Callback
URL to POST
a request to ezyVet to update the status of the policy offer
and update the Animal's Insurance Policy Number.
Sample Request: Using Callback URL
var settings = {
"url": "(ezyVet Callback URL)",
"method": "POST",
"headers": {
"content-type": "application/json"
},
"data": {
"supplier_status": "eligible",
"insurance_number": "123456789"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Response (JSON)
200 OK
Unsuccessful Response (text/html)
Error message. e.g. ("Cannot process request.")
HTTP 4xx e.g. 400
HTTP Request
POST (Callback URL)
Callback Urls will have the following structure:
https://<site domain>/Callback/UpdateInsuranceOffer/<unique hash>
Query Parameters
Parameter | Type | Description |
---|---|---|
supplier_status | string | Status of the policy offer |
insurance_number | string | Animal's Insurance Number |
Supplier Status values
Value | Description |
---|---|
pending | Pending |
already_policy_holder | Already policy holder |
not_eligible | Not Eligible |
eligible | Eligible |
exception | Exception/Error |
offer_declined | Offer Declined |
offer_accepted | Offer Accepted |
offer_cancelled | Offer Cancelled |
offer_upgraded | Offer Converted |
offer_expired | Offer Expired |
Claim Callback
When ezyVet POST
s a request to the Partner eClaim endpoint, ezyVet will include a Callback
URL.
The partner shall use this Callback
URL to POST
a request to ezyVet to update the status of the claim (mandatory)
and to send back any remittance or benefit financial information for processing the Claim.
Sample Request: Using Callback URL
var settings = {
"url": "(ezyVet Callback URL)",
"method": "POST",
"headers": {
"content-type": "application/json"
},
"data": {
"Status": "claim_settled", <required>
"Financial": { <optional>
"Benefit": { <optional>
"BenefitAmount": "32.99", <required if object provided>
"Remarks": "Benefit Remarks", <optional>
"Description": "Benefit Description" <optional>
},
"VetFee": { <optional>
"FeeIncludingTax": "2.20", <required if object provided>
"Tax": "0.20", <required if object provided>
"Remarks": "Standard Fee for Claim Processing" <optional>
},
"RemittanceRecords": [ <optional>
{
"RemittanceNumber": "ABC123456789", <required if object provided>
"PaidAmount": "30.25" <required if object provided>
}
]
}
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Response (JSON)
200 OK
Unsuccessful Response (JSON)
{
"code": "400",
"message": "The request was malformed, the action cannot be executed."
}
HTTP 4xx e.g. 400
HTTP Request
POST (Callback URL)
Callback Urls will have the following structure:
https://<site domain>/Callback/UpdateClaimRequest/<unique hash>
Query Parameters
Parameter | Type | Required? | Description |
---|---|---|---|
Status | string | required | The claim status update with the text according to the list below |
Financial | json | optional | General container for financial updates |
Financial>>Benefit | json | optional | Containing benefit amounts and potential remarks. Can be used for all claims but not tracked. Remarks are currently not tracked in ezyVet but might be logged. |
-- BenefitAmount | float(2 decimals) | required if object provided | Benefit amount |
-- Remarks | string | optional | Additional comments relating to the Benefit amount |
-- Description | string | optional | Details on benefit amount, displays on the ezyVet UI |
Financial>>VetFee | json | optional | If present, a fee levied against clinics for each claim processed. Remarks and Tax amounts are currently not tracked in ezyVet but might be logged. |
-- FeeIncludingTax | float(2 decimals) | required if object provided | Total Vet Fee levied including tax |
-- Tax | float(2 decimals) | required if object provided | Tax amount for the Vet Fee |
-- Remarks | string | required | Any textual information relating to the VetFee amount |
Financial>>RemittanceRecords | json | optional | List of bank transactions and their reference number when paying the insurance payments. Remittance records are only encouraged when the clinic is paid, which is needed for the reconciliation process. Paying clients directly does not warrant a remittance record. |
-- RemittanceNumber | string | required if object provided | Remittance reference number |
-- PaidAmount | float(2 decimals) | required if object provided | Remittance amount |
Claim Status values
Value | Description |
---|---|
claim_generated | Claim has been generated. |
claim_invalid | Claim data sent is not accepted by insurer. |
claim_received | Claim has been received by the insurance supplier but no assessment has been made. |
claim_processing | Claim is actively being looked at by insurer. |
claim_needs_info | Claim needs further information. Communication necessary between vet and insurer. |
claim_approved | Claim has been approved by the insurer. |
claim_settled | Claim settlement payment has been made. |
claim_declined | Claim is declined by insurer. |
claim_acknowledged | Claim is Acknowledged |
claim_cancelled | Claim is cancelled by ezyVet. |
Preapproval Callback
When ezyVet POST
s a request to the Partner preapproval endpoint, ezyVet will include a Callback
URL.
The partner shall use this Callback
URL to POST
a request to ezyVet to update the status of the preapproval offer .
Sample Request: Using Callback URL
var settings = {
"url": "(ezyVet Callback URL)",
"method": "POST",
"headers": {
"content-type": "application/json"
},
"data": {
"Status": "preapproval_generated",
"Remarks": "nothing to add" <optional>
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Response (JSON)
200 OK
Unsuccessful Response (JSON)
{
"code": "400",
"message": "The request was malformed, the action cannot be executed."
}
HTTP 4xx e.g. 400
HTTP Request
POST (Callback URL)
Callback Urls will have the following structure:
https://<site domain>/Callback/UpdateInsuranceRecord/<unique hash>
Query Parameters
Parameter | Type | Required? | Description |
---|---|---|---|
Status | string | required | The preapproval status update with the text according to the list below |
Remarks | string | optional | Any textual information relating to the preapproval |
PreApproval Status values
Value | Description |
---|---|
preapproval_generated | PreApproval has been generated. |
preapproval_invalid | PreApproval data sent is not accepted by insurer. |
preapproval_received | PreApproval has been received by the insurance supplier but no assessment has been made. |
preapproval_processing | PreApproval is actively being looked at by insurer. |
preapproval_needs_info | PreApproval needs further information. Communication necessary between vet and insurer. |
preapproval_covered | Preapproval will be covered by insurer. |
preapproval_not_covered | Preapproval will not be covered by insurer. |
preapproval_error | Preapproval is in an error state |
preapproval_cancelled | PreApproval is cancelled by ezyVet. |
Sign Up Callback
When ezyVet POST
s a request to the Partner signup endpoint, ezyVet will include a Callback
URL.
The partner shall use this Callback
URL to POST
a request back to ezyVet to update the credentials for the Sign Up request.
Sample Request: Using Callback URL
var settings = {
"url": "(ezyVet Callback URL)",
"method": "POST",
"headers": {
"content-type": "application/json"
},
"data": {
"client_id": "<CLIENTID>",
"client_secret": "<CLIENTSECRET>",
"grant_type": "client_credentials"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
Response (JSON)
200 OK
Unsuccessful Response (JSON)
{
"code": "400",
"message": "The request was malformed, the action cannot be executed."
}
HTTP 4xx e.g. 400
HTTP Request
POST (Callback URL)
Callback Urls will have the following structure:
https://<site domain>/Callback/CompleteSignUp/<unique hash>
Query Parameters
Parameter | Type | Required? | Sample Value | Description |
---|---|---|---|---|
client_id | string | required | 6779ef20e75817b79602 | The clientid value for the credentials |
client_secret | string | required | Gfiei7dkducoFqNifNqc5L5Q66P95ZqdlIkJoMOU | The client secret value for the credentials |
grant_type | string | required | client_credentials | The grant type value. We will only accept value 'client_credentials' |