Back office integration
Linking from GoERP to a back office page
Back office URLs have a predictable structure. Here is a sample URL (a product card):
https://t10.erply.com/12345/?lang=eng§ion=product&edit=23
- The base URL (
https://t10.erply.com/12345/
) is available as variable{{ .Session.User.BOLoginUrl }}
. - Parameter
lang
is the current language. Use{{ .Session.Language.LegacyCode }}
. Please always set this parameter; if the user has switched to a particular language, they want this language to be remembered as they navigate through the system. - Parameter
section
identifies the page: the form or the list view. - Parameter
edit
is used on forms and indicates the ID of the record. If you want to open a new empty form, useedit=new
.
Prefilling back office forms
On an empty form, any field can be prefilled with a URL parameter. Use the form field’s name
attribute
as the URL parameter name.
The following URL opens a new invoice form. (For clarity, it has been split into multiple lines.)
- The document’s type will be set to “Receipt” (ID = 2),
- customer ID will be set to 99
- and warehouse ID to 2.
{{ .Session.User.BOLoginUrl }}
?lang={{ .Session.Language.LegacyCode }}
§ion=invoice
&edit=new
&invoice_type_id=2
&invoice_orgper_idDat_client=99
&invoice_warehouse_id=2
This approach only works for an empty form, not for saved records.
Prefilling back office list filters
Use this approach if a GoERP page must link to a legacy back office list view.
Erply back office list views use method="post"
forms, so filter presets need to be supplied
as POST parameters.
For example, opening the invoices page with the “Creator” filter applied (invoices created by employee with ID 123) requires submitting a form:
<form method="post" action="{{ .Session.User.BOLoginUrl }}?lang={{ .Session.Language.LegacyCode }}§ion=invoices">
<input type="hidden" name="search_orgper_idDat_author" value="123">
</form>
Replacing a back office page with a GoERP page
Back office forms can be configured to redirect to other URLs.
If a customer installs an app that manages products, they can make a product card always open in that app. (And likewise, employee forms can open in an employee app, and customer cards in a CRM app).
At the moment this is a manual CAFA configuration step that must be done individually on each account.
- Go to Settings > Configuration Admin > App configuration.
- Click “Add new configuration” to create a new setting.
- Fill in the form as follows:
Field | Value |
---|---|
Application | bo_ui |
Level | Company |
Level ID | leave empty |
Type | ui_replacements |
Name | Use any value, for example the name of the app that is going to handle the redirects |
Value Type | JSON |
Value | Define a JSON object as instructed below. |
Example (shown with all possible supported adjustments, all components optional):
{
"redirect_creation_form": [
{
"section": "prodin",
"url": "https://example.com/{CLIENT_CODE}/new-inventory-registration-page"
}
],
"redirect_edit_form": [
{
"section": "product",
"url": "{GOERP_URL}/{CLIENT_CODE}/{ISO_LANGUAGE}/edit-product-page?productID={RECORD_ID}"
}
],
"redirect_page": [
{
"section": "products",
"url": "https://example.com/{CLIENT_CODE}/product-list"
}
],
"add_tabs": [
{
"section": "orgperC",
"name": "metadata",
"title": {
"en": "Metadata",
"fr": "Métadonnées"
},
"url": "{GOERP_URL}/{CLIENT_CODE}/{ISO_LANGUAGE}/customer-metadata-page?customerID={RECORD_ID}"
}
],
"replace_tabs": [
{
"section": "orgperC",
"name": "contracts_new",
"title": {
"en": "A better tab for customer contracts"
},
"url": "{GOERP_URL}/{CLIENT_CODE}/{ISO_LANGUAGE}/customer-contracts-page?customerID={RECORD_ID}",
"replace": "orgperC_contracts"
}
]
}
Erply section name can be found from the URL: it’s the keyword following “§ion=…” Product card is product
,
inventory registration form is prodin
, employee form is orgperB
and so on.
The redirect URL supports placeholders:
{GOERP_URL}
- Base URL of Erply app store apps.{CLIENT_CODE}
- Account number{RECORD_ID}
- Record ID{LANGUAGE}
- Three-letter language code (used in Erply back office){ISO_LANGUAGE}
- Two-letter language code (used in app store apps)
As many JSON objects can be created as needed.