Skip to content

Commit 000b53d

Browse files
feat(integrations): add support for sap business one (#4911)
## Describe the problem and your solution - Add support for sap business one, untested. <!-- Issue ticket number and link (if applicable) --> <!-- Testing instructions (skip if just adding/editing providers) --> <!-- Summary by @propel-code-bot --> --- **Expose SAP Business One as a Catalog-Only ERP Provider (UI, Docs & SDK)** This PR makes SAP Business One discoverable across the product—UI drop-downs, documentation, brand assets, and generated SDK enums—without shipping any backend connector logic. The goal is to enable marketing announcements, allow integrators to start referencing the provider in code, and prepare the surface area for the upcoming full connector implementation while keeping runtime behavior unchanged. <details> <summary><strong>Key Changes</strong></summary> • Added sap_business_one entry to providers.yaml with metadata • Created new docs pages: integration guide and connection guide, registered in docs.json • Added SAP Business One SVG to template-logos asset bundle • Regenerated v1 & v2 SDK snippets/enums so sap_business_one appears in code samples • Provider now automatically shows in dashboard/provider selector UI via catalog build </details> <details> <summary><strong>Affected Areas</strong></summary> • providers.yaml (provider catalog) • Documentation site (mdx files, docs.json index) • Asset library (template-logos) • Code-gen for SDK snippets/enums • Dashboard/UI components that read from provider catalog </details> --- *This summary was automatically generated by @propel-code-bot*
1 parent 95cf8d1 commit 000b53d

File tree

10 files changed

+255
-0
lines changed

10 files changed

+255
-0
lines changed

docs/docs.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -692,6 +692,7 @@
692692
"integrations/all/salesforce-cdp",
693693
"integrations/all/salesforce-sandbox",
694694
"integrations/all/salesloft",
695+
"integrations/all/sap-business-one",
695696
"integrations/all/sap-concur",
696697
"integrations/all/sap-success-factors",
697698
"integrations/all/sap-fieldglass",
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
---
2+
title: 'SAP Business One'
3+
sidebarTitle: 'SAP Business One'
4+
description: 'Access the SAP Business One API in 2 minutes 💨'
5+
---
6+
7+
<Tabs>
8+
<Tab title="🚀 Quickstart">
9+
<Steps>
10+
<Step title="Create an integration">
11+
In Nango ([free signup](https://app.nango.dev)), go to [Integrations](https://app.nango.dev/dev/integrations) -> _Configure New Integration_ -> _SAP Business One_.
12+
</Step>
13+
<Step title="Authorize SAP Business One">
14+
Go to [Connections](https://app.nango.dev/dev/connections) -> _Add Test Connection_ -> _Authorize_, then enter your SAP Business One credentials. Later, you'll let your users do the same directly from your app.
15+
</Step>
16+
<Step title="Call the SAP Business One API">
17+
Let's make your first request to the SAP Business One API (fetch a list of users). Replace the placeholders below with your [secret key](https://app.nango.dev/dev/environment-settings), [integration ID](https://app.nango.dev/dev/integrations), and [connection ID](https://app.nango.dev/dev/connections):
18+
<Tabs>
19+
<Tab title="cURL">
20+
21+
```bash
22+
curl "https://api.nango.dev/proxy/b1s/v2/Users" \
23+
-H "Authorization: Bearer <NANGO-SECRET-KEY>" \
24+
-H "Provider-Config-Key: <INTEGRATION-ID>" \
25+
-H "Connection-Id: <CONNECTION-ID>"
26+
```
27+
28+
</Tab>
29+
30+
<Tab title="Node">
31+
32+
Install Nango's backend SDK with `npm i @nangohq/node`. Then run:
33+
34+
```typescript
35+
import { Nango } from '@nangohq/node';
36+
37+
const nango = new Nango({ secretKey: '<NANGO-SECRET-KEY>' });
38+
39+
const res = await nango.get({
40+
// https://help.sap.com/doc/056f69366b5345a386bb8149f1700c19/10.0/en-US/Service%20Layer%20API%20Reference.html
41+
endpoint: '/b1s/v2/Users',
42+
providerConfigKey: '<INTEGRATION-ID>',
43+
connectionId: '<CONNECTION-ID>'
44+
});
45+
46+
console.log(JSON.stringify(res.data, null, 2));
47+
```
48+
</Tab>
49+
50+
</Tabs>
51+
52+
Or fetch credentials dynamically via the [Node SDK](/reference/sdks/node#get-a-connection-with-credentials) or [API](/reference/api/connection/get).
53+
54+
</Step>
55+
</Steps>
56+
57+
✅ You're connected! Check the [Logs](https://app.nango.dev/dev/logs) tab in Nango to inspect requests.
58+
59+
<Tip>
60+
Next step: [Embed the auth flow](/getting-started/quickstart/embed-in-your-app) in your app to let your users connect their SAP Business One accounts.
61+
</Tip>
62+
</Tab>
63+
<Tab title="🔗 Useful links">
64+
| Topic | Links |
65+
| - | - |
66+
| Authorization | [Guide to connect to SAP Business One using Connect UI](/integrations/all/sap-business-one/connect) |
67+
| General | [SAP Business One Website](https://www.sap.com/products/erp/business-one.html) |
68+
| Developer | [SAP Business One Documentation](https://help.sap.com/docs/SAP_BUSINESS_ONE_VERSION_FOR_SAP_HANA/68a2e87fb29941b5bf959a184d9c6727/4a30f1756fd64520a0d226ac8f0e7bb7.html) |
69+
| | [Service Layer API Reference](https://help.sap.com/doc/056f69366b5345a386bb8149f1700c19/10.0/en-US/Service%20Layer%20API%20Reference.html) |
70+
| | [Authentication Guide](https://help.sap.com/docs/SAP_BUSINESS_ONE_VERSION_FOR_SAP_HANA/686100cb1bc34346b2bc6642685bab43/b174cb51e48a4cfb8e9a28a46122748a.html) |
71+
| | [Administrator's Guide (PDF)](https://help.sap.com/doc/1287198a7ca64cb4b5fef47877cd0a74/10.0/en-US/AdministratorGuide_SQL.pdf) |
72+
73+
<Note>Contribute useful links by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/sap-business-one.mdx)</Note>
74+
</Tab>
75+
<Tab title="🚨 API gotchas">
76+
_None yet, add yours!_
77+
78+
<Note>Contribute API gotchas by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/sap-business-one.mdx)</Note>
79+
</Tab>
80+
</Tabs>
81+
82+
<Info>
83+
Questions? Join us in the [Slack community](https://nango.dev/slack).
84+
</Info>
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
title: SAP Business One - How do I link my account?
3+
sidebarTitle: SAP Business One
4+
---
5+
6+
# Overview
7+
8+
To authenticate with SAP Business One, you need:
9+
1. **Service Layer URL** - The base URL for your SAP Business One Service Layer
10+
2. **Company Database** - The name of your SAP Business One company database
11+
3. **Database Instance** (Optional) - The database server instance name
12+
4. **Username** - Your SAP Business One API access username
13+
5. **Password** - Your SAP Business One API access password
14+
15+
This guide will walk you through obtaining these credentials from your SAP Business One environment.
16+
17+
### Prerequisites:
18+
19+
- You must have an active SAP Business One account with **manager or administrative privileges**
20+
- Your SAP Business One Service Layer must be installed and configured
21+
- Access to the SAP Control Center
22+
- The server URL must be publicly accessible (public IP address or registered domain name, not a hostname)
23+
24+
## Instructions
25+
26+
### Step 1: Obtaining your Credentials
27+
28+
Your **Username** and **Password** are your SAP Business One login credentials. Make sure that this account has manager or administrator privileges.
29+
30+
### Step 2: Identifying Your Company Database
31+
32+
1. Log in to SAP Business One using the credentials identified above
33+
2. Navigate to **Administration** > **Choose Company / Log In screen** > **Change Company**
34+
3. Find and note the **Database Name** for your company (or companies)
35+
4. Each company has its own database name - choose the one you wish to connect to
36+
37+
<img src="/integrations/all/sap-business-one/databases.png" />
38+
39+
### Step 3: Finding Your Service Layer URL
40+
41+
The Service Layer URL consists of the server address and port where your SAP B1 Service Layer is hosted.
42+
43+
1. Access the **SAP Control Center** as an administrator or system manager
44+
2. Navigate to **Services** > **Service Layer**
45+
3. Copy the **server URL** (usually the IP address of the server)
46+
47+
<img src="/integrations/all/sap-business-one/server_url.png" />
48+
49+
### Step 4: Finding Your Database Instance
50+
51+
1. Access the **SAP Control Center** as an administrator or system manager
52+
2. Navigate to **Landscape** > **Database Instances**.
53+
3. Locate the instance used by your SAP Business One system.
54+
55+
### Step 5: Enter Credentials in the Connect UI
56+
57+
Once you have all your credentials:
58+
1. Open the form where you need to authenticate with SAP Business One
59+
2. Enter your **Service Layer URL**, **Company Database**, **Database Instance**, **Username**, and **Password** in their designated fields
60+
3. Submit the form, and you should be successfully authenticated
61+
62+
63+
<img src="/integrations/all/sap-business-one/form.png" style={{maxWidth: "450px" }}/>
64+
65+
You are now connected to SAP Business One.
66+
408 KB
Loading
52.5 KB
Loading
159 KB
Loading
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
## Pre-built tooling
2+
<AccordionGroup>
3+
<Accordion title="✅ Authorization">
4+
| Tools | Status |
5+
| - | - |
6+
| Pre-built authorization (Two Step) ||
7+
| Pre-built authorization UI ||
8+
| Custom authorization UI ||
9+
| End-user authorization guide ||
10+
| Expired credentials detection ||
11+
</Accordion>
12+
<Accordion title="✅ Read & write data">
13+
| Tools | Status |
14+
| - | - |
15+
| Pre-built integrations | 🚫 (time to contribute: &lt;48h) |
16+
| API unification ||
17+
| 2-way sync ||
18+
| Webhooks from Nango on data modifications ||
19+
| Real-time webhooks from 3rd-party API | 🚫 (time to contribute: &lt;48h) |
20+
| Proxy requests ||
21+
</Accordion>
22+
<Accordion title="✅ Observability & data quality">
23+
| Tools | Status |
24+
| - | - |
25+
| HTTP request logging ||
26+
| End-to-type type safety ||
27+
| Data runtime validation ||
28+
| OpenTelemetry export ||
29+
| Slack alerts on errors ||
30+
| Integration status API ||
31+
</Accordion>
32+
<Accordion title="✅ Customization">
33+
| Tools | Status |
34+
| - | - |
35+
| Create or customize use-cases ||
36+
| Pre-configured pagination | 🚫 (time to contribute: &lt;48h) |
37+
| Pre-configured rate-limit handling | 🚫 (time to contribute: &lt;48h) |
38+
| Per-customer configurations ||
39+
</Accordion>
40+
</AccordionGroup>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## Pre-built integrations
2+
3+
_No pre-built integration yet (time to contribute: &lt;48h)_
4+
5+
<Tip>Not seeing the integration you need? [Build your own](https://nango.dev/docs/guides/platform/functions) independently.</Tip>

packages/providers/providers.yaml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11015,6 +11015,64 @@ sap-concur:
1101511015
example: us
1101611016
doc_section: '#step-3-determine-your-region'
1101711017

11018+
sap-business-one:
11019+
display_name: SAP Business One
11020+
categories:
11021+
- erp
11022+
body_format: json
11023+
auth_mode: TWO_STEP
11024+
token_url: https://${connectionConfig.domain}/login
11025+
token_params:
11026+
CompanyDB: ${connectionConfig.companyDb}
11027+
UserName: ${credentials.userName}
11028+
DBInstance: ${connectionConfig.dbInstance}
11029+
Password: ${credentials.password}
11030+
token_headers:
11031+
content-type: application/json
11032+
proxy:
11033+
base_url: https://${connectionConfig.domain}
11034+
token_response:
11035+
token: AccessToken
11036+
docs: https://nango.dev/docs/integrations/all/sap-business-one
11037+
docs_connect: https://nango.dev/docs/integrations/all/sap-business-one/connect
11038+
connection_config:
11039+
domain:
11040+
type: string
11041+
title: Service Layer URL
11042+
prefix: https://
11043+
suffix: /login
11044+
pattern: '^[A-Za-z0-9.-]+(?::\d+(?:/[-A-Za-z0-9.]*)*)?$'
11045+
order: 1
11046+
description: The base URL for your SAP Business One Service Layer
11047+
doc_section: '#step-3-finding-your-service-layer-url'
11048+
companyDb:
11049+
type: string
11050+
title: Company Database Name
11051+
description: The name of your SAP Business One company database
11052+
example: 10COR0809H
11053+
order: 2
11054+
doc_section: '#step-2-identifying-your-company-database'
11055+
dbInstance:
11056+
type: string
11057+
title: Database Instance
11058+
description: The database server instance name
11059+
optional: true
11060+
order: 3
11061+
example: [email protected]:30013
11062+
doc_section: '#step-4-finding-your-database-instance'
11063+
credentials:
11064+
userName:
11065+
type: string
11066+
title: Username
11067+
description: Your SAP Business One username
11068+
doc_section: '#step-1-obtaining-your-credentials'
11069+
password:
11070+
type: string
11071+
title: Password
11072+
description: Your SAP Business One password
11073+
secret: true
11074+
doc_section: '#step-1-obtaining-your-credentials'
11075+
1101811076
sap-success-factors:
1101911077
display_name: SAP SuccessFactors
1102011078
categories:
Lines changed: 1 addition & 0 deletions
Loading

0 commit comments

Comments
 (0)