HomeAPI DocumentationPrinter Friendly Version

API Documentation

This book covers all things API related.

1. Example API Request

1.1. api/Directory

The following example is an API request to the Directory API method using Postman.

1.2. api/Registration

The following example is an API request to the Registration API method using Postman.

1.3. api/FileUpload

The following example code shows how to make a request to the FileUpload API method.

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>File Upload</title>
    <meta content="width=device-width, initial-scale=1.0" name="viewport">
</head>

<body>

    <div style="font-size: 18pt;">
        <span id="spanlogofile">Click to upload new logo</span>
        <div id="orglogo" style="margin-top: 10px;"></div>
        <input type="file" id="logofile" />
    </div>

    <!-- JavaScript Libraries -->
    <script src="lib/jquery/jquery.min.js"></script>
    <script src="lib/jquery/jquery-migrate.min.js"></script>
    <script src="js/fileupload.js"></script>

</body>
</html>

 

Javascript

$(document).ready(function () {

    var baseurl = "https://web-integration-v3.rubicrm.com/";
    var apikey = <YOUR-API-KEY>;
    var uid = <YOUR-UID>;
    
    var myitems = [];
    myitems.push(uid);
    myitems.push('UserCompany');
    var myvalues = [];
    myvalues.push({ uid: uid });
    myitems.push(JSON.stringify(myvalues));
    myitems.push(apikey);
    $.ajax({
        type: "POST",
        url: baseurl + "api/User",
        data: { '': JSON.stringify(myitems) },
        success: function (data) {
            if (data.length > 0) {
                data = JSON.parse(data);
                var responseCode = JSON.parse(data.ResponseCode);
                var responseMessage = JSON.parse(data.ResponseMessage);
            }
            if (Number(responseCode) === 200) {
                var responsemessagelength = responseMessage.length;
                var orglogo = $('#orglogo');
                for (i = 0; i < responsemessagelength; i++) {
                    var CompanyLogo = responseMessage[i].CompanyLogo;
                    if (CompanyLogo !== '') {
                        orglogo.html('<img id="userlogo" data-file="logofile" data-old="' + CompanyLogo + '" src="' + CompanyLogo + '" + class="img-fluid" />');
                    }
                    else if (CompanyLogo === '') {
                        orglogo.html('<img id="userlogo" data-file="logofile" data-old="" src="/img/upload-file.png" + class="img-fluid" />');
                    }
                }

                var userlogo = $('#userlogo');
                fileupload(userlogo, userlogo.data('file'), userlogo.data('old'));
            }
            else {
                console.log(responseMessage);
            }
        },
        error: function (error) {
            var test = error;
        },
        failure: function (error) {
            var test = error;
        }
    });

    function fileupload(mycontrol, uploadtype, oldfile) {
        var datafile = mycontrol.data('file');
        mycontrol.click(function () {
            $('#' + datafile).click();
        });
        $('#' + datafile).unbind('click');
        $('#' + datafile).change(function () {
            var filecontrol = $(this);
            if (filecontrol.val() === '') {
                alert('Please select file');
                return;
            }
            else {
                var formData = new FormData();
                var file = filecontrol[0];
                var filesize = file.files[0].size;
                if (filesize > 1000000) {
                    alert("Files must be < 1mb in size");
                }
                else {
                    formData.append("file", file.files[0]);
                    formData.append("uid", uid);
                    formData.append("uploadtype", uploadtype);
                    formData.append("oldfile", oldfile);
                    formData.append("apikey", apikey);
                    $.ajax({
                        url: baseurl + "api/FileUpload",
                        type: "POST",
                        data: formData,
                        contentType: false,
                        processData: false,
                        success: function (data) {
                            if (data.length > 0) {
                                data = JSON.parse(data);
                                var responseCode = data.ResponseCode;
                                var responseMessage = data.ResponseMessage;
                            }
                            if (Number(responseCode) === 200 && responseMessage === "True") {
                                window.location.reload();
                            }
                            else {
                                console.log(responseMessage);
                            }
                        },
                        error: function (error) {
                            console.log(error);
                        }
                    });
                }
            }
        });
    }
});

2. Events/Training Calendar

2.1. api/Calendar

This API call will return all events/training available to display online.

You can return items that are in the Future or items in the Past based on the parameter EventTimeFrame supplied.

If the EventTimeFrame supplied is the Past, then the items returned are based on:
•    Display On Web in Rubi being ticked.
•    The Event Status not being Pending or Cancelled.
•    The event’s start date and time being in the past compared to the current date and time.

Parameters To Submit

If the parameters below highlighted with “*” are submitted, they cannot be submitted as blank values.

Parameter Parameter Help Parameter Data Type
uid Logged in user’s uid. Boolean
EventType* An Event Type value can be supplied to filter return results otherwise "All". String – Max 50 chars
EventTimeFrame* Submit either "Future" or "Past". String – Max 10 chars

 

Return Response

The API call will return the following fields of data.

Field Field Help
eid Event GUID.
EventName Event name.
EventStatus Status of the event.
EventMonthYear Integer value of month and year of the event.
EventDay Day of event in shorthand string format.
EventStartTime Event start time.
EventEndTime Event end time.
EventDescription The main body of text detailing the event. The field is named “Long Desc” in Rubi and is located on the event record’s “Details” page.
EventLocationOrganisation Name of organisation the event is held (if applicable).
EventLocation1 First line of the event address location.
EventLocation2 Second line of the event address location.
EventLocation3 Third line of the event address location.
EventLocation4 Fourth line of the event address location.
EventLocationCounty County of the event address location.
EventLocationPostcode Postcode of the event address location.
EventLocationCountry Country of the event address location.
EventTheme Theme of the event.
EventType Type of the event.
EventSponsor JSON stringified array of sponsors.
BookOnline  Whether the event is bookable. This relates to the “Book Online” field set in Rubi under the “Web” section.
PriceCurrency Currency code.
MemberPrice Price of the event set for Member users.
NonMemberPrice Price of the event set for Non Member users.
EventImage Image URL set for the event. Field labelled “Event Image” in Rubi under the “Web” section.

 

2.2. api/CalendarDetail

This API call will return details about a specific event. To retrieve details about a specific event you must pass in the eid acquired from api/Calendar.

Parameters To Submit

Parameters can be submitted as blank values.

Parameter Parameter Help Parameter Data Type
uid Logged in user’s uid. String – Max 50 chars
eid The event eid to return more information on. String – Max 50 chars

 

Return Response

The API call ResponseMessage will return the following fields of data.

