Beacon Web Services


PEAK 15 exposes its data and functionality via a series of Web Services called Beacon. This document is the official reference for that functionality. Beacon supports a RESTful interface, which means you can send an HTTP GET or POST to call exposed methods, and you'll get back an XML document in return.


NOTE: We recommend using HTTP POST method for all calls.  This allows you to send parameters including the token in the payload of the message which increases security.  


The PEAK 15 data model is comprised of numerous entities. Entities contain attributes and entities are linked to each other by relationships. For example, the contact entity (i.e., table) includes a first name and last name attribute (i.e., column).  The only other required attribute to create a contact in PEAK 15 is contact type which is used to identify whether the contact is, for example, a prospect versus a client.


Simple "Hello World" Example

Copy and paste the following URL into your browser; substitute the token provided to your organization in place of the text "yourtokenhere" and hit ENTER. If you don't have a token, please contact support.

 

POST /beacon/service.svc/insert/entity/contact HTTP/1.1
Host: data.peak15systems.com
Content-Type: application/x-www-form-urlencoded

token=your-token-here
&firstname=Hello
&lastname=World
&p15_contacttype_contactid=Prospect



The response you get back will the Globally Unique ID (aka GUID) for the new contact and will look like this:


E8064816-EB23-DE11-8408-005056B97005


Now use the following URL to get back all the attributes of that record like this:


POST /beacon/service.svc/get/your-orgname-here/entity/contact HTTP/1.1
Host: data.peak15systems.com
Content-Type: application/x-www-form-urlencoded

token=your-token-here
&contactid=your-GUID-here



The response you get back will be an XML representation of the contact.


<?xml version="1.0" encoding="utf-8"?>
<resultset morerecords="0" paging-cookie="<cookie page=&quot;1&quot;><contactid last=&quot;{FA2D2B53-9F4E-EE11-810F-00155D0267B3}&quot; first=&quot;{FA2D2B53-9F4E-EE11-810F-00155D0267B3}&quot; /></cookie>">
    <result>
        <firstname>Hello</firstname>
        <lastname>World</lastname>
        <modifiedby yomi="Demo User" name="Demo User" dsc="" type="8">{6A768E37-868B-E311-859A-005056A43397}</modifiedby>
        <marketingonly name="No">0</marketingonly>
        <yomifullname>Hello World</yomifullname>
        <createdon date="9/8/2023" time="4:27 PM">2023-09-08T16:27:53-07:00</createdon>
        <donotbulkpostalmail name="Allow">0</donotbulkpostalmail>
        <p15_contacthouseholdid dsc="" yomi="Hello World" name="Hello World" type="4">{002E2B53-9F4E-EE11-810F-00155D0267B3}</p15_contacthouseholdid>
        <p15_preferredfullname>Hello World</p15_preferredfullname>
        <modifiedon date="9/8/2023" time="4:34 PM">2023-09-08T16:34:06-07:00</modifiedon>
        <owninguser type="8">{96D6BF8D-D69D-E411-B8A5-0050569D1C13}</owninguser>
        <donotpostalmail name="Allow">0</donotpostalmail>
        <ownerid dsc="" yomi="Beacon User" name="Beacon User" type="8">{96D6BF8D-D69D-E411-B8A5-0050569D1C13}</ownerid>
        <contactid>{FA2D2B53-9F4E-EE11-810F-00155D0267B3}</contactid>
        <p15_contacttype_contactid name="Prospect" dsc="" type="10022">{13E82A86-7916-DF11-AE74-005056BA297F}</p15_contacttype_contactid>
        <statecode name="Active">0</statecode>
        <statuscode name="Active">1</statuscode>
        <owningbusinessunit type="10">{B3734A5B-2761-E311-BA34-005056A43397}</owningbusinessunit>
        <createdby yomi="Beacon User" dsc="" name="Beacon User" type="8">{96D6BF8D-D69D-E411-B8A5-0050569D1C13}</createdby>
        <fullname>Hello World</fullname>
        <p15_contactnumber formattedvalue="1,908">1908</p15_contactnumber>
        <p15_preferredname>Hello</p15_preferredname>
    </result>
</resultset>