Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info

This introduction is written based on experience drawn from a lot of custom integrations. It is aimed at consultants implementing an integration for a BRP-customer.

An API-integration with BRP is a very complex task, not in a technical sense but the domain knowledge required for a successful end result is substantial. As a consultant you will have to spend a lot of time in cooperation with your client's BRP-users to gain a full understanding of the system and how it is used.
BRP is a standard system and very generic. It can be configured in a multitude of ways. BRP Support does not have knowledge of how a specific customer uses BRP.

Every integration project must have these three roles defined before even starting:
* A project leader representing the BRP-customer
* A project leader representing the consultant
* A project leader from BRP

BRP will debit the hours spent on the project.

There is a monthly fee for access to the API.


Hiddenfragment macro
groupVisibilitybrponly


BRP ONLY

Ligger webservern bakom en reverse proxy så krävs det att reverse proxyn sätter en http-header med vilken ip-adress som anropet kommer ifrån. Inställningen 'ipHeaderReverseProxy' måste då sättas för att servern ska veta vilken header som den ska titta på. Vanligast är att den kallas: "X-Forwarded-For". Om headern förväntas innehålla någonting mer komplicerat än bara en vanlig IP-address så kan det behövas en uppdatering, eftersom vårat stöd för rfc7239 inte är speciellt robust.

Glöm inte att köra about.gsp för att gogen ska läsa om inställningarna.


Support tickets

Be as specific as you can possibly be, for example:

...

Code Block
APIURL/restobjects.xml?apikey=123
APIURL/restobjects.json?apikey=123


Hiddenfragment macro
groupVisibilitybrponly


BRP unsafe-ONLY

Filter response

From version x it is possible to control what fields are sent back from the API.

This is done with the parameters response.include / response.exclude.

Only one of these can be specified and if response.include is specified response.exclude is ignored.

The value of the parameter should be the path for the fields to be included/excluded. The paths corresponds to the XML answer so if you are using JSON it makes it easier if you check the return value in xml-format to see how you should format your include/exclude-parameter.

Example:

Asking for products from products.json we just want id and name and nothing else.

Do a call to products.xml to see the structure:

xml

The include parameters to get only id and name for this call would look like this:

.../products.json?response.include=products.product.id&response.include=products.product.name

The response JSON will then look like this:



Definitions

Word

Definition

Comments

activitybooking

Class booking

Class booking and waiting list

purchase

Purchase

Purchase of services, events, goods, subscriptions, value cards and deals

person

User/booker


resource

Resource

Rooms, instructors, staff, equipment etc.

activity

Group activity/class


event

Event

Events such as speaches, courses

order

Order

Completed order, either paid or confirmed

bokning

Booking

Based on type of product: service, goods, subscription, valuecard and deal

receipt

Receipt


item

Order row or receipt row


timeslotsuggestions

Suggested time for service booking


...