Field Field Help
eid Event GUID.
EventName Event name.
EventStatus Status of the event.
EventMonthYear Integer value of month and year of the event.
EventDay Day of event in shorthand string format.
EventDate Date of the event in format dd/mm/yyyy.
EventStartTime Event start time.
EventEndTime Event end time.
EventDescription The main body of text detailing the event. The field is named “Long Desc” in Rubi and is located on the event record’s “Details” page.
EventLocationOrganisation Name of organisation the event is held (if applicable).
EventLocation1 First line of the event address location.
EventLocation2 Second line of the event address location.
EventLocation3 Third line of the event address location.
EventLocation4 Fourth line of the event address location.
EventLocationCounty County of the event address location.
EventLocationPostcode Postcode of the event address location.
EventLocationCountry Country of the event address location.
EventTheme Theme of the event.
EventType Type of the event.
EventSponsor JSON stringified array of sponsors.
EventPresenters JSON stringified array of presenters.
BookOnline  Whether the event is bookable. This relates to the “Book Online” field set in Rubi under the “Web” section.
AllowWaitlist Whether the event has a waitlist if the “MaxRemaining” is 0 noting no more spaces on the event. This relates to the “Allow Waitlist” field set in Rubi under the “Web” section.
PriceCurrency Currency code.
MemberPrice Price of the event set for Member users.
MemberPriceSpecial Price of event set for Member users if a special rate (early bird) has been applied. The special rate should be valid until “MemberPriceSpecialDate” has passed.
MemberPriceSpecialDate Date the till “MemberPriceSpecial” is valid.
NonMemberPrice Price of the event set for Non Member users.
NonMemberPriceSpecial Price of event set for Non Member users if a special rate (early bird) has been applied. The special rate should be valid until “NonMemberPriceSpecialDate” has passed.
NonMemberPriceSpecialDate Date the till “NonMemberPriceSpecial” is valid.
EventImage Image URL set for the event. Field labelled “Event Image” in Rubi under the “Web” section.
MaxCompany The maximum amount of bookings allowed per company. Used to minimise company numbers for networking events.
MaxCompanyRemaining The remaining number of bookings allowed for a company after taking into account active bookings and bookings awaiting payment. Provided a uid is supplied.
MaxRemaining Total number of bookings available as a whole for the event. Takes into account active bookings.
CompanyWaitlist Returns the total number of bookings that are on the waitlist for the company. Provided a uid is supplied.
CompanyActive Returns the total number of active bookings for the company. Provided a uid is supplied.
CompanyWebAwaitingPayment Returns the total number of bookings awaiting payment for the company. Provided a uid is supplied.
CanxPol Cancellation policy for the event. Only to be used if the cancellation policy differs from the standard. If empty then use standard cancellation policy.
Agenda Agenda for the event. The field named “Agenda” in Rubi and is located on the event’s “Details” page.
IsMember Whether the user is a member or not. Provided a uid is supplied.

 

2.3. Events/Training Calendar Guidance

We would advise your website to make calls to api/Calendar on a scheduled basis and cache these results on the website backend. Most clients who operate on a schedule make a new call to api/Calendar every hour.

However, we would advise implementing a method for your client to instantly refresh the cache and pull the most up-to-date event data if they needed.

When clients visit an event, you should call api/CalendarDetail to return the most up-to-date information about the event, such as remaining bookings, but also to update statistics on page views.

3. Directory

3.1. api/Directory

This API call will return all records deemed as members, which can be displayed in a directory.

All records which have an applicable membership status set to denote the record as a member will return.

Additionally, only records where the Comp/Ind field is set to Company will return. The Comp/Ind field can be located in the General section of the Primary Record.

You can either pass an empty string for the cid, which will return all records, or you can provide a specific cid to return data for a specific company.

Parameters To Submit

Parameters can be submitted as blank values.

Parameter Parameter Help Parameter Data Type
uid Logged in user’s uid. String – Max 50 chars
cid Company cid if you require only specific company information to return. String – Max 50 chars

 

Return Response

The API call ResponseMessage will return the following fields of data.

Field Field Help
cid Company GUID.
Company Company’s name.
CompanyTel Generic company telephone number.
CompanyFax Company’s fax number.
CompanyEmail Generic company email.
CompanyWeb Company’s website URL.
Category The business category of the company.
BusinessDescription The company’s business description.
Address1 First line of the company’s address.
Address2 Second line of the company’s address.
Address3 Third line of the company’s address.
Address4 Fourth line of the company’s address.
County County set on the company’s address.
Postcode Company’s postcode.
Country Country set on the company’s address.
Offers The number of member offers the company has set to display will be returned.
CompanyLogo The URL of the company’s logo.
Twitter URL of company’s Twitter.
LinkedIn URL of company’s LinkedIn.
Facebook URL of company’s Facebook.
YouTube URL of company’s YouTube.
Google URL of company’s Google+.
Instagram URL of company’s Instagram.
Yammer URL of company’s Yammer.
Pinterest URL of company’s Pinterest.

 

4. Login / Password Reset

4.1. api/Login

This API call is used to log in a user and validate their credentials.

Parameters To Submit

All parameters are required and cannot be empty.

Parameter Parameter Help Parameter Data Type
emailaddress Contact’s email address. String – Max 250 chars
password Contact’s password. Must convert String to Base64 encrypted format. String – Max 150 chars

 

Return Response

The API call ResponseMessage will return the following fields of data.

Field Field Help
uid The contact’s uid that has the provided email address associated with their contact record.
EmailAddress The contact’s email address.
FirstName The contact’s first name that has the provided email address associated with their contact record.
LastName The contact’s last name that has the provided email address associated with their contact record.
KnownAs What the contact is known by provided the email address associated with their contact record.
Company The company that the contact who is associated with the provided email address is a part of.
WebAdmin Whether the contact is a website administrator.
LoginVerified True/False value indicating if the email address has been verified.
ConsentReceived Whether the contact has consented to the terms and conditions. Refer to api/UserActions with calltype UserConsent.
UserStatus The membership status of the company the contact is associated with.
AllowLogin Can be custom-configured as required.
ValidationVal If LoginVerified is false, this Val is required as part of api/Validation. Will return as NULL if LoginVerified is already true.
ValidationID If LoginVerified is false, this ID is required as part of api/Validation. Will return as NULL if LoginVerified is already true.

 

If a user's LoginVerified value returns false, you must verify the email address associated with the contact is correct and pass ValidationID and ValidationVal as part of api/Validation.

More information can be found here on the validation process.

4.2. api/Validation

This API call is used to validate a user’s email address. The account validation email address should redirect users to a specified URL on your website.

Parameters To Submit

All parameters are required and cannot be empty.

 

Parameter Parameter Help Parameter Data Type
val Should be obtained as a querystring value on your page (sent as part of account validation email) and denotes the encrypted users email address. This value is required and cannot be an empty string. String
id Should be obtained as a querystring value on your page (sent as part of account validation email) and denotes whether the link is still active. This value is required and cannot be an empty string. String

 

Return Response

The API call ResponseMessage will return a Boolean indicating whether the update was successful.

4.3. api/LoginReset

This API call is used to generate a password reset link for a user.

You can first use api/EmailCheck to confirm the contact's uid.

Parameters To Submit

All parameters are required and cannot be empty.

Parameter Parameter Help Parameter Data Type
emailaddress Contact’s email address. String – Max 250 chars
uid Contact's GUID. String – Max 50 chars

 

Return Response

The API call ResponseMessage will return the following fields of data.

Field Field Help
uid The contact’s uid that has the provided email address associated with their contact record.
LoginVerified True/False value indicating if the email address has been verified.
PasswordResetVal
This Val is required as part of api/PasswordReset.
PasswordResetID
This ID is required as part of api/PasswordReset.

 

You must pass ValidationID and ValidationVal as part of api/PasswordReset.

4.4. api/PasswordReset

This API call is used to reset a user's password.

Parameters To Submit

All parameters are required and cannot be empty.

Parameter Parameter Help Parameter Data Type
val Should be obtained as a querystring value on your page (sent as part of password reset email) and denotes the encrypted users email address. This value is required and cannot be an empty string. String
id Should be obtained as a querystring value on your page (sent as part of password reset email) and denotes whether the link is still active. This value is required and cannot be an empty string. String
newpassword Password value supplied must be converted to Base64 with 4 random characters added to the right and 6 random characters to the left. String – 150 Chars

 

