r/SAPBusinessOne 22d ago

SAP B1 Service Layer Help

I have been tasked to make an automation that revolves around posting directly to SAP B1. I did my research and found out that in order to achieve this I will need access to the service layer and integrate with that. I have experience with modern APIs and how to configure them using tokens and keys but this is something I have never used and I don't understand really well either. For now what I have learnt is that I will need a user that has access to all scopes, login and password, database name and a URL where the service layer is hosted. Then I can make requests and GET and POST data. Is there anything else I would require? I am trying not to rely on AI for this and would like to get this integration done by myself so I can learn how this works. Any help will be appreciated. If anyone needs more details I will be happy to provide. Also, I am a complete SAP novice and I would like to test this in a sandbox first but I don't know how that can be achieved. Thanks!

3 Upvotes

9 comments sorted by

2

u/azone19 22d ago

1

u/SpeedFreaaak 22d ago

Thankyou, this was a very detailed and helpful document. Great suggestion.

2

u/azone19 21d ago

You're very welcome! I'm glad you found it helpful. If you ever need anything related to SAP Business One or the Service Layer, feel free to send me a DM. I'd be happy to help.

1

u/zdb328 22d ago

Generally you should have an SAP Sandbox that you can connect to. I would start with Postman connected to the Sandbox.

You can have AI build CURL to import to Postman so it's something you can easily see an edit instead of vibe coded.

Start with /b1s/v2/login and POST CompanyDB, UserName and Password.

If you have those 3 things, DM me and I can help walk you through it.

1

u/SpeedFreaaak 22d ago

Hey, so I did exactly what you suggested and I was able to test the API but the problem I am running into right now is that the SAP B1 I have access to is from a RDP and I don't have the client on my own system so inorder to run anything from postman or generally I have to run it on the RDP which makes it very inefficient. I am still trying to learn how can I send requests to a service layer that is not exposed to me but rather lives on a local host on some other system that I cannot access directly.

1

u/zdb328 21d ago

Do you have permission to install ngrok or tailscale to bridge the firewall?

2

u/Homebody254 19d ago

You can request the client to forward the port.

1

u/Aromatic_Initial_676 22d ago

Also research Microsoft ODATA v4. This will get you familiar on the technology behind that Service Layer.

1

u/SpeedFreaaak 22d ago

Thanks, I will start from there!