customer relationship management api v3 · 2017-10-24 · o2 (supports oauth 1.0a and 2.0)...

400
Page 1 of 400 RSS API v3.0 Documentation API Doc. v0.9.2 Customer Relationship Management API v3.0 A Really Simple Guide to Using Our New API Really Simple Systems Limited http://www.reallysimplesystems.com ©2015 Really Simple Systems Limited, All Rights Reserved.

Upload: others

Post on 14-Aug-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

  • Page 1 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    Customer Relationship

    Management API v3.0

    A Really Simple Guide to Using Our New API

    Really Simple Systems Limited http://www.reallysimplesystems.com

    ©2015 Really Simple Systems Limited, All Rights Reserved.

    http://www.reallysimplesystems.com/

  • Page 2 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    Table of Contents Table of Contents ............................................................................................................................................... 2

    Introduction ....................................................................................................................................................... 6

    About This Document ..................................................................................................................................... 6

    Authentication ................................................................................................................................................... 7

    Basic Authentication Steps ............................................................................................................................. 7

    OAuth 2 Client Libraries ................................................................................................................................. 8

    PHP ............................................................................................................................................................. 8

    Objective C ................................................................................................................................................. 8

    Java ............................................................................................................................................................. 8

    Scala ........................................................................................................................................................... 8

    Python ........................................................................................................................................................ 8

    Ruby ........................................................................................................................................................... 8

    Javascript .................................................................................................................................................... 9

    .NET ............................................................................................................................................................ 9

    Qt/C++ ........................................................................................................................................................ 9

    Lua/Corona SDK .......................................................................................................................................... 9

    Dart ............................................................................................................................................................ 9

    Other Useful OAuth 2 Links ............................................................................................................................ 9

    Making Requests ................................................................................................................................................ 9

    General Information ....................................................................................................................................... 9

    Formatting Your Headers ............................................................................................................................. 10

    Including Your Preferred Content-Type .................................................................................................... 10

    Including Your Token ................................................................................................................................ 10

    Responses and Errors ....................................................................................................................................... 11

    Response Formats ........................................................................................................................................ 11

    Status Codes ................................................................................................................................................. 11

    Validation Errors ........................................................................................................................................... 12

    Rate Limits ........................................................................................................................................................ 13

    Sandbox Mode ................................................................................................................................................. 15

    Mapped Fields Mode ....................................................................................................................................... 16

    Code Samples ................................................................................................................................................... 16

    Libraries ........................................................................................................................................................ 17

  • Page 3 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    PHP ........................................................................................................................................................... 17

    Java ........................................................................................................................................................... 17

    Ruby ......................................................................................................................................................... 18

    cURL ......................................................................................................................................................... 19

    Python ...................................................................................................................................................... 19

    C# / C++ .................................................................................................................................................... 20

    Node.js ..................................................................................................................................................... 20

    Record Types and their Methods ..................................................................................................................... 20

    Accounts ....................................................................................................................................................... 20

    Retrieving Multiple Accounts ................................................................................................................... 21

    Retrieving a Single Account ...................................................................................................................... 32

    Creating An Account ................................................................................................................................. 39

    Updating an Account ................................................................................................................................ 46

    Deleting an Account ................................................................................................................................. 52

    Activities ....................................................................................................................................................... 58

    Retrieving Multiple Activities ................................................................................................................... 59

    Retrieving a Single Activity ....................................................................................................................... 67

    Creating a New Activity ............................................................................................................................ 73

    Updating an Activity ................................................................................................................................. 80

    Deleting an Activity .................................................................................................................................. 86

    Contacts ....................................................................................................................................................... 91

    Retrieving Multiple Contacts .................................................................................................................... 92

    Retrieving a Single Contact ..................................................................................................................... 103

    Creating a New Contact .......................................................................................................................... 111

    Updating a Contact ................................................................................................................................. 118

    Deleting a Contact .................................................................................................................................. 126

    Campaigns .................................................................................................................................................. 131

    Retrieving Multiple Campaigns............................................................................................................... 132

    Retrieving a Single Campaign ................................................................................................................. 141

    Creating a New Campaign ...................................................................................................................... 147

    Updating a Campaign ............................................................................................................................. 154

    Deleting a Campaign............................................................................................................................... 160

    Campaign Details ........................................................................................................................................ 166

    Retrieving Multiple Campaign Details .................................................................................................... 166

  • Page 4 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    Retrieving a Single Campaign Detail ....................................................................................................... 174

    Creating a New Campaign Detail ............................................................................................................ 180

    Updating a Campaign Detail ................................................................................................................... 186

    Deleting a Campaign Detail .................................................................................................................... 192

    Campaign Stages ........................................................................................................................................ 198

    Retrieving Multiple Campaign Stages ..................................................................................................... 198

    Retrieving a Single Campaign Stage ........................................................................................................ 207

    Creating a New Campaign Stage............................................................................................................. 213

    Updating a Campaign Stage.................................................................................................................... 220

    Deleting a Campaign Stage ..................................................................................................................... 226

    Cases .......................................................................................................................................................... 232

    Retrieving Multiple Cases ....................................................................................................................... 232

    Retrieving a Single Case .......................................................................................................................... 242

    Creating a New Case ............................................................................................................................... 248

    Updating a Case ...................................................................................................................................... 255

    Deleting a Case ....................................................................................................................................... 261

    Documents ................................................................................................................................................. 267

    Retrieving Multiple Documents .............................................................................................................. 267

    Retrieving a Single Document ................................................................................................................ 276

    Creating a New Document ..................................................................................................................... 282

    Updating a Document ............................................................................................................................ 288

    Deleting a Document .............................................................................................................................. 294

    Opportunities ............................................................................................................................................. 300

    Retrieving Multiple Opportunities .......................................................................................................... 301

    Retrieving a Single Opportunity.............................................................................................................. 310

    Creating a New Opportunity................................................................................................................... 316

    Updating an Opportunity ....................................................................................................................... 323

    Deleting an Opportunity ......................................................................................................................... 330

    Opportunity Histories ................................................................................................................................. 335

    Retrieving Multiple Opportunity Histories ............................................................................................. 336

    Retrieving a Single Opportunity History ................................................................................................. 344

    Creating a New Opportunity History ...................................................................................................... 350

    Updating an Opportunity History ........................................................................................................... 356

    Deleting an Opportunity History ............................................................................................................ 362

  • Page 5 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    Opportunity Lines ....................................................................................................................................... 368

    Retrieving Multiple Opportunity Lines ................................................................................................... 369

    Retrieving a Single Opportunity Line ...................................................................................................... 376

    Creating a New Opportunity Line ........................................................................................................... 382

    Updating an Opportunity Line ................................................................................................................ 388

    Deleting an Opportunity Line ................................................................................................................. 395

  • Page 6 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    Introduction The Really Simple Systems CRM API version 3.0 is a RESTful (Representational State Transfer) API allowing you to make requests to Create, Read, Update and Delete your CRM edition’s records.

    The CRM API v3.0 can accept your requests in either JSON or XML formats. You will need to understand how to make HTTP requests in order to use the API although we have provided some introductory information and useful links (in addition to a comprehensive guide about the methods available to you) in this document to assist you or your developers.

    The CRM API v3.0 needs to be enabled for you to be able to use it. In order to do so please contact Customer Support or your account manager who will be able to provide you with the necessary authentication information to allow you to make requests.

    Some customers will already be using Version 1 or Version 2 of the Really Simple Systems API both of which utilise SOAP (Simple Object Access Protocol).

    If you are migrating from a previous version of the API please ensure that you test your existing systems using the Sandbox Mode in v3.0 (which is explained in this document) before using the API to make changes to your live data.

    This document includes a guide to help you get started which outlines the various features and modes available within the new API; code samples to help you configure your application to use the new API; information about authentication; and a comprehensive guide to the methods available and how you should structure your data when making requests.

    We have tried to make the new version of the Really Simple Systems CRM API as easy to use as possible but if you require any additional information please contact your account manager or the support team who will be happy to help you.

    About This Document

    This is the draft guide to using the new Really Simple Systems CRM API v3.0. An updated version of this document will be released when the beta testing of new API has been completed.

    The JSON and XML examples in this document are provided to demonstrate the structure you should use for making requests and the structure of data you will receive in response. Specific field names may be different to those configured in your CRM edition. Please use the OPTIONS method explained in this document to confirm the field names configured in your CRM edition.

    If you find any element of this document unclear please contact the support team for additional assistance. Based on feedback from clients we will expand this document to clarify any areas which clients have had difficulties with so your feedback is greatly appreciated.

    https://en.wikipedia.org/wiki/Representational_state_transferhttps://en.wikipedia.org/wiki/JSONhttps://en.wikipedia.org/wiki/XMLhttp://www.reallysimplesystems.com/contacting-support/http://www.reallysimplesystems.com/contacting-support/https://webtrans.reallysimplesystems.com/api/api.v1.asmxhttps://webtrans.reallysimplesystems.com/api/api.v2.asmxhttps://en.wikipedia.org/wiki/SOAP

  • Page 7 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    Authentication To protect your security requests will only be accepted via HTTP SSL.

    Authentication is managed using the OAuth 2 protocol. OAuth 2 is an open protocol to allow secure authorization in a simple and standard method from web, mobile and desktop applications.

    OAuth 2 is the latest evolution of the OAuth protocol. OAuth 2 focuses on client/developer simplicity providing specific authorization flows for applications and devices. The OAuth 2 specification is being developed within the IETF OAuth WG and is based on the OAuth WRAP proposal.

    Basic Authentication Steps

    There are 4 main steps for enabling your CRM edition to use the Really Simple Systems CRM API v3 which are:

    1. Request that the Really Simple Systems CRM API v3.0 is enabled for your customer account. You will be sent an id key and a secret key which you will be able to use along with your company name to create your access tokens.

    2. Create an access token by making a request to our RSS CRM OAuth 2 Authorisation server using your

    authorisation code. The following example uses cURL:

    curl -u YOUR_ID_KEY:YOUR_SECRET_KEY https://api.reallysimplesystems.com/v3/oauth2/ -d 'grant_type=client_credentials'

    3. Send the access token you receive to the API with your request as a header in the following format:

    Authorization: Bearer YOUR_TOKEN

    Or as a URL parameter as shown in the example below:

    https://api.reallysimplesystems.com/v3/accounts/?access_token=YOUR_TOKEN

    4. Tokens are issued with an expiry time of 3600 seconds so you will effectively need to create new access

    token every hour following the first request of your session.

    https://www.ietf.org/mailman/listinfo/oauthhttp://wiki.oauth.net/OAuth-WRAP

  • Page 8 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    OAuth 2 Client Libraries

    The following OAuth2 client libraries are available and can be integrated in to your application to help you authenticate your requests with our OAuth2 server.

    PHP • PHP • PHP OAuth 2.0 client • OAuth2/OpenID Connect Client Library for PHP/Zend Framework 2

    Objective C • Cocoa • iPhone and iPad • iOS and Mac OS X (draft 10)

    Java • Apache Oltu • Spring Social • Spring Security for OAuth • Restlet Framework (draft 30) • scribe-java

    Scala • Silhouette

    Python • sanction • rauth

    Ruby • Ruby Gem • Ruby

    http://www.phpclasses.org/package/7700-PHP-Authorize-and-access-APIs-using-OAuth.htmlhttps://github.com/fkooman/php-oauth-clienthttps://github.com/ivan-novakov/php-openid-connect-clienthttp://github.com/leebyron/cocoa-oauth2http://github.com/lukeredpath/LROAuth2Clienthttp://github.com/nxtbgthng/OAuth2Clienthttp://oltu.apache.org/http://www.springsource.org/spring-socialhttp://static.springsource.org/spring-security/oauth/http://www.restlet.org/https://github.com/fernandezpablo85/scribe-javahttp://silhouette.mohiva.com/http://github.com/demianbrecht/sanctionhttp://github.com/litl/rauthhttp://github.com/intridea/oauth2http://github.com/aflatter/oauth2-ruby

  • Page 9 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    Javascript • Javascript

    .NET • OWIN Middleware • DotNetOpenAuth • Spring Social for .NET

    Qt/C++ • O2 (supports OAuth 1.0a and 2.0)

    Lua/Corona SDK • Corona/Lua OAuth 2.0 API

    Dart • Dart OAuth 2.0 Client

    None of the libraries listed have been tested by us so we cannot comment on them or assist you in using them nor can we accept any liability for any loss suffered as a result of your use of them. They are provided for informational purposes only.

    Other Useful OAuth 2 Links

    • OAuth Community Website – http://oauth.net/2/ • OAuth 2 Specification – http://tools.ietf.org/html/rfc6749 • The Beginner’s Guide to OAuth – http://hueniverse.com/oauth/

    Making Requests General Information

    Below you will find a brief synopsis of the pertinent information you will need when making requests. For more detailed information please see the relevant sections of the API help documentation.

    All requests must be made over HTTPS.

    http://github.com/andreassolberg/jsohttp://www.nuget.org/packages/Microsoft.Owin.Security.OAuthhttp://www.dotnetopenauth.net/http://www.springframework.net/social/https://github.com/pipacs/o2http://selz.co/1kxjJVlhttps://pub.dartlang.org/packages/oauth2http://oauth.net/2/http://tools.ietf.org/html/rfc6749http://hueniverse.com/oauth/

  • Page 10 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    The following record types can be Created, Read, Updated and Deleted via the Really Simple Systems CRM API v3.0 (depending on the Edition you are using and the modules you have enabled):

    Record Type Editions Available On

    Accounts All Editions

    Activities All Editions

    Contacts All Editions

    Campaigns Premium and Enterprise (with Marketing module)

    Campaign Details Premium and Enterprise (with Marketing module)

    Campaign Stages Premium and Enterprise (with Marketing module)

    Cases Enterprise (with Service & Support module)

    Documents All Editions

    Opportunities All Editions

    Opportunity Histories All Editions

    Opportunity Lines All Editions

    Formatting Your Headers

    Below you will find information about correctly formatting your headers to make requests to the Really Simple Systems CRM API v3.0

    Including Your Preferred Content-Type Responses are available in application/json and text/xml. You can set your preferred response format by including either a ‘.json’ or ‘.xml’ extension to the URL you are making your request to. e.g. https://api.reallysimplesystems.com/v3/accounts.xml or https://api.reallysimplesystems.com/v3/accounts.json

    Including Your Token The Really Simple Systems CRM API v3.0 uses OAuth2 to authenticate requests. All requests must include a valid authentication token. You should include your authentication token using an ‘access_token’ parameter which contains your token or an ‘Authorisation’ header.

    Your token can also be included as header in the following format:

  • Page 11 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    Authorization: Bearer YOUR_TOKEN

    For more information about authentication please visit the Authentication section of this documentation.

    Responses and Errors Below you will find some basic information about responses and errors you can expect to receive.

    For more detailed information including example responses for each record type please see the relevant part of this document that corresponds to the record type you wish to interact with.

    Response Formats

    Responses are supplied in either application/json or application/xml format depending on your request.

    Status Codes

    When making a request the response you receive will include an HTTP status code to help you understand more about the response.

    In the table below you will find information about the possible status codes that may be returned and a brief explanation of what they mean and how you may resolve any errors.

    Response Code Response Title Response Description

    200 OK Indicates that your request has been successful.

    201 Created Indicates that your request has been successful and a new record, based on your request, has been created.

    400 Bad Request

    Indicates that your request was badly formed. This could be because the request data was incomplete in which case check that your data is properly formed application/json or application/xml. If the request has failed because of a data validation error you will be provided with additional information to help you resolve the issue.

    401 Unauthorized Indicates that your request could not be authorised. Please check your access token and the id of the record you are trying to retrieve, update or delete.

  • Page 12 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    402 Payment Required

    Indicates that your request has not been successful because you have reached the maximum number of the record type you are trying to create that are allowed under your current subscription plan; or that your subscription is overdue. Please contact your account manager to arrange an upgrade or make a payment to re-enable your RSS CRM edition.

    404 Not Found Indicates that the record you are trying to retrieve, update or delete could not be found or that the resource URL you are trying to access is incorrectly specified in your request.

    429 Too Many Requests

    Indicates that you have exceeded your API request limits. You will receive an email confirming this. To increase your API limits you should contact your account manager or our support team.

    500 Internal Server Error

    Indicates that an error has occured within the API application. If you believe that your request format is correct but you are still having problems then please contact our support team.

    Validation Errors

    When making a request to create or update a record type, if your data is in the incorrect format or cannot be validated you will receive a response with a status code of 400 with information about the validation errors that have occurred; unless you are using the HEAD method in which case you will just receive the status code and the headers.

    Validation errors are provided in the most descriptive format possible in order to allow you to track down the errors in your data and resolve them.

    Although validation errors will be displayed differently for different field types you will find some examples of error messages that you may receive below.

    • Invalid Date/Time:

    FIELD: {FIELD_NAME} (ALIAS: {FIELD_ALIAS}) (TYPE: {FIELD_TYPE}) IS NOT A VALID DATE/TIME IN THE FORMAT YYYY:MM:DD HH:mm:ss.

    • Invalid Email Address:

    FIELD: {FIELD_NAME} (ALIAS: {FIELD_ALIAS}) (TYPE: {FIELD_TYPE}) IS NOT A VALID EMAIL ADDRESS.

  • Page 13 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    • Invalid URL:

    FIELD: {FIELD_NAME} (ALIAS: {FIELD_ALIAS}) (TYPE: {FIELD_TYPE}) IS NOT A VALID URL.

    • Invalid Checkbox:

    FIELD: {FIELD_NAME} (ALIAS: {FIELD_ALIAS}) (TYPE: {FIELD_TYPE}) MUST HAVE A VALUE OF EITHER 1 OR 0.

    • Invalid Text:

    FIELD: {FIELD_NAME} (ALIAS: {FIELD_ALIAS}) (TYPE: {FIELD_TYPE}) CAN BE A MAXIMUM OF 100 CHARACTERS LONG.

    In each case {FIELD_NAME} will be replaced with the field name that has caused an error. {FIELD_ALIAS} will contain the name of the mapped field name for the custom field as defined in your CRM edition. {FIELD_TYPE} will contain the type of field that is expected. The final part of the error message will be some helpful text explaining the error.

    Rate Limits Your API limits are divided in to different time periods. They are limited: per 15 minute period; per 24 hour period; and per calendar month.

    The API limits set for your account will depend on whether you are using the Free, Premium or Enterprise editions of our CRM.

    You can increase the number of API calls available to you by contacting your account manager or emailing [email protected]. You can test your new API client using the Sandbox mode (whose calls to, do not count toward your limits); and reduce the API calls made by your applications by following our best practice methods for reducing your application’s API calls.

    Standard limits for each account type are shown below:

    CRM Edition API Calls / 15 Minutes API Calls / Day API Calls / Month

    Free 50 50 1,500

    mailto:[email protected]

  • Page 14 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    Premium 500 500 5,000

    Enterprise 500 5,000 50,000

    If you exceed your API call limits your administration user will receive an email and you will receive the following response in application/json or text/xml depending on the type of request that you made.

    Example Application/Json Response:

    STATUS CODE: 429

    HEADERS:

    Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET, OPTIONS, HEAD Access-Control-Allow-Origin: * Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: keep-alive Content-Length: 285 Content-Type: application/json; charset=UTF-8 Date: Wed, 22 Jul 2015 15:41:42 GMT Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Wed, 22 Jul 2015 15:40:58 GMT Server: Apache/2.4.7 (Ubuntu) X-Powered-By: Really Simple Systems API v3.0

    BODY:

    { "Accounts": { "success": "false", "error": { "message": "You have exceeded your API call limit allowance. An email has been sent providing you with more information. To increase your API call allowance please contact your account manager or email [email protected]." }, "data": null } }

  • Page 15 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    Example Application/XML Response:

    STATUS CODE: 429

    HEADERS:

    Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET, OPTIONS, HEAD Access-Control-Allow-Origin: * Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: keep-alive Content-Length: 344 Content-Type: application/xml; charset=UTF-8 Date: Wed, 22 Jul 2015 15:37:33 GMT Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Wed, 22 Jul 2015 15:36:49 GMT Server: Apache/2.4.7 (Ubuntu) X-Powered-By: Really Simple Systems API v3.0

    BODY:

    false You have exceeded your API call limit allowance. An email has been sent providing you with more information. To increase your API call allowance please contact your account manager or email [email protected].

    Sandbox Mode The Sandbox Mode is provided to allow you to develop and test your applications. The Sandbox Mode will replicate the functionality of the API but will not affect live data within the CRM.

    You are able to use the sandbox environment to:

    • Develop and test your applications without using up your daily API credits. • Test logic that would modify your CRM (changes in the sandbox environment do not affect live CRM

    campaigns).

  • Page 16 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    • Develop an API client library for Premium and Enterprise accounts without having a live Premium or Enterprise account (using the sandbox only requires a Free account).

    • Develop against new or changed API methods before the changes go live in the production service.

    To use the Sandbox Mode simply include the parameter sandbox in your API request as described below:

    sandbox (optional)

    Allows API calls via the sandbox to return the structure of the data expected without making changes to live data. Possible values are: `1` or `0`. Example value: `1` – indicates to the API you are using the sandbox testing mode. By default the live version of the API will be used if no `sandbox` parameter is provided as part of the request.

    Mapped Fields Mode The Mapped Fields Mode allows you to use the names of custom fields you have designated in your CRM edition administration system instead of the default custom field names in order to aid clarity. Mapped Fields Mode can be accessed by including the optional parameter ‘mapfields’ with a value of 1 in your requests. It is recommended that you check the names of your mapped fields by making an options request as documented in the help section that corresponds to the record type you wish to use before attempting to create or update records. Mapped Fields Mode is available for all HTTP request methods available for a given record type. Your preferred application/json or application/xml data will be returned with the data fields set to your custom field names when retrieving records. When creating or updating records your data can also be submitted with the values of the field names matching the field names you have set in your CRM edition administration system.

    Code Samples You will find information about HTTP client libraries available for various commonly used programming languages and links to their documentation and related code samples on this page.

    The code samples for the various programming languages shown below all use the Unirest libraries although many HTTP client libraries are available.

    We will be adding additional code samples to the next version of this documentation to provide additional examples of the type of calls that you can make.

  • Page 17 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    Libraries

    Unirest (http://unirest.io) provide free (MIT license) lightweight HTTP request client libraries for a number of different programming languages including Node.js, Ruby, PHP, Java, Python, Objective-C and.NET.

    PHP Below you will find a code sample (using the Unirest PHP library) for making a GET request to retrieve details of your accounts. THIS EXAMPLE REQUEST (AUTHORISED BY YOUR TOKEN) CAN BE USED TO RETRIEVE THREE OF YOUR ACCOUNT RECORDS CONTAINING THE TEXT ‘our’ ANYWHERE IN THE `NOTES` FIELD IN JSON FORMAT ORDERED IN DESCENDING ORDER BY THEIR `AddressCountry`.

    $headers = array("Accept" => "application/json", "Content-Type" => "application/json", "Authorization" => "Bearer ee636b5c023b67cf71956e6c3632027c72db49aa"); $body = array(); $parameters = array("limit" => "3", "search" => "%our%" "searchfield" => "Notes", "searchtype" => "like", "order" => "desc", "orderby" => "AddressCountry"); $response = Unirest\Request::get("https://api.reallysimplesystems.com/v3/accounts.json", $headers, $body, $parameters); $response->code; // HTTP Status code $response->headers; // Headers $response->body; // Parsed body $response->raw_body; // Unparsed body

    There are numerous ways to make HTTP requests using PHP. In addition to the Unirest library mentioned above the PECL library includes the function HTTPRequest::send() from the HTTPRequest class which can be used for making HTTP requests.

    For code examples for the PECL library see… http://php.net/manual/en/httprequest.send.php If you are using a PHP framework for your application you will find most have a class for making HTTP requests included. Please see your framework’s documentation for more information and code samples.

    Java Below you will find a code sample (using the Unirest Java library) for making a GET request to retrieve details of your accounts. THIS EXAMPLE REQUEST (AUTHORISED BY YOUR TOKEN) CAN BE USED TO RETRIEVE THREE OF YOUR ACCOUNT RECORDS CONTAINING THE TEXT ‘our’ ANYWHERE IN THE `NOTES` FIELD IN JSON FORMAT ORDERED IN DESCENDING ORDER BY THEIR `AddressCountry`.

    http://unirest.io/http://unirest.io/nodejs.htmlhttp://unirest.io/ruby.htmlhttp://unirest.io/php.htmlhttp://unirest.io/java.htmlhttp://unirest.io/python.htmlhttp://unirest.io/objective-c.htmlhttp://unirest.io/net.htmlhttp://unirest.io/php.htmlhttp://php.net/manual/en/httprequest.send.phphttp://unirest.io/java.html

  • Page 18 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    HttpResponse jsonResponse = Unirest.get("https://api.reallysimplesystems.com/v3/accounts.json") .header("Accept", "application/json") .header("Content-Type", "application/json") .header("Authorization", "Bearer ee636b5c023b67cf71956e6c3632027c72db49aa") .field("limit", "3") .field("search", "%our%") .field("searchfield", "Notes") .field("searchtype", "like") .field("order", "desc") .field("orderby", "AddressCountry") .asJson();

    Google provide the Google HTTP Client Library for Java which is a flexible, efficient Java library for accessing resources on the web via HTTP using Java. Google also provide the Google OAuth Client Library for Java for the OAuth 2 authorisation standard used by our API.

    Ruby Below you will find a code sample (using the Unirest Ruby library) for making a GET request to retrieve details of your accounts. THIS EXAMPLE REQUEST (AUTHORISED BY YOUR TOKEN) CAN BE USED TO RETRIEVE THREE OF YOUR ACCOUNT RECORDS CONTAINING THE TEXT ‘our’ ANYWHERE IN THE `NOTES` FIELD IN JSON FORMAT ORDERED IN DESCENDING ORDER BY THEIR `AddressCountry`.

    response = Unirest.get "https://api.reallysimplesystems.com/v3/accounts.json", headers:{ "Accept" => "application/json", "Content-Type" => "application/json", "Authorization" => "Bearer ee636b5c023b67cf71956e6c3632027c72db49aa" }, parameters:{ :limit => "3", :search => "%our%" :searchfield => "Notes", :searchtype => "like", :order => "desc", :orderby => "AddressCountry" } response.code # Status code response.headers # Response headers response.body # Parsed body response.raw_body # Unparsed body

    There are numerous HTTP clients available for Ruby. For a comprehensive list see the Ruby Toolbox HTTP clients page.

    https://developers.google.com/api-client-library/java/google-http-java-client/https://developers.google.com/api-client-library/java/google-oauth-java-client/http://unirest.io/ruby.htmlhttps://www.ruby-toolbox.com/categories/http_clientshttps://www.ruby-toolbox.com/categories/http_clients

  • Page 19 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    cURL Below you will find a code sample (using cURL) for making a GET request to retrieve details of your accounts.

    THIS EXAMPLE REQUEST (AUTHORISED BY YOUR TOKEN) CAN BE USED TO RETRIEVE THREE OF YOUR ACCOUNT RECORDS CONTAINING THE TEXT ‘our’ ANYWHERE IN THE `NOTES` FIELD IN JSON FORMAT ORDERED IN DESCENDING ORDER BY THEIR `AddressCountry`.

    curl --request GET 'https://api.reallysimplesystems.com/v3/accounts.json?limit=3&search=%our%&searchfield=Notes&searchtype=like&order=desc&orderby=AddressCountry' \ --header 'Accept:application/json' \ --header 'Content-Type:application/json' \ --header 'Authorization: Bearer ee636b5c023b67cf71956e6c3632027c72db49aa'

    The opensource cURL library is a very stable library available for many different operating systems and can be used to make HTTP requests simply and efficiently.

    Python Below you will find a code sample (using the Unirest Python library) for making a GET request to retrieve details of your accounts. THIS EXAMPLE REQUEST (AUTHORISED BY YOUR TOKEN) CAN BE USED TO RETRIEVE THREE OF YOUR ACCOUNT RECORDS CONTAINING THE TEXT ‘our’ ANYWHERE IN THE `NOTES` FIELD IN JSON FORMAT ORDERED IN DESCENDING ORDER BY THEIR `AddressCountry`.

    response = unirest.get("https://api.reallysimplesystems.com/v3/accounts.json", headers={ "Accept": "application/json", "Content-Type": "application/json", "Authorization": "Bearer ee636b5c023b67cf71956e6c3632027c72db49aa" }, params={ "limit": 3, "search": "%our%", "searchfield": "Notes", "searchtype": "like", "order": "desc", "orderby": "AddressCountry" }) response.code # The HTTP status code response.headers # The HTTP headers response.body # The parsed response response.raw_body # The unparsed response

    Python includes the http.client module specifically designed for implimenting the client side of the HTTP and HTTPS protocols via Python. It is normally not used directly — the urllib.request module uses it to handle URLs that use HTTP and HTTPS.

    http://curl.haxx.se/http://curl.haxx.se/docs/httpscripting.htmlhttp://unirest.io/python.htmlhttps://docs.python.org/3/library/http.client.htmlhttps://docs.python.org/3/library/urllib.request.html#module-urllib.request

  • Page 20 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    C# / C++ The MSDN library provides the HTTPClient Class which can be used for making HTTP requests in either C# or C++. For code samples and documentation see the MSDN website.

    Node.js Below you will find a code sample (using the Unirest Node.js library) for making a GET request to retrieve details of your accounts. THIS EXAMPLE REQUEST (AUTHORISED BY YOUR TOKEN) CAN BE USED TO RETRIEVE THREE OF YOUR ACCOUNT RECORDS CONTAINING THE TEXT ‘our’ ANYWHERE IN THE `NOTES` FIELD IN JSON FORMAT ORDERED IN DESCENDING ORDER BY THEIR `AddressCountry`.

    unirest.get('https://api.reallysimplesystems.com/v3/accounts.json') .header('Accept', 'application/json') .header('Content-Type', 'application/json') .header('Authorization', 'Bearer ee636b5c023b67cf71956e6c3632027c72db49aa') .send({ "limit": "3", "search": "%our%", "searchfield": "Notes", "searchtype": "like", "order": "desc", "orderby": "AddressCountry" }) .end(function (response) { console.log(response.body); });

    To use the built in HTTP client for Node.js you must require(‘http’). The HTTP interfaces are simple to use. For full documentation and code samples see the Nodejs.org website.

    Record Types and their Methods

    Accounts

    To retrieve or make changes to your accounts you can perform the actions shown in the table below.

    Title Methods Description

    RETRIEVE MANY GET,

    HEAD, OPTIONS

    Used to retrieve multiple accounts in a single request. More info…

    https://msdn.microsoft.com/en-us/library/system.net.http.httpclient(v=vs.118).aspxhttp://unirest.io/nodejs.htmlhttps://nodejs.org/api/http.html

  • Page 21 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    RETRIEVE ONE GET,

    HEAD, OPTIONS

    Used to retrieve a single account. More info…

    CREATE POST, HEAD,

    OPTIONS Used to create a new account. More info…

    UPDATE

    POST, PATCH, HEAD,

    OPTIONS

    Used to update all an account’s data or to update some of an account’s data. More info…

    DELETE DELETE, HEAD,

    OPTIONS Used to delete a single account. More info...

    Retrieving Multiple Accounts Return up to 100 accounts belonging to the company of the authenticated customer. Accounts can be searched and ordered using various different fields and paginated allowing selected accounts or all your accounts to be retrieved.

    Resource URLs • https://api.reallysimplesystems.com/v3/accounts.json • https://api.reallysimplesystems.com/v3/accounts.xml

    Resource Information

    HTTPS/HTTP HTTPS Only

    Allowed methods GET, HEAD, OPTIONS

    Response formats JSON, XML

    Requires authentication? YES

    Rate limited? YES

    Resource Parameters The following parameters can be used to access different API modes or to provide your search or pagination criteria.

  • Page 22 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    sandbox (optional)

    Allows API calls via the sandbox to return the structure of the data expected without making changes to live data. Possible values are: `1` or `0`. Example value: `1` – indicates to the API you are using the sandbox testing mode. By default the live version of the API will be used if no `sandbox` parameter is provided as part of the request.

    mapfields (optional)

    Determines whether API requests and responses will use default fields names or mapped field names you have set in your administration system. Possible values are: `1` or `0`. Example value: `1` – indicates to the API you are using mapped fields. By default requests and responses will use default field names if no `mapfields` parameter is provided as part of the request.

    orderby (optional)

    The order by which you would like your records returned. Possible values include: `CreatedDate`, `ModifiedDate`, `id` or `Name`. Example value: `CreatedDate`. By default records will be returned ordered by `id`. For a complete list of possible values please see the table ‘Searchable and Orderable Fields’ below.

    order (optional) Whether you would like your records returned in ascending or descending order. Possible values include: `desc`, `asc`. Example value: `desc`.

    search (optional)

    An alphanumeric search string or date (YYYY-MM-DD HH:mm:ss) for filtering records. Search strings can include wildcard values denoted by bracketing your search query with percentage quotes i.e. `%`. Example values: `abc`or `%ab%` or `2015-06-24 18:34:22`.

    searchfield (optional)

    The field that the search string will be applied against to filter records. Possible values include `Name`, `CreatedDate`, `ModifiedDate`. Example value: `Name`. For a complete list of possible values please see the table ‘Searchable and Orderable Fields’ below.

    searchtype (optional) The operator that will be used with the search string and search field to be applied to filter records. Possible values include `=` or `>` or `>=` or `

  • Page 23 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    Field Name Type Searchable Orderable

    id integer Yes Yes

    Name text Yes Yes

    Type text Yes Yes

    AddressLine text Yes Yes

    AddressCity text Yes Yes

    AddressState text Yes Yes

    AddressZip text Yes Yes

    AddressCountry text Yes Yes

    Phone text Yes Yes

    Fax text Yes Yes

    URL text Yes Yes

    Revenue double Yes Yes

    Employees integer Yes Yes

    Sector text Yes Yes

    Source text Yes Yes

    Notes text Yes Yes

    CampaignId integer Yes Yes

    CreatedDate date/time Yes Yes

    ModifiedDate date/time Yes Yes

    Example Requests The following methods can be used when making requests.

    HTTP Method Description

    GET Returns the accounts requested in the format requested.

    HEAD Returns the success headers but does not return the body containing the data. Useful in sandbox mode for testing requests.

  • Page 24 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    OPTIONS Returns information about the methods available and an example format for making requests (including the names of fields you have set in your administration system for custom fields).

    JSON

    Below you will find an example of a successful JSON request.

    GET https://api.reallysimplesystems.com/v3/accounts.json?access_token=ee636b5c023b67cf71585e6c3632027c72db49ag&mapfields=0&limit=3&search=%our%&searchfield=Notes&searchtype=like&order=desc&orderby=AddressCountry

    HEADERS:

    Accept: application/json Content-Type: application/json

    XML

    Below you will find an example of a successful XML request.

    GET https://api.reallysimplesystems.com/v3/accounts.xml?access_token=ee636b5c023b67cf71585e6c3632027c72db49ag&mapfields=0&limit=3&search=%our%&searchfield=Notes&searchtype=like&order=asc&orderby=id

    HEADERS:

    Accept: application/xml Content-Type: application/xml

    Example Responses Below you will find example responses from successful requests.

    Successful Responses

    Response Code Response Title Response Message

    200 OK Your request was successful.

    JSON

    Below you will find an example response for a successful JSON request.

    HEADERS:

    Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET, OPTIONS, HEAD Access-Control-Allow-Origin: *

  • Page 25 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: keep-alive Content-Length: 285 Content-Type: application/json; charset=UTF-8 Date: Tue, 11 Aug 2015 17:08:09 GMT Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Tue, 11 Aug 2015 17:08:09 GMT Server: Apache/2.4.7 (Ubuntu) X-Powered-By: Really Simple Systems API v3.0

    BODY:

    { "Accounts": { "success": "true", "error": { "message": "Your request was successful." }, "data": { "Account": [ { "id": "1", "Name": "Acme Corportation", "AddressLine": "1 Wadsworth Avenue", "AddressCity": "Los Angeles", "AddressState": "", "AddressZip": "90001", "AddressCountry": "USA", "OwnerId": "1", "CampaignId": "0", "Source": "", "Notes": "One of our most important prospects.", "SLAId": "0", "Custom01": "", "Custom02": "", "Custom03": "", "Custom04": "", "Custom05": "", "Custom06": "", "Custom07": "", "Custom09": "", "Custom10": "", "Custom11": "", "Custom12": "", "CreatedDate": "2015-08-11 17:08:09", "ModifiedDate": "2015-08-11 17:08:09"

  • Page 26 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    }, { "id": "2", "Name": "Joe Blogs Limited", "AddressLine": "1 Regent Street", "AddressCity": "London", "AddressState": "", "AddressZip": "", "AddressCountry": "United Kingdom", "OwnerId": "1", "CampaignId": "0", "Source": "", "Notes": "One of our prospects to contact re: the new product.", "SLAId": "0", "Custom01": "", "Custom02": "", "Custom03": "", "Custom04": "", "Custom05": "", "Custom06": "", "Custom07": "", "Custom09": "", "Custom10": "", "Custom11": "", "Custom12": "", "CreatedDate": "2015-03-10 14:11:11", "ModifiedDate": "2015-03-10 14:11:11" }, { "id": "3", "Name": "La Petite Compagnie", "AddressLine": "", "AddressCity": "", "AddressState": "", "AddressZip": "", "AddressCountry": "France", "OwnerId": "1", "CampaignId": "0", "Source": "", "Notes": "This company is one of our best clients.", "SLAId": "0", "Custom01": "", "Custom02": "", "Custom03": "", "Custom04": "", "Custom05": "",

  • Page 27 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    "Custom06": "", "Custom07": "", "Custom09": "", "Custom10": "", "Custom11": "", "Custom12": "", "CreatedDate": "2015-08-11 17:08:09", "ModifiedDate": "2015-08-11 17:08:09" } ] } } }

    XML

    Below you will find an example response for a successful XML request.

    HEADERS:

    Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET, OPTIONS, HEAD Access-Control-Allow-Origin: * Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: keep-alive Content-Encoding: gzip Content-Length: 657 Content-Type: application/xml; charset=UTF-8 Date: Tue, 11 Aug 2015 17:08:09 GMT Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Tue, 11 Aug 2015 17:08:09 GMT Server: Apache/2.4.7 (Ubuntu) Vary: Accept-Encoding X-Powered-By: Really Simple Systems API v3.0

    BODY:

    true Your request was successful.

  • Page 28 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    1 Acme Corporation 1 Wadsworth Avenue Los Angeles 90001 United States 1 0 One of our most important prospects. 0 2015-08-11 17:08:09 2015-08-11 17:08:09 2 Joe Blogs Limited 1 Regent Street London United Kingdom 1 0 One of our prospects to contact re: the new product. 0

  • Page 29 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    2015-08-11 17:08:09 2015-08-11 17:08:09 3 La Petite Compagnie France 1 0 This company is one of our best clients. 0 2015-08-11 17:08:09 2015-08-11 17:08:09

    Unsuccessful Responses

    Below you will find information about status codes to expect if your request is unsuccessful.

    Response Code Response Title Response Message

    400 Bad Request Read requests must be made via GET, HEAD or OPTIONS.

  • Page 30 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    402 Payment Required Indicates that payment for your subscription as it is overdue. Please contact your account manager or make a payment to re-enable your RSS CRM edition.

    404 Not Found No accounts could be found that match your search criteria.

    429 Too Many Requests

    You have exceeded your API call limit allowance. An email has been sent providing you with more information. To increase your API call allowance please contact your account manager or email [email protected].

    500 Server Error N/A – Your request may still be honoured but this will indicate that an unknown error occurred when processing it.

    JSON

    Below you will find an example response for an unsuccessful JSON request.

    POST https://api.reallysimplesystems.com/v3/accounts.json?access_token=ee636b5c023b67cf71585e6c3632027c72db49ag&mapfields=0&limit=3&search=%our%&searchfield=Notes&searchtype=like&order=desc&orderby=AddressCountry

    HEADERS:

    Accept: application/json Content-Type: application/json

    HEADERS:

    Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET, HEAD, OPTIONS Access-Control-Allow-Origin: * Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: keep-alive Content-Length: 119 Content-Type: application/json; charset=UTF-8 Date: Tue, 11 Aug 2015 17:08:09 GMT Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Tue, 11 Aug 2015 17:08:09 GMT Server: Apache/2.4.7 (Ubuntu) X-Powered-By: Really Simple Systems API v3.0

    BODY:

    {

  • Page 31 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    "Accounts": { "success": "false", "error": { "message": "Read requests must be made via GET, HEAD or OPTIONS." }, "data": null } }

    XML

    Below you will find an example response for an unsuccessful XML request.

    POST https://api.reallysimplesystems.com/v3/accounts.xml?access_token=ee636b5c023b67cf71585e6c3632027c72db49ag&mapfields=0&limit=5&search=%our%&searchfield=Notes&searchtype=like&order=desc&orderby=AddressCountry

    HEADERS:

    Accept: application/xml Content-Type: application/xml Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET, HEAD, OPTIONS Access-Control-Allow-Origin: * Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: keep-alive Content-Length: 178 Content-Type: application/xml; charset=UTF-8 Date: Tue, 11 Aug 2015 17:08:09 GMT Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Tue, 11 Aug 2015 17:08:09 GMT Server: Apache/2.4.7 (Ubuntu) X-Powered-By: Really Simple Systems API v3.0

    BODY:

    false Read requests must be made via GET, HEAD or OPTIONS.

  • Page 32 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    Retrieving a Single Account Returns a single account specified by the id parameter. The authenticating user must be the owner of the account they are attempting to retrieve.

    Resource URLs • https://api.reallysimplesystems.com/v3/accounts/id.json • https://api.reallysimplesystems.com/v3/accounts/id.xml

    Resource Information

    HTTPS/HTTP HTTPS Only

    Allowed methods GET, HEAD, OPTIONS

    Response formats JSON, XML

    Requires authentication? YES

    Rate limited? YES

    Resource Parameters The following parameters can be used to access different API modes and to specify the account that you wish to retrieve.

    id (required) The id of the account you wish to retrieve.

    sandbox (optional)

    Allows API calls via the sandbox to return the structure of the data expected without making changes to live data. Possible values are: `1` or `0`. Example value: `1` – indicates to the API you are using the sandbox testing mode. By default the live version of the API will be used if no `sandbox` parameter is provided as part of the request.

    mapfields (optional)

    Determines whether API requests and responses will use default fields names or mapped field names you have set in your administration system. Possible values are: `1` or `0`. Example value: `1` – indicates to the API you are using mapped fields. By default requests and responses will use default field names if no `mapfields` parameter is provided as part of the request.

  • Page 33 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    Example Requests The following methods can be used when making requests.

    HTTP Method Description

    GET Returns the account specified by the id parameter in the format requested.

    HEAD Returns the success headers but does not return the body containing the account’s data. Useful in sandbox mode for testing requests.

    OPTIONS

    Returns information about the methods available and an example format for making requests (including the names of fields you have set in your administration system for custom fields).

    JSON

    Below you will find an example of a successful JSON request.

    GET https://api.reallysimplesystems.com/v3/accounts/1.json?access_token=ee636b5c023b67cf71585e6c3632027c72db49ag&mapfields=0

    HEADERS:

    Accept: application/json Content-Type: application/json

    BODY:

    null

    XML

    Below you will find an example of a successful XML request.

    GET https://api.reallysimplesystems.com/v3/accounts/1.xml?access_token=ee636b5c023b67cf71585e6c3632027c72db49ag&mapfields=0

    HEADERS:

    Accept: application/xml Content-Type: application/xml

    BODY:

    null

  • Page 34 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    Example Responses Below you will find example responses from successful requests.

    Successful Responses

    Response Code Response Title Response Message

    200 OK Your request was successful.

    JSON

    Below you will find an example response for a successful JSON response.

    HEADERS:

    Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET, OPTIONS, HEAD Access-Control-Allow-Origin: * Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: keep-alive Content-Length: 285 Content-Type: application/json; charset=UTF-8 Date: Tue, 11 Aug 2015 17:08:09 GMT Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Tue, 11 Aug 2015 17:08:09 GMT Server: Apache/2.4.7 (Ubuntu) X-Powered-By: Really Simple Systems API v3.0

    BODY:

    { "Accounts": { "success": "true", "error": { "message": "Your request was successful." }, "data": { "Account": { "id": "1", "Name": "Acme Corporation", "AddressLine": "1 Wadsworth Avenue", "AddressCity": "Los Angeles", "AddressState": "", "AddressZip": "90001", "AddressCountry": "USA",

  • Page 35 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    "OwnerId": "1", "CampaignId": "0", "Source": "", "Notes": "One of our most important prospects.", "SLAId": "0", "Custom01": "", "Custom02": "", "Custom03": "", "Custom04": "", "Custom05": "", "Custom06": "", "Custom07": "", "Custom09": "", "Custom10": "", "Custom11": "", "Custom12": "", "CreatedDate": "2015-08-11 17:08:09", "ModifiedDate": "2015-08-11 17:08:09" } } } }

    XML

    Below you will find an example response for a successful XML response.

    HEADERS:

    Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET, OPTIONS, HEAD Access-Control-Allow-Origin: * Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: keep-alive Content-Encoding: gzip Content-Length: 657 Content-Type: application/xml; charset=UTF-8 Date: Tue, 11 Aug 2015 17:08:09 GMT Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Tue, 11 Aug 2015 17:08:09 GMT Server: Apache/2.4.7 (Ubuntu) Vary: Accept-Encoding X-Powered-By: Really Simple Systems API v3.0

  • Page 36 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    BODY:

    true Your request was successful. 1 Acme Corporation 1 Wadsworth Avenue Los Angeles 90001 USA 1 0 One of our most important prospects. 0 2015-08-11 17:08:09 2015-08-11 17:08:09

    Unsuccessful Responses

    Below you will find information about status codes to expect if your request is unsuccessful.

    Response Code Response Title Response Message

    400 Bad Request Read requests must be made via GET, HEAD or OPTIONS.

  • Page 37 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    402 Payment Required

    Indicates that you are attempting to create an Account type record but it is not possible because you have reached the maximum number of accounts allowed under your current subscription plan or that your subscription is due. Please contact your account manager to arrange an upgrade or make a payment to re-enable your RSS CRM edition.

    404 Not Found No account could be found that matched the id number specified in your request.

    429 Too Many Requests

    You have exceeded your API call limit allowance. An email has been sent providing you with more information. To increase your API call allowance please contact your account manager or email [email protected].

    500 Server Error N/A – Your request may still be honoured but this will indicate that an unknown error occurred when processing it.

    JSON

    Below you will find an example response for an unsuccessful JSON request.

    POST https://api.reallysimplesystems.com/v3/accounts/1.json?access_token=ee636b5c023b67cf71585e6c3632027c72db49ag&mapfields=0

    HEADERS:

    Accept: application/json Content-Type: application/json

    HEADERS:

    Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET, OPTIONS, HEAD Access-Control-Allow-Origin: * Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: keep-alive Content-Length: 119 Content-Type: application/json; charset=UTF-8 Date: Tue, 11 Aug 2015 17:08:09 GMT Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Tue, 11 Aug 2015 17:08:09 GMT Server: Apache/2.4.7 (Ubuntu) X-Powered-By: Really Simple Systems API v3.0

  • Page 38 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    BODY:

    { "Accounts": { "success": "false", "error": { "message": "Read requests must be made via GET, HEAD or OPTIONS." }, "data": null } }

    XML

    Below you will find an example response for an unsuccessful XML request.

    POST https://api.reallysimplesystems.com/v3/accounts/1.xml?access_token=ee636b5c023b67cf71585e6c3632027c72db49ag&mapfields=0&limit=5&search=%our%&searchfield=Notes&searchtype=like&order=desc&orderby=AddressCountry

    HEADERS:

    Accept: application/xml Content-Type: application/xml Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET, OPTIONS, HEAD Access-Control-Allow-Origin: * Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: keep-alive Content-Length: 178 Content-Type: application/xml; charset=UTF-8 Date: Tue, 11 Aug 2015 17:08:09 GMT Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Tue, 11 Aug 2015 17:08:09 GMT Server: Apache/2.4.7 (Ubuntu) X-Powered-By: Really Simple Systems API v3.0

    BODY:

    false Read requests must be made via GET, HEAD or

  • Page 39 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    OPTIONS.

    Creating An Account Creates a new account based on the data submitted and returns the id of the newly created account.

    Resource URLs • https://api.reallysimplesystems.com/v3/accounts/create.json • https://api.reallysimplesystems.com/v3/accounts/create.xml

    Resource Information

    HTTPS/HTTP HTTPS Only

    Allowed methods POST, HEAD, OPTIONS

    Response formats JSON, XML

    Requires authentication? YES

    Rate limited? YES

    Resource Parameters The following parameters can be used to access different API modes.

    sandbox (optional)

    Allows API calls via the sandbox to return the structure of the data expected without making changes to live data. Possible values are: `1` or `0`. Example value: `1` – indicates to the API you are using the sandbox testing mode. By default the live version of the API will be used if no `sandbox` parameter is provided as part of the request.

    mapfields (optional)

    Determines whether the data in your API request will use default fields names (i.e. Custom01, Custom02 etc) or mapped field names (i.e. the custom field names you have set in your administration system). Possible values are: `1` or `0`. Example value: `1` – indicates to the API your data uses mapped field names. By default requests using default field names will be expected if no `mapfields` parameter is provided as part of the request.

  • Page 40 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    Example Requests The following methods can be used when making requests.

    HTTP Method Description

    POST Posts the data for the account you wish to create.

    HEAD Returns the success headers but does not return the body containing the account’s data. Useful in sandbox mode for testing requests.

    OPTIONS Returns information about the methods available and an example format for making requests (including the names of fields you have set in your administration system for custom fields).

    JSON

    Below you will find an example of a successful JSON request.

    POST https://api.reallysimplesystems.com/v3/accounts/create.json?access_token=ee636b5c023b67cf71585e6c3632027c72db49ag&mapfields=0

    HEADERS:

    Accept: application/json Content-Type: application/json

    BODY:

    { "Account": [{ "Name": "Acme Corporation", "AddressLine": "1 Wadsworth Avenue", "AddressCity": "Los Angeles", "AddressState": "", "AddressZip": "90001", "AddressCountry": "USA", "OwnerId": "1", "CampaignId": "0", "Source": "", "Notes": "One of our most important prospects.", "Custom01": "", "Custom02": "", "Custom03": "", "Custom04": "", "Custom05": "", "Custom06": "",

  • Page 41 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    "Custom07": "", "Custom09": "", "Custom10": "", "Custom11": "", "Custom12": "" }] }

    XML

    Below you will find an example of a successful XML request.

    POST https://api.reallysimplesystems.com/v3/accounts.xml?access_token=ee636b5c023b67cf71585e6c3632027c72db49ag&mapfields=0

    HEADERS:

    Accept: application/xml Content-Type: application/xml

    BODY:

    Acme Corporation 1 Wadsorth Avenue Los Angeles 90001 USA 1 0 One of our most important prospects.

  • Page 42 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    Example Responses Below you will find example responses from successful requests.

    Successful Responses

    Response Code Response Title Response Message

    200 OK Your request was successful and the new account has been

    created.

    JSON

    Below you will find an example response for a successful JSON request.

    HEADERS:

    Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET, OPTIONS, HEAD Access-Control-Allow-Origin: * Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: keep-alive Content-Length: 285 Content-Type: application/json; charset=UTF-8 Date: Tue, 11 Aug 2015 17:08:09 GMT Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Tue, 11 Aug 2015 17:08:09 GMT Server: Apache/2.4.7 (Ubuntu) X-Powered-By: Really Simple Systems API v3.0

    BODY:

    { "Accounts": { "success": "true", "error": { "message": "Your request was successful." }, "data": { "id": "1" } } }

    XML

    Below you will find an example response for a successful XML request.

  • Page 43 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    HEADERS:

    Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET, OPTIONS, HEAD Access-Control-Allow-Origin: * Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: keep-alive Content-Encoding: gzip Content-Length: 657 Content-Type: application/xml; charset=UTF-8 Date: Tue, 11 Aug 2015 17:08:09 GMT Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Tue, 11 Aug 2015 17:08:09 GMT Server: Apache/2.4.7 (Ubuntu) Vary: Accept-Encoding X-Powered-By: Really Simple Systems API v3.0

    BODY:

    true Your request was successful. 1

    Unsuccessful Responses

    Below you will find information about status codes to expect if your request is unsuccessful.

    Response Code Response Title Response Message

    400 Bad Request Read requests must be made via GET, HEAD or OPTIONS.

    400 Bad Request The data you have sent is not in the correct format.

    400 Bad Request

    The data you have included with your request could not be validated: (This error message will then be succeeded by a list of validation errors that have occurred whilst trying to process the data sent with your request. For more information about validation errors please see the relevant part of this documentation.)

  • Page 44 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    402 Payment Required

    Indicates that your request has not been successful because you have reached the maximum number of accounts allowed under your current subscription plan or that your subscription payment is overdue. Please contact your account manager to arrange an upgrade or make a payment to re-enable your RSS CRM edition.

    429 Too Many Requests

    You have exceeded your API call limit allowance. An email has been sent providing you with more information. To increase your API call allowance please contact your account manager or email [email protected].

    500 Server Error N/A – Your request may still be honoured but this will indicate that an unknown error occurred when processing it.

    JSON

    Below you will find an example response for an unsuccessful JSON request.

    GET https://api.reallysimplesystems.com/v3/accounts/create.json?access_token=ee636b5c023b67cf71585e6c3632027c72db49ag&mapfields=0

    HEADERS:

    Accept: application/json Content-Type: application/json

    HEADERS:

    Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET, OPTIONS, HEAD Access-Control-Allow-Origin: * Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: keep-alive Content-Length: 119 Content-Type: application/json; charset=UTF-8 Date: Tue, 11 Aug 2015 17:08:09 GMT Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Tue, 11 Aug 2015 17:08:09 GMT Server: Apache/2.4.7 (Ubuntu) X-Powered-By: Really Simple Systems API v3.0

    BODY:

    {

  • Page 45 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    "Accounts": { "success": "false", "error": { "message": "Create requests must be made via POST, HEAD or OPTIONS." }, "data": null } }

    XML

    Below you will find an example response for an unsuccessful XML request.

    GET https://api.reallysimplesystems.com/v3/accounts/create.xml?access_token=ee636b5c023b67cf71585e6c3632027c72db49ag&mapfields=0

    HEADERS:

    Accept: application/xml Content-Type: application/xml Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET, OPTIONS, HEAD Access-Control-Allow-Origin: * Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: keep-alive Content-Length: 178 Content-Type: application/xml; charset=UTF-8 Date: Tue, 11 Aug 2015 17:08:09 GMT Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Tue, 11 Aug 2015 17:08:09 GMT Server: Apache/2.4.7 (Ubuntu) X-Powered-By: Really Simple Systems API v3.0

    BODY:

    false Create requests must be made via POST, HEAD or OPTIONS.

  • Page 46 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    Updating an Account Updates all or part of an account’s data based on the HTTPS method used and the data submitted.

    Resource URLs • https://api.reallysimplesystems.com/v3/accounts/update/id.json • https://api.reallysimplesystems.com/v3/accounts/update/id.xml

    Resource Information

    HTTPS/HTTP HTTPS Only

    Allowed methods POST, PATCH, HEAD, OPTIONS

    Response formats JSON, XML

    Requires authentication? YES

    Rate limited? YES

    Resource Parameters The following parameters can be used to access different API modes.

    id (required) The numerical id of the account you wish to update. Example value: 1.

    sandbox (optional)

    Allows API calls via the sandbox to return the structure of the data expected without making changes to live data. Possible values are: `1` or `0`. Example value: `1` – indicates to the API you are using the sandbox testing mode. By default the live version of the API will be used if no `sandbox` parameter is provided as part of the request.

    mapfields (optional)

    Determines whether the data in your API request will use default fields names (i.e. Custom01, Custom02 etc) or mapped field names (i.e. the custom field names you have set in your administration system). Possible values are: `1` or `0`. Example value: `1` – indicates to the API your data uses mapped field names. By default requests using default field names will be expected if no `mapfields` parameter is provided as part of the request.

    Example Requests The following methods can be used when making requests.

    HTTP Method Description

  • Page 47 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    POST Used to update all of an account’s data. If a field’s data is empty or does not exist in the data that is sent with your request it will be set to an empty value.

    PATCH Used to update part of an account’s data. If a field’s data is empty or does not exist in the data that is sent with your request the account’s existing value will be retained.

    HEAD Returns the success headers for updating all an account’s data (equivalent to POST) but does not return the body containing the account’s data. Useful in sandbox mode for testing requests.

    OPTIONS Returns information about the methods available and an example format for making requests (including the names of fields you have set in your administration system for custom fields).

    JSON

    Below you will find an example of a successful JSON request.

    POST https://api.reallysimplesystems.com/v3/accounts/update/1.json?access_token=ee636b5c023b67cf71585e6c3632027c72db49ag&mapfields=0

    HEADERS:

    Accept: application/json Content-Type: application/json

    BODY:

    { "Account": [{ "Name": "ACME Corporation", "AddressLine": "1 Wadsworth Avenue", "AddressCity": "Los Angeles", "AddressState": "California", "AddressZip": "90001", "AddressCountry": "USA", "OwnerId": "1", "CampaignId": "0", "Source": "", "Notes": "Important potential client.", "Custom01": "", "Custom02": "", "Custom03": "", "Custom04": "", "Custom05": "", "Custom06": "", "Custom07": "",

  • Page 48 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    "Custom09": "", "Custom10": "", "Custom11": "", "Custom12": "" }] }

    XML

    Below you will find an example of a successful XML request.

    POST https://api.reallysimplesystems.com/v3/accounts/update/1.xml?access_token=ee636b5c023b67cf71585e6c3632027c72db49ag&mapfields=0

    HEADERS:

    Accept: application/xml Content-Type: application/xml

    BODY:

    ACME Corporation Los Angeles California 90001 USA 1 0 Important potential client.

  • Page 49 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    Example Responses Below you will find example responses from successful requests.

    Successful Responses

    Response Code Response Title Response Message

    200 OK Your request was successful and the account has been updated.

    JSON

    Below you will find an example response for a successful JSON response.

    HEADERS:

    Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: POST, PATCH, OPTIONS, HEAD Access-Control-Allow-Origin: * Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: keep-alive Content-Length: 285 Content-Type: application/json; charset=UTF-8 Date: Tue, 11 Aug 2015 17:08:09 GMT Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Tue, 11 Aug 2015 17:08:09 GMT Server: Apache/2.4.7 (Ubuntu) X-Powered-By: Really Simple Systems API v3.0

    BODY:

    { "Accounts": { "success": "true", "error": { "message": "Your request was successful." }, "data": { null } } }

    XML

    Below you will find an example response for a successful XML response.

  • Page 50 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    HEADERS:

    Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: POST, PATCH, HEAD, OPTIONS Access-Control-Allow-Origin: * Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: keep-alive Content-Encoding: gzip Content-Length: 657 Content-Type: application/xml; charset=UTF-8 Date: Tue, 11 Aug 2015 17:08:09 GMT Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Tue, 11 Aug 2015 17:08:09 GMT Server: Apache/2.4.7 (Ubuntu) Vary: Accept-Encoding X-Powered-By: Really Simple Systems API v3.0

    BODY:

    true Your request was successful. 1

    Unsuccessful Responses

    Below you will find information about status codes to expect if your request is unsuccessful.

    Response Code Response Title Response Message

    400 Bad Request Read requests must be made via POST, PATCH, HEAD or OPTIONS.

    402 Payment Required

    Indicates that your request has not been successful because your subscription payment is overdue. Please contact your account manager to arrange an upgrade or make a payment to re-enable your RSS CRM edition.

  • Page 51 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    429 Too Many Requests

    You have exceeded your API call limit allowance. An email has been sent providing you with more information. To increase your API call allowance please contact your account manager or email [email protected].

    500 Server Error N/A – Your request may still be honoured but this will indicate that an unknown error occurred when processing it.

    JSON

    Below you will find an example response for an unsuccessful JSON response.

    GET https://api.reallysimplesystems.com/v3/accounts/update/1.json?access_token=ee636b5c023b67cf71585e6c3632027c72db49ag&mapfields=0

    HEADERS:

    Accept: application/json Content-Type: application/json

    HEADERS:

    Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: POST, PATCH, HEAD, OPTIONS Access-Control-Allow-Origin: * Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: keep-alive Content-Length: 119 Content-Type: application/json; charset=UTF-8 Date: Tue, 11 Aug 2015 17:08:09 GMT Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Tue, 11 Aug 2015 17:08:09 GMT Server: Apache/2.4.7 (Ubuntu) X-Powered-By: Really Simple Systems API v3.0

    BODY:

    { "Accounts": { "success": "false", "error": { "message": "Update requests must be made via POST, PATCH, HEAD or OPTIONS." }, "data": null

  • Page 52 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    } }

    XML

    Below you will find an example response for an unsuccessful XML response.

    GET https://api.reallysimplesystems.com/v3/accounts/update/1.xml?access_token=ee636b5c023b67cf71585e6c3632027c72db49ag&mapfields=0

    HEADERS:

    Accept: application/xml Content-Type: application/xml Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: POST, PATCH, HEAD, OPTIONS Access-Control-Allow-Origin: * Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: keep-alive Content-Length: 178 Content-Type: application/xml; charset=UTF-8 Date: Tue, 11 Aug 2015 17:08:09 GMT Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Tue, 11 Aug 2015 17:08:09 GMT Server: Apache/2.4.7 (Ubuntu) X-Powered-By: Really Simple Systems API v3.0

    BODY:

    false Update requests must be made via POST, PATCH, HEAD or OPTIONS.

    Deleting an Account Deletes a single Account specified by the id parameter (including related Activities, Cases, Case Levels, Contacts, Documents, Tasks, Linked Accounts, Opportunities, Opportunity History items and Opportunity Lines).

  • Page 53 of 400 RSS API v3.0 Documentation API Doc. v0.9.2

    Resource URLs • https://api.reallysimplesystems.com/v3/accounts/delete/id.json • https://api.reallysimplesystems.com/v3/accounts/delete/id.xml

    Resource Information

    HTTPS/HTTP HTTPS Only

    Allowed methods DELETE, HEAD, OPTIONS

    Response formats JSON, XML

    Requires authentication? YES

    Rate limited? YES

    Resource Parameters The following parameters can be used to access different API modes and to specify the account that you wish to delete.

    id (required) The numerical id of the account you wish to delete. Example value: 1

    sandbox (optional)

    Allows API calls via the sandbox to return the structure of the data expected without making changes to live data. Possible values are: `1` or `0`. Example value: `1` – indicates to the API you are using the sandbox testing mode. By default the live version of the API will be used if no `sandbox` parameter is provided as