Return Response

The API call ResponseMessage will return a Boolean indicating whether the update was successful.

4.5. Overview of Validation Process

Within RubiCRM, the contact's Settings section contains a field called Email Validated.

This field represents whether the email address associated with the contact record has been validated.

Validation of the email address is important before the contact should be able to use any online services you provide.

Validating the email address ensures that emails are being sent to the correct place. This creates a step to ensure that the user or staff member has not entered the incorrect email address, whether due to a spelling mistake or a genuine wrong email address input.

The following steps assume a querystring link is used to validate the email address.

Steps for Validating

Step 1

When a contact tries to log in to your website, the application should call api/Login. This API call will return LoginVerified, which is a bit value telling you if the email has been validated.

Step 2

If LoginVerified is false, you must take the ValidationVal and ValidationID returned within the same api/Login call just made.

The ValidationVal and ValidationID are valid for 1 hour. You will be required to store the ValidationVal and ValidationID for a future step.

Step 3

Send an email to the contact using the email address on file for them.

This email will act as a validation email, which should ask them to validate their account.

Within this email, you should input the ValidationVal and ValidationID into a querystring URL that acts as a validation button.

Step 4

Once the user validates their email address by clicking the validation button, retrieve the ValidationVal and ValidationID from the querystring.

Pass the ValidationVal and ValidationID to the API call api/Validation.

Step 5

If the api/Validation returns true based on the provided ValidationVal and ValidationID, calling api/Login again will result in LoginVerified being true.

5. Registration Process

5.1. Overview

The registration process has two API calls. The first is api/EmailCheck and the second api/Registration.

Each contact record within the CRM must have a unique email address to log in.

With this in mind, when processing new registrations and creating new accounts, you must first check if the email address already exists/associated with a contact within the CRM.

You can perform this check using api/EmailCheck. If the email address is associated with a contact already, you should prompt the user to log in, as they will already have an account.

If api/EmailCheck returns empty, then you can proceed with the registration.

5.2. api/EmailCheck

This API call is used to check if an email address is recognised/already associated with a contact record within the CRM.

Parameters To Submit

The parameter cannot be submitted as a blank value.

Parameter Parameter Help Parameter Data Type
EmailAddress Registering user’s email address. String – Max 250 chars

 

Return Response

The API call ResponseMessage will return the following fields of data.

Field Field Help
uid The contact’s uid that has the provided email address associated with their contact record.
FirstName The contact’s first name that has the provided email address associated with their contact record.
LastName The contact’s last name that has the provided email address associated with their contact record.
Company The company that the contact who is associated with the provided email address is a part of.
LoginVerified True/False value indicating if the email address has been verified.

 

If 0 items are returned, the email address is not recognised.

5.3. api/Registration

This API call is used to supply all registration values to register a new user.

Registration Steps

•    Step 1 - Capture the user’s email address and use api/EmailCheck call to check if the email address is already registered. If the email is registered, prompt the user that they already have an account and to log in. Otherwise, continue to step 2.

•    Step 2 - Capture the user's Company/Organisation Postcode and use the api/PortalList call to return matching records. The user should then be able to choose an existing record to add themselves to or be given a "My Organisation Is Not Listed" option.

•    Step 3 - Allow the user to make a selection. If the user selects an existing record, maintain the selected "cid" value for use in the main api/Registration call later. If the user selects "My Organisation Is Not Listed", maintain an empty string as the "cid" to be used in api/Registration call later.

•    Step 4 - If the user selects an existing record (cid not empty), maintain all details about the Company/Organisation as the user is not required to enter this information again. Only values relating to the individual are required. Note: Users registering against an existing record should not be offered the ability to activate a subscription.

•    Step 5 - If the user selects "My Organisation Is Not Listed", make a call to api/PortalList to return any available subscription packages. Maintain the user’s selection.

•    Step 6 - Show the user any applicable terms & conditions and maintain the content.

•    Step 7 – Submit the “Parameters To Submit” as detailed below in the api/Registration call.

Parameters To Submit

If the parameters below highlighted with “*” are submitted, they cannot be submitted as blank values. If parameters below are highlighted with “¬”, they cannot be submitted as blank values if the CompanyIndividual field is submitted as C.

If parameters are highlighted with “#”, they cannot be submitted as blank values if the CompanyIndividual field is submitted as I.

Parameter Parameter Help Parameter Data Type
cid Maintained from earlier selection (joining existing company) or an empty string (new company/individual). String – Max 50 chars
ssid Maintained from earlier selection (ssid available from api/PortalList) or an empty string. String – Max 50 chars
CompanyIndividual* Either "C", if the user is registering a "Company" or "I" if they are registering as an "Individual". String – Max 1 char
Company¬ Company’s name. String – Max 250 chars
CompanyTel¬ Company’s telephone. String – Max 30 chars
CompanyEmail Company’s email address. String – Max 250 chars
CompanyWeb Company’s website URL. Should prefix with “http://” or “https://”. String – Max 250 chars
Category* The value passed to the API must be ListValue (Text Value not ID). If “CompanyIndividual” is “I” then submit “None”. String – Provide ListValue from api/PortalList “BusinessCategory”.
Employees Number of employees at the company. If an empty string will default to 1. Integer
CompanyAddress1¬ First line of company’s address. String – Max 75 chars
CompanyAddress2 Second line of company’s address. String – Max 75 chars
CompanyAddress3 Third line of company’s address. String – Max 75 chars
CompanyAddress4¬ Fourth line of company’s address. String – Max 75 chars
CompanyCounty¬ The value passed to the API must be ListValue (Text Value not ID). Submit a default value of “None” if no selection is made. String – Provide ListValue from api/PortalList “County”.
CompanyPostcode¬ Postcode of company’s address. String – Max 15 chars
CompanyCountry¬ The value passed to the API must be ListValue (Text Value not ID). Submit a default value of “None” if no selection is made. String – Provide ListValue from api/PortalList “Country”.
ContactFirstName* Contact’s first name. String – Max 100 chars
ContactLastName* Contact’s last name. String – Max 100 chars
ContactEmail* Contact’s email address as entered when checked through api/EmailCheck. String – Max 200 chars
Password* Contact’s password. Must convert String to Base64 encrypted format. String – Max 150 chars
ContactTel* Contact’s telephone number. String – Max 30 chars
ContactMob Contact’s mobile number. String – Max 25 chars
ContactWhereHear* The value passed to the API must be ListValue (Text Value not ID). Submit a default value of “None” if no selection is made. String – Provide ListValue from api/PortalList “WhereHear”.
ContactAddress1# First line of contact’s address. String – Max 75 chars
ContactAddress2 Second line of contact’s address. String – Max 75 chars
ContactAddress3 Third line of contact’s address. String – Max 75 chars
ContactAddress4# Fourth line of contact’s address. String – Max 75 chars
ContactCounty* The value passed to the API must be ListValue (Text Value not ID). Submit default value of “None” if no selection made. String – Provide ListValue from api/PortalList “County”.
ContactPostcode# Postcode of contact’s address. String – Max 15 chars
ContactCountry* The value passed to the API must be ListValue (Text Value not ID). Submit default value of “None” if no selection made. String – Provide ListValue from api/PortalList “Country”.
Consent* String value maintained from earlier display. Provide consent text as this will be noted within the CRM when consent was given and what the consent was. String

 

