Wiki

Case Status Kiln
Log In

Wiki

 
JSON Push API
  • RSS Feed

Last modified on 10/7/2014 10:51 AM by User.

Tags:

JSON Push API

The JSON push api allows third party software to push death records to the FuneralTech CMS.  This API allows a single record to be created/updated in the CMS per call.  The API allows the following information to be pushed to the CMS for a deceased person.

NOTE: Only id, customerId, firstName and lastName are required.

  • id - Unique id of the record, we recommend a Guid for this if you plan on pushing record from multiple systems to avoid the same id being used twice by accident.
  • customerId - Secret key given to you by funeral tech that allows the third party software push to the CMS.
  • firstName
  • lastName
  • middleName
  • nickName
  • dateOfBirth
  • gender - Single character, either m or f.
  • obituary - May have multiple lines.  Use \n for line breaks.
  • dateOfDeath
  • tributeTypeId - This is any of the available tribute theme types that are available.  The tribute type themes must be configured with the CMS in order to be available.  The list of available types is listed below in the tribute theme id. (Coming soon)
  • tributeThemeId - The id of the tribute theme.  A complete list of themeIds and thumbnails for North America can be found hereUK, Ireland and Australia theme packs are also available.
  • placeOfDeath - Location the deceased passed away.
  • familyEmailAddresses
  • sites - Sites the records should show up in.  If left empty, the record will show up in all sites.
  • visitations
  • services
  • interments
  • tributeLinks - A list of custom links for the tribute page.
  • images - A list of images for the deceased in base64 format.   Acceptable formats are jpeg, jpg, bmp, gif and png.  BMPs will be converted to jpgs.
  • locationId - Specify the location you want the record to belong to.  In order to get a list of locations, use the get-locations action defined below

NOTE: You may have as many services, visitations and interments as you wish, there are no limits on the size of any collection in the JSON.

When posting this data to the importer page, if any of the properties listed above are missing, they are assumed to be null, and null is the value used in storing the information.

So you can see the format required for each of the above properties, attached is an example JSON file that contains values for all of the above properties.  example-record.json

The file is very large as it contains two images in base64 format.

We have also attached a file that contains an example of the response JSON.

example-response.json

Posting the Record

Along with your customerId the Funeral Tech staff will also provide you with a URL to the CMS the record will push to.  For the purposes of this tutorial we use testcms.funeraltechweb.com as the address of our CMS, so the URL you must post your JSON to will be https://testcms.funeraltechweb.com/arrangement/record-import.html.  You may use http if you wish, but I recommend https since you are sending the customerId across which is like a password.

When you post the JSON your request's Content-Type must be application/json.

Based on the data you have sent, the service will return 1 of the following codes.

  • 200 - The record was successfully posted to the CMS.
  • 400 - The JSON you sent was in an invalid format OR you did not provide the minimum data required. (id, customerId, firstName, lastName).
  • 401 - Unauthorized response code is returned if the customerId does not match what the CMS expects
  • 500 - An error has occurred.  The only way this could happen is if an invalid file type was sent.

Along with the code you will also get a list of Strings back in JSON format.  If the response was a 200 response, these will be warning messages warning you that some of the data sent was invalid and therefore not used.  If the response code was anything other than 200, then these messages will be errors explaining what went wrong.

Create vs Edit

The id you send is used by the CMS to identify the death record already in the system.  If the CMS cannot find a record associated with that id, it will create a new record, otherwise it will use the data sent to update the existing record.  Please note that ALL data must be included with every edit request.  If you send only part of the data the CMS will assume that the data not included is supposed to be deleted and will do so, this includes images.

Getting locations

In order to get a list of locations just go to the following URL.

https://testcms.funeraltechweb.com/arrangement/record-import.html?action=get-locations&customerId=<customer id>

This will return a list of location ids with their name in JSON format. e.g.

[{ id: 1, name="Location 1"}, {id: 2, name="Location 2"}]

JSON Parser

In order to integrate you will need a good JSON utility for serialization and deserialization.  For this I recommend you make use of GSON.