This API call does NOT require the API Key to be supplied as part of the call.

Return Response

The API call ResponseMessage will return a range of fields. The following fields of data will be relevant for your purposes.

Field Field Help
uid Contact’s new uid that has just been created.
EmailAddress Contact’s email address.
FirstName Contact’s first name.

 

6. Booking Process

6.1. api/Booking

This API call is the primary call for creating bookings in the CRM.

You must provide the uid of the user logged in and making the booking, the eid of the event being booked, and the number of bookings being made (bookingplaces). The uid and eid cannot be empty strings and the bookingplaces must be greater than 0.

Before calling this method, api/CalendarDetail should be checked for if BookOnline is true, the number of remaining places is greater than or equal to the number of intended bookings being made, and if the user should be able to make the booking (is the event a member-only event where they are a non member).

Parameters To Submit

All parameters are required and cannot be empty.

Parameter Parameter Help Parameter Data Type
uid Logged in user’s uid. String – Max 50 chars
eid The event eid being booked onto. String – Max 50 chars
BookingPlaces The number of places to be booked. String – Max 50 chars

 

Return Response

The API call ResponseMessage will return a JSON stringified array containing arrays of the bookings created, provided the number of places submitted. The following fields of data will be returned in the arrays.

Field Field Help
BookingGUID The bid of the booking to be used in subsequent calls.
BookingStatus The booking status as it currently appears in Rubi.
SavingApplied Whether the inserted booking received a discount such as the user being a member.
PotentialSaving The saving applied to the booking.

 

6.2. api/BookingAttendeesToBook

This API call is used to find who from the company the user can assign as the attendee. The call will return all users and a TBC option.

If the client allows users to make bookings where they don’t know who the attendee will be at the time, you can set the attendee for the booking as TBC.

By default, the attendee will be set to TBC for the bookings you created using api/Booking if the number of created bookings is greater than 1. If one booking is made using api/Booking automatically, the booker will be set as the attendee.

You will be required to pass the uid of the logged-in user and the bid of the booking you plan to update the attendee for. The bid is supplied in the result of api/Booking but can also be taken from api/UserBasket (returned as ItemGUID).

Parameters To Submit

All parameters are required and cannot be empty.

Parameter Parameter Help Parameter Data Type
uid Logged in user’s uid. String – Max 50 chars
bid The booking bid that is being checked to see who can be assigned to it. String – Max 50 chars

 

Return Response

The API call ResponseMessage will return a JSON stringified array. The following fields of data will be returned.

Field Field Help
conid The uid of the user.
ContactFullName The full name of the user.
BookingStatus Whether the user can be assigned to the booking “Booking Allowed” or whether they are already assigned to a booking “In Basket”, “Active”, “Cancelled” etc.

 

6.3. api/BookingUpdate

This API call is used to update information about the booking.

The API call allows you to submit different update types depending on what information you are updating about the booking. The different update types are SpecialRequests, AttendeeNamedGuest and Remove.

The API call requires you to pass the uid of the user logged in, the bid of the booking to be updated, the updatetype and the updatevalue.

Update Types

•    SpecialRequests – The value supplied can be a simple string.

•    Attendee – Used in conjunction with api/BookingAttendeesToBook where you would supply the “conid” (uid) of the user you intend to assign as the attendee for the booking.

•    NamedGuest – If the user does not appear as an option in api/BookingAttendeesToBook and the client does not want to allow TBC bookings, you can set a named guest. You would supply a stringified array of GuestOrg, GuestName and GuestEmail.

•    Remove – If you wish to delete the booking.

Data Types for Update Values

Update Type Update Value Data Type
SpecialRequests String – Max 250 chars
Attendee Boolean
NamedGuest String
Remove Boolean

 

Parameters To Submit

All parameters are required and cannot be empty.

Parameter Parameter Help Parameter Data Type
uid Logged in user’s uid. String – Max 50 chars
bid The booking bid to be updated. String – Max 50 chars
UpdateType Update type with available options above. String – Max 20 chars
UpdateValues Value to be submitted as part of the call. String

 

Return Response

The API call ResponseMessage will return a Boolean indicating whether the update was successful.

6.4. Booking Process Guidance

During the booking process, we would advise your website to make the api/Booking call first.

You can update the attendee for each booking using the bid returned from api/Booking by calling api/BookingAttendeesToBook using each bid returned and using api/BookingUpdate, supplying the conid chosen by the user.

Alternatively, you can require the attendee to visit a basket page and call api/UserBasket. This will return all bookings that are still to be processed to the user’s basket. From there, you can follow the same steps of first calling api/BookingAttendeesToBook and updating the attendee using api/BookingUpdate.

7. Membership

7.1. api/Subscription

This call will allow you to add/remove membership sale pipeline items. The following fields of information are required for the call.

Parameters To Submit

All parameters are required and cannot be empty.

Parameter Parameter Help Parameter Data Type
uid Contact’s uid. String – Max 50 chars
ssid If adding a sale pipeline provide the ssid (Sale Service ID) selected by the user as returned from api/PortalList "Subscriptions". If removing a sale pipeline provide the ItemGUID for the item as provided in api/UserBasket. String – Max 50 chars
action Whether you are adding an item or removing it. “Add” or “Remove”. String – Max 10 chars

 

Return Response

The API call will return a Boolean to indicate if the call action has been completed.

7.2. Membership Guidance

Once you’ve added a membership sale pipeline, you can use api/UserBasket to purchase said membership.

Automated processes will update the company information to reflect their membership status.

8. User Dashboard

8.1. api/User

This API call will return information such as contact information and company information, depending on the call type (calltype). The call requires you to pass the uid of the user logged in, the calltype and updatevalues.

The updatevalues you can pass as an empty string.

Call Types

•    UserProfile – Returns an array of data relating to the individual user.

•    UserCompany – Returns an array of data relating to the individual user’s Company/Organisation.

•    UserBookings – Returns an array of all bookings for this user or where the user made the booking for someone else.

•    Users – Returns an array of other Contacts within the same organisation (will only return data if the user is marked as a Main Contact or Web Admin within Rubi).

•    UserOffers – Returns an array of all offers submitted by the user’s company.

•    UserEvents – Returns an array of all events submitted by the user’s company.

•    UserNews – Returns an array of all news items submitted by the user’s company.

•    UserVacancies – Returns an array of all vacancies submitted by the user’s company.

Parameters To Submit

If the parameters below highlighted with “*” are submitted, they cannot be submitted as blank values.

Parameter Parameter Help Parameter Data Type
uid* Logged in user’s uid. String – Max 50 chars
CallType* Call type with available options above. String – Max 20 chars
UpdateValues Empty string. String

 

Return Response

The API call will return different fields of data depending on the call type used.

 

UserProfile

Field Field Help
uid Contact’s uid.
ConsentReceived Whether the user has accepted the client’s Terms and Conditions. Expected to reconsent every 365 days.
Title Contact’s title.
FirstName Contact’s first name.
LastName Contact’s last name.
KnownAs What the contact is known by.
EmailAddress Contact’s email address.
JobTitle Contact’s job title.
MobileCountry Contact’s mobile country code.
Mobile Contact’s mobile number.
TelCountry Contact’s telephone country code.
Tel Contact’s telephone number.
TelExt Contact’s telephone extension number.
Address1 First line of the contact’s address.
Address2 Second line of the contact’s address.
Address3 Third line of the contact’s address.
Address4 Fourth line of the contact’s address.
County County contact lives in.
Postcode Contact’s postcode.
Country Country contact lives in.
UserImage URL of contact’s profile image.
SocialMedia A JSON array of the contact’s social media.
MarketingPreferences A JSON array of the contact’s marketing preferences (Contact Interests in Rubi).
CompInd Whether the contact is a part of a company record or an individual record. Returns “C”, “I” or “U” (unknown).
AdditionalInfo Additional information if required by the client.

 

UserCompany

Field Field Help
cid Company’s cid.
Company Company’s name.
CompanyTelCountry Company’s telephone country code.
CompanyTel Company’s telephone number.
CompanyFax Company’s fax number.
CompanyEmail Company’s email address.
CompanyWeb Company’s website URL.
Category The business category of the company.
BusinessDescription The company’s business description.
Address1 First line of the company’s address.
Address2 Second line of the company’s address.
Address3 Third line of the company’s address.
Address4 Fourth line of the company’s address.
County County the company resides in.
Postcode Company’s postcode.
Country Country company resides in.
Contact One of the main contacts in the company. Decided based on top 1.
Offers The number of member offers the company has set to display will be returned.
CompanyLogo URL of the company’s profile image.
SocialMedia A JSON array of the company’s social media.
[Status] The company’s membership status.
DateJoined The company’s membership join date.
DateRenewal The company’s membership renewal date.
CompanyInterests A JSON array of the company’s interests.
TradingAs Company’s trading name.

 

UserBookings

Field Field Help
ItemGUID bid.
Item Returns that the item is a “Booking”.
ItemDetails The name of the event the booking is associated with.
ItemContact The contact attending the event the booking is associated with.
ItemValue The booking price excluding tax.
ItemTax The booking tax.
ItemTaxRate The booking tax rate.
ItemTotal The booking price including tax.
ItemSaving The saving made on the booking (may be different to default saving of price type).
ItemPotentialSaving The saving set for the price type.
ItemRateType Price type used for booking.
ItemInfo1 Special requests made.
ItemInfo2 Booking notes made. Normally for internal purposes for the client.
eid The event’s eid the booking was made for.
NamedGuestOrg Named guest organisation (if a named guest was set).
NamedGuestName Named guest name (if a named guest was set).
NamedGuestEmail Named guest email (if a named guest was set).
BookingStatus Status of the booking. Could be “Active”, “Cancelled”, “Attended”, “No Show” etc.
EventDate Date of the event that the booking is for.

 

Users

Field Field Help
uid uid of the user.
FirstName User’s first name.
LastName User’s last name.
EmailAddress User’s email address.
JobTitle User’s job title.
ContactLeft Whether the contact has left or not. We do not return users who have left as part of this call.

 

UserOffers

Field Field Help
oid oid of the offer.
Category Category of the offer.
ShortDescription Title of the offer.
LongDescription Main body of text about the offer.
StartDate When the offer should begin showing on the website.
EndDate When the offer should stop showing on the website.
OfferCode Offer code.
DateCreated When the offer was submitted.
CreatedBy Who the offer was submitted by.
Approved Whether the client has approved the offer to display on the website.
Removed If the offer has been deleted.

 

UserEvents

Field Field Help
mid mid of the event.
Category Category of the event.
ShortDescription Title of the event.
LongDescription Main body of text about the event.
EventLocation Location of where the event is taking place.
StartDate When the event begins.
EndDate When the event ends.
EventCode Event code.
DateCreated When the event was submitted.
CreatedBy Who the event was submitted by.
Approved Whether the client has approved the event to display on the website.
Removed If the event has been deleted.

 

UserNews

Field Field Help
nid nid of the news item.
Category Category of the news item.
ShortDescription Title of the news item.
LongDescription Main body of text about the news item.
StartDate The date the news item should begin showing on the website.
StartTime The time the news item should begin showing on the website.
EndDate The date the news item should stop showing on the website.
EndTime The time the news item should stop showing on the website.
DateCreated When the news item was submitted.
CreatedBy Who the news item was submitted by.
Approved Whether the client has approved the news item to display on the website.
Removed If the news item has been deleted.

 

UserVacancies

Field Field Help
vid vid of the vacancy.
Category Category of the vacancy.
ShortDescription Title of the vacancy.
LongDescription Main body of text about the vacancy.
StartDate The date the vacancy should begin showing on the website.
EndDate The date the vacancy should stop showing on the website.
DateCreated When the vacancy was submitted.
CreatedBy Who the vacancy was submitted by.
Approved Whether the client has approved the vacancy to display on the website.
Removed If the vacancy has been deleted.

8.2. api/UserActions

This API call allows you to submit updates, such as to contact information and company information, depending on the call type (calltype).

The call requires you to pass the uid of the user logged in, the calltype and updatevalues.

Call Types

•    UserProfileUpdate – Update contact information.

•    UserCompanyUpdate – Update company information.

•    UserUpdate – Update whether a user has left the primary record.

•    UserAdded – Add a new user to the primary record.

•    UserOfferUpdate – Update/submit user offer.

•    UserEventUpdate – Update/submit user event.

•    UserNewsUpdate – Update/submit user news item.

•    UserVacancyUpdate – Update/submit user vacancy

•    UserConsent

 

UserProfileUpdate

This call will allow you to update contact information, given the uid that is provided.

The following fields of information can be added to the JSONString stringified array to be passed in the updatevalues field.

Parameters To Submit

If the parameters below highlighted with “*” are submitted, they cannot be submitted as blank values. County and Country can be submitted as None.

Parameter Parameter Help Parameter Data Type
Title Contact’s title. String – Max 20 chars
FirstName* Contact’s first name. String – Max 100 chars
LastName* Contact’s last name. String – Max 100 chars
KnownAs* What the contact is known by. String – Max 100 chars
EmailAddress* Contact’s email address. String – Max 200 chars
JobTitle* Contact’s job title. String – Max 200 chars
MobileCountry* Contact’s mobile country code. String – Max 5 chars
Mobile* Contact’s mobile number. String – Max 25 chars
TelCountry* Contact’s telephone country code. String – Max 5 chars
Tel* Contact’s telephone number. String – Max 30 chars
TelExt* Contact’s telephone extension number. String – Max 10 chars
Address1 First line of the contact’s address if the contact has a personal address different to main Company/Organisation address. String – Max 75 chars
Address2 Second line of the contact’s address if the contact has a personal address different to main Company/Organisation address. String – Max 75 chars
Address3 Third line of the contact’s address if the contact has a personal address different to main Company/Organisation address. String – Max 75 chars
Address4 Fourth line of the contact’s address if the contact has a personal address different to main Company/Organisation address. String – Max 75 chars
County* County the contact resides if the contact has a personal address different to the main Company/Organisation address. (See api/PortalList with list “County” for available options) String – Provide ListValue from api/PortalList “County”
Postcode Postcode of contact’s address if the contact has a personal address different to the main Company/Organisation address. String – Max 15 chars
Country* County the contact resides if the contact has a personal address different to the main Company/Organisation address. (See api/PortalList with list “Country” for available options) String – Provide ListValue from api/PortalList “Country”
SocialMedia Stringified array of social media information with "SocialMedia" and "SocialMediaURL" properties. Available social media options will return as part of api/User. String
MarketingPreferences Stringified array of marketing interest preferences with "Marketing", "Email", "Mail" and "Tel" properties where "Email", "Mail" and "Tel" are true or false. String

 

This call returns a Boolean of True if successful.

 

UserCompanyUpdate

This call will allow you to update the primary record information, given the uid that is provided.

The following fields of information can be added to the JSONString stringified array to be passed in the updatevalues field. Please note that we only allow the update to take place if the user (uid) is a main contact or web admin.

Parameters To Submit

If the parameters below highlighted with “*” are submitted, they cannot be submitted as blank values.

Parameter Parameter Help Parameter Data Type
Company* Primary record’s name. String – Max 250 chars
CompanyTelCountry* Primary record’s telephone country code. String – Max 5 chars
CompanyTel* Primary record’s telephone number. String – Max 30 chars
CompanyFax Primary record’s fax number. String – Max 20 chars
CompanyEmail* Primary record’s email address. String – Max 250 chars
CompanyWeb* Primary record’s website URL. Should prefix with “http://” or “https://”. String – Max 250 chars
Category* Primary record’s business category. String – Provide ListValue from api/PortalList “BusinessCategory”
BusinessDescription Primary record’s business description that is used in the directory. String
Address1* First line of the primary record’s main address. String – Max 75 chars
Address2 Second line of the primary record’s main address. String – Max 75 chars
Address3 Third line of the primary record’s main address. String – Max 75 chars
Address4* Fourth line of the primary record’s main address. String – Max 75 chars
County* County where the primary record resides. String – Provide ListValue from api/PortalList “County”
Postcode* Postcode of the primary record’s main address. String – Max 15 chars
Country* Country where the primary record resides. String – Provide ListValue from api/PortalList “Country”
SocialMedia Stringified array of social media information with "SocialMedia" and "SocialMediaURL" properties. Available social media options will return as part of api/User. String

 

This call returns a Boolean of True if successful.

 

UserAdded

This call will allow a contact to add a new contact to the primary record.

Parameters To Submit

If the parameters below highlighted with “*” are submitted, they cannot be submitted as blank values.

Parameter Parameter Help Parameter Data Type
FirstName* Contact’s first name to be added. String – Max 100 chars
LastName* Contact’s last name to be added. String – Max 100 chars
EmailAddress* Contact’s email address to be added. String – Max 200 chars
JobTitle Contact’s job title to be added. String – Max 200 chars

 

This call returns a JSONString if successful. Within the JSONString is ContactAdded containing the new contact's uid, First Name, Last Name and Email Address.

 

UserUpdate

This call will allow a main contact or web admin to update contact records to say the contact has Left.

Parameters To Submit

All parameters are required and cannot be empty.

Parameter Parameter Help Parameter Data Type
uid Contact’s uid to be updated. String – Max 50 chars
ContactLeft Whether the client has left or not (true/false). By default, we do not return users who have been marked as left. This can be changed if you wish for the ability to unmark contacts who have returned. Boolean

 

This call returns a Boolean of True if successful.

 

UserOfferUpdate

This call will allow a main contact or web admin to update/submit an offer.

Parameters To Submit

If the parameters below highlighted with “*” are submitted, they cannot be submitted as blank values.

Parameter Parameter Help Parameter Data Type
oid* "AddNew" if a new offer or oid of offer being updated. String – Max 50 chars
Category* The category of the offer. String – Provide ListValue from api/PortalList “OfferCategory”
ShortDescription* The title of the offer. String – Max 150 chars
LongDescription The main body of text of the offer. String
StartDate* Then the offer should start displaying on the website. Datetime - YYYY-MM-DD hh:mm:ss.mmm
EndDate* Then the offer should stop displaying on the website. Datetime - YYYY-MM-DD hh:mm:ss.mmm
OfferCode User can submit a code that needs to be used to redeem the offer. String – Max 50 chars
Removed* If the offer has been deleted. Boolean

 

This call returns a Boolean of True if successful.

 

UserEventUpdate

This call will allow a main contact or web admin to update/submit an event.

Parameters To Submit

If the parameters below highlighted with “*” are submitted, they cannot be submitted as blank values.

Parameter Parameter Help Parameter Data Type
mid* "AddNew" if a new event or mid of event being updated. String – Max 50 chars
Category* The category of the event. String – Provide ListValue from api/PortalList “EventCategory”
ShortDescription* The title of the event. String – Max 150 chars
LongDescription The main body of text of the event. String
StartDate* The date the event should start displaying on the website. Datetime - YYYY-MM-DD hh:mm:ss.mmm
StartTime* The time the event should start displaying on the website. Datetime - YYYY-MM-DD hh:mm:ss.mmm
EndDate* The date the event should stop displaying on the website. Datetime - YYYY-MM-DD hh:mm:ss.mmm
EndTime* The time the event should stop displaying on the website. Datetime - YYYY-MM-DD hh:mm:ss.mmm
EventLocation The location of the event. String
EventCode User can submit a code that needs to be used to redeem the event or for them to track how the booking came through. String – Max 50 chars
Removed* If the offer has been deleted. Boolean

 

This call returns a Boolean of True if successful.

 

UserNewsUpdate

This call will allow a main contact or web admin to update/submit a news item.

Parameters To Submit

If the parameters below highlighted with “*” are submitted, they cannot be submitted as blank values.

Parameter Parameter Help Parameter Data Type
nid* "AddNew" if a new news item or nid of the news item being updated. String – Max 50 chars
Category* The category of the news item. String – Provide ListValue from api/PortalList “NewsCategory”
ShortDescription* The title of the news item. String – Max 150 chars
LongDescription The main body of text of the news item. String
StartDate* The date the news item should start displaying on the website. Datetime - YYYY-MM-DD hh:mm:ss.mmm
EndDate* The date the news item should stop displaying on the website. Datetime - YYYY-MM-DD hh:mm:ss.mmm
Removed* If the news item has been deleted. Boolean

 

This call returns a Boolean of True if successful.

 

UserVacancyUpdate

This call will allow a main contact or web admin to update/submit a vacancy.

Parameters To Submit

If the parameters below highlighted with “*” are submitted, they cannot be submitted as blank values.

Parameter Parameter Help Parameter Data Type
vid* "AddNew" if a new vacancy or vid of the vacancy being updated. String – Max 50 chars
Category* The category of the vacancy. String – Provide ListValue from api/PortalList “VacancyCategory”
ShortDescription* The title of the vacancy. String – Max 150 chars
LongDescription The main body of text of the vacancy. String
StartDate* The date the vacancy should start displaying on the website. Datetime - YYYY-MM-DD hh:mm:ss.mmm
EndDate* The date the vacancy should stop displaying on the website. Datetime - YYYY-MM-DD hh:mm:ss.mmm
Removed* If the vacancy has been deleted. Boolean

 

This call returns a Boolean of True if successful.

 

UserConsent

This call allows storage of the exact consent text the user is agreeing to. Should be performed on a yearly (365-day) basis.

Property is normally returned via users login, as to whether consent agreement is currently required.

Parameters To Submit

All parameters are required and cannot be empty.

Parameter Parameter Help Parameter Data Type
ConsentReceived Whether the user has agreed to the clients terms and conditions. (true/false) Boolean
ConsentText Full consent/terms and conditions text being agreed to. This is stored within the CRM and dated on when consented. String

 

This call returns a Boolean of True if successful.

9. Member Submitted Item List

9.1. api/MemberOffers

This API call is used to return submitted Member Offers.

Parameters To Submit

Parameters can be submitted as blank values.

Parameter Parameter Help Parameter Data Type
uid Contact’s uid. String – Max 50 chars
oid Empty string for all offers or provide an oid for a specific offer. String – Max 50 chars

 

Return Response

This API call will return in the ResponseMessage an array of the following fields.

Field Field Help
cid Company GUID.
oid oid of the offer.
Company Company name.
CompanyTel Company telephone.
CompanyFax Company fax number.
CompanyEmail Company email
CompanyWeb Company website URL.
Category Category of the offer.
ShortDescription Title of the offer.
LongDescription Main body of text about the offer.
StartDate The date the offer should begin showing on the website.
EndDate The date the offer should stop showing on the website.
OfferCode  
Address1 First line of the company’s address.
Address2 Second line of the company’s address.
Address3 Third line of the company’s address.
Address4 Fourth line of the company’s address.
County Countr set on the company’s address.
Postcode Company’s postcode.
Country Country set on the company’s address.
CompanyLogo URL of the company’s logo.
Twitter URL of the company’s Twitter.
LinkedIn URL of the company’s LinkedIn.
Facebook URL of the company’s Facebook.
YouTube URL of the company’s YouTube.
Google URL of the company’s Google.
Instagram URL of the company’s Instagram.
Yammer URL of the company’s Yammer.
Pinterest URL of the company’s Pinterest.

 

9.2. api/MemberEvents

This API call is used to return submitted Member Events.

Parameters To Submit

Parameters can be submitted as blank values.

Parameter Parameter Help Parameter Data Type
uid Contact’s uid. String – Max 50 chars
mid Empty string for all events or provide an mid for a specific event. String – Max 50 chars

 

Return Response

This API call will return in the ResponseMessage an array of the following fields.

Field Field Help
cid Company GUID.
mid mid of the event.
Company Company name.
CompanyTel Company telephone.
CompanyFax Company fax number.
CompanyEmail Company email
CompanyWeb Company website URL.
Category Category of the event.
ShortDescription Title of the event.
LongDescription Main body of text about the event.
EventLocation Location of the event.
StartDate The date the event should begin showing on the website.
StartTime The time the event should begin showing on the website.
EndDate The date the event should stop showing on the website.
EndTime The time the event should stop showing on the website.
EventCode  
Address1 First line of the company’s address.
Address2 Second line of the company’s address.
Address3 Third line of the company’s address.
Address4 Fourth line of the company’s address.
County Countr set on the company’s address.
Postcode Company’s postcode.
Country Country set on the company’s address.
CompanyLogo URL of the company’s logo.
Twitter URL of the company’s Twitter.
LinkedIn URL of the company’s LinkedIn.
Facebook URL of the company’s Facebook.
YouTube URL of the company’s YouTube.
Google URL of the company’s Google.
Instagram URL of the company’s Instagram.
Yammer URL of the company’s Yammer.
Pinterest URL of the company’s Pinterest.

 

9.3. api/MemberNews

This API call is used to return submitted Member News.

Parameters To Submit

Parameters can be submitted as blank values.

Parameter Parameter Help Parameter Data Type
uid Contact’s uid. String – Max 50 chars
nid Empty string for all news item or provide an nid for a specific news item. String – Max 50 chars

 

Return Response

This API call will return in the ResponseMessage an array of the following fields.

Field Field Help
cid Company GUID.
nid nid of the news item.
Company Company name.
CompanyTel Company telephone.
CompanyFax Company fax number.
CompanyEmail Company email
CompanyWeb Company website URL.
Category Category of the news item.
ShortDescription Title of the news item.
LongDescription Main body of text about the news item.
StartDate The date the news item should begin showing on the website.
EndDate The date the news item should stop showing on the website.
Address1 First line of the company’s address.
Address2 Second line of the company’s address.
Address3 Third line of the company’s address.
Address4 Fourth line of the company’s address.
County Countr set on the company’s address.
Postcode Company’s postcode.
Country Country set on the company’s address.
CompanyLogo URL of the company’s logo.
Twitter URL of the company’s Twitter.
LinkedIn URL of the company’s LinkedIn.
Facebook URL of the company’s Facebook.
YouTube URL of the company’s YouTube.
Google URL of the company’s Google.
Instagram URL of the company’s Instagram.
Yammer URL of the company’s Yammer.
Pinterest URL of the company’s Pinterest.

 

9.4. api/MemberVacancies

This API call is used to return submitted Member Vacancies.

Parameters To Submit

Parameters can be submitted as blank values.

Parameter Parameter Help Parameter Data Type
uid Contact’s uid. String – Max 50 chars
vid Empty string for all vacancies or provide an vid for a specific vacancy. String – Max 50 chars

 

Return Response

This API call will return in the ResponseMessage an array of the following fields.

Field Field Help
cid Company GUID.
vid vid of the vacancy.
Company Company name.
CompanyTel Company telephone.
CompanyFax Company fax number.
CompanyEmail Company email
CompanyWeb Company website URL.
Category Category of the vacancy.
ShortDescription Title of the vacancy.
LongDescription Main body of text about the vacancy.
StartDate The date the vacancy should begin showing on the website.
EndDate The date the vacancy should stop showing on the website.
Address1 First line of the company’s address.
Address2 Second line of the company’s address.
Address3 Third line of the company’s address.
Address4 Fourth line of the company’s address.
County Country set on the company’s address.
Postcode Company’s postcode.
Country Country set on the company’s address.
CompanyLogo URL of the company’s logo.
Twitter URL of the company’s Twitter.
LinkedIn URL of the company’s LinkedIn.
Facebook URL of the company’s Facebook.
YouTube URL of the company’s YouTube.
Google URL of the company’s Google.
Instagram URL of the company’s Instagram.
Yammer URL of the company’s Yammer.
Pinterest URL of the company’s Pinterest.

 

10. Payment Process

10.1. api/UserPayment

This API call is used to submit items from a user’s basket for payment. You have three payment type options that you can submit. These are:

•    Invoice – If the client allows users to pay for an item by invoice. An invoice request will be generated and created in Rubi to be submitted to the client’s accounting integration (if applicable). A booking confirmation email will be sent to the user, noting that they will receive an invoice in due course.

•    CardPayment – If the client allows users to pay by card, you can submit this option. This will return details such as the TransactionID, which can be used in the subsequent payment result call, like the api/StripeResult API call.

•    Confirm – If the total items in the user’s basket equals 0.00. A booking confirmation email will automatically be sent to the user.

Parameters To Submit

All parameters below highlighted with “*” cannot be submitted as blank values.

Parameter Parameter Help Parameter Data Type
uid* Contact’s uid. String – Max 50 chars
PaymentType* Submit payment type of either "Invoice", "CardPayment" or "Confirm" ("Confirm" should only be used where the items total = 0.00). String – Max 20 chars
PaymentItems* An array of ItemGUIDs returned from UserBasket. Process “Bookings” and “Subscriptions” separately. String
Address1* First line of the contact’s address if the contact has a personal address different to main Company/Organisation address. String – Max 75 chars
Address2 Second line of the contact’s address if the contact has a personal address different to main Company/Organisation address. String – Max 75 chars
Address3 Third line of the contact’s address if the contact has a personal address different to main Company/Organisation address. String – Max 75 chars
Address4* Fourth line of the contact’s address if the contact has a personal address different to main Company/Organisation address. String – Max 75 chars
County* County the contact resides if the contact has a personal address different to main Company/Organisation address. String – Provide ListValue from api/PortalList “County”
Postcode* Postcode of the contact’s address if the contact has a personal address different to main Company/Organisation address. String – Max 15 chars
Country* Country where the contact resides if the contact has a personal address different to main Company/Organisation address. String – Provide ListValue from api/PortalList “Country”
EmailAddress* Contact’s email address. String – Max 250 chars
PONumber Transaction PO Number. String – Max 100 chars
MobCountry* Contact’s telephone country code. String – Max 5 chars
Mob* Contact’s telephone number. String – Max 25 chars

 

Return Response

This API call will return in the ResponseMessage an array of the following fields.

Field Field Help
TransactionID Value can be passed to the client’s Card Payment Processing provider. For matching up transactions in Rubi.
TransactionType The value will match the PaymentType provided when calling the method.
ItemGUID The value will match the value provided when calling the method.
ItemTotal The value will be the total value of the item, including any applicable VAT/tax.
ItemDetail String value to describe what the item is.
ItemStatus Will return either the Booking or Subscription status.
Address1 The value will match the value provided when calling the method.
Address2 “”
Address3 “”
Address4 “”
County “”
Postcode “”
Country “”
EmailAddress “”
PONumber “”
MobCountry “”
Mob “”
EmailSubject Will have an email subject for generating emails to send to the end-user (applies to Invoice or Confirm items only).
EmailBody Will have an email body for generating emails to send to the end-user (applies to Invoice or Confirm items only).
EmailBCC Will have an email bcc array for generating emails to send to the end-user (applies to Invoice or Confirm items only).
EmailAttachments Will have an attachments array for generating emails to send to end-user (applies to Invoice or Confirm items only).

 

IMPORTANT: Card Payments will return a single array with the total value for the card payment. The TransactionID and other details returned, including the ItemTotal, can then be passed to the card payment provider for authorisation.

By default, booking confirmation emails are sent following the success of this API call. This applies to the Payment Types of Invoice and Confirm. If you would prefer emails not to be sent from RubiCRM, please contact us.

10.2. api/StripeResult

This API call allows the response string result of the payment from Stripe to be submitted.

Parameters To Submit

All parameters are required and cannot be empty.

Parameter Parameter Help Parameter Data Type
TransactionID The transaction ID that was returned from api/UserPayment. String
StripeResponse You can pass the response from Stripe into this field. We only use the “id”, “status” and “amount” passed from Stripe, so your array can just contain these pieces of information. String

 

Return Response

This API call will return in the ResponseMessage an array of the following fields.

Field Field Help
EmailAddress The value will match the value provided as part of api/UserPayment and be the email address used to send a booking confirmation email.
EmailSubject Will have an email subject for generating emails to send to the end-user.
EmailBody Will have an email body for generating emails to send to the end-user.
EmailBCC Will have an email bcc array for generating emails to send to the end-user.
EmailAttachments Will have an attachments array for generating emails to send to the end-user.
FirstName The first name of the user who processed the transaction.
LastName The last name of the user who processed the transaction.

 

11. Miscellaneous API Calls

11.1. api/UserBasket

This API call returns any items currently waiting for payment/action in the user’s basket.

Parameters To Submit

All parameters are required and cannot be empty.

Parameter Parameter Help
uid Contact’s uid.
Item Options available for this item are Bookings, Subscriptions or an empty string (to return "All" items)

 

Return Response

This API call will return an array of any items requiring action by the user. ItemGUIDs returned in this array should be used when making a payment. Subscriptions in the user’s basket may include "Join" or "Renew" subscriptions.

ResponseMessage will return the following fields of data.

Item Type “Booking”

Field Field Help
ItemGUID bid.
Item Returns that the item is a “Booking”.
ItemDetails The event name.
ItemContact The contact attending the event the booking is associated with.
ItemValue The booking price, excluding tax.
ItemTax The booking tax.
ItemTaxRate The booking tax rate.
ItemTotal The booking price includes tax.
ItemSaving The actual saving made on the booking.
ItemPotentialSaving The savings set for the price type.
ItemRateType Price type used for booking.
ItemInfo1 Special requests made.
ItemInfo2 Booking notes made. Normally, for internal purposes for the client.
eid The event’s eid the booking was made for.
NamedGuestOrg Named guest organisation (if a named guest was set).
NamedGuestName Named guest name (if a named guest was set).
NamedGuestEmail Named guest email (if a named guest was set).

 

Item Type “Subscription”

Field Field Help
ItemGUID Sale GUID.
Item Returns that the item is a “Subscription”.
ItemDetails The sale service.
ItemContact The contact the sale pipeline item is associated with.
ItemValue The sale pipeline price excluding tax.
ItemTax The sale pipeline tax.
ItemTaxRate The sale pipeline tax rate.
ItemTotal The sale pipeline price including tax.
ItemSaving N/A
ItemPotentialSaving N/A
ItemRateType N/A
ItemInfo1 N/A
ItemInfo2 N/A
eid N/A

11.2. api/UserItemCount

This API call will return a count of any items currently waiting for payment/action in the user’s basket.

Parameters To Submit

All parameters are required and cannot be empty.

Parameter Parameter Help
uid Contact’s uid.
Item Options available for this item are "Basket".

 

Return Response

This API call will return an array of item counts, e.g. for displaying the count next to the user’s "basket".

11.3. api/PortalList

This API call is used to return various options available for dropdown selections.

Available List Options

•    County – Returns all County options that are within the client’s CRM.

•    Country – Returns all Country options that are within the client’s CRM.

•    WhereHear – Returns all sources of lead options that are within the client’s CRM.

•    BusinessCategory – Returns all the different business category types that are within the client’s CRM.

•    Classification – Returns all classification options that are within the client’s CRM (if applicable).

•    Subscriptions – Returns all available membership/customer subscription packages available if users wish to "Join".

•    Postcode|yourpostcodevalue - (e.g. Postcode|LS12) used as part of the registration process to return records matching the supplied postcode. Results will include a "My Organisation Is Not Listed" option (See Registration method).

•    OfferCategory – Returns all Offer categories that are within the client’s CRM.

•    EventCategory – Returns all Event categories that are within the client’s CRM.

•    NewsCategory – Returns all News categories that are within the client’s CRM.

•    VacancyCategory – Returns all Vacancy categories that are within the client’s CRM.

Parameters To Submit

All parameters are required and cannot be empty.

Parameter Parameter Help
List A list of available options is shown above under “Available List Options”.

 

Return Response

This API call will return an array of all items relating to the list option submitted.

12. Custom API Calls

12.1. api/NewUsers

This API call will return all contact records created within the last 24-hour period.

Parameters To Submit

You are only required to supply your API Key to this API call.

Return Response

The API call will return the following fields of data.

Field Field Help
uid The new contact's GUID.
cid The Primary Record the contact is associated with.
FirstName The new contact’s first name.
LastName The new contact’s last name.
EmailAddress The new contact’s email address.
CreatedFrom Whether the contact was created on the website or by a staff member within the CRM.
DateCreated When the new contact was created.