fmarquesto/sap-business-one-connector

Utility to connect with SAP Business One through the Service Layer API

1.0.1 2025-06-08 00:05 UTC

This package is auto-updated.

Last update: 2025-06-08 00:06:06 UTC


README

A lightweight PHP library for connecting and interacting with SAP Business One.

Latest Stable Version License

๐Ÿš€ Features

  • Connect to SAP Business One (SAP B1) using HTTP/REST
  • Lightweight and easy to integrate
  • Built on top of Guzzle for HTTP requests
  • Environment-based configuration with Dotenv
  • Designed with extensibility and testability in mind

๐Ÿงฐ Requirements

  • PHP ^8.2
  • SAP Business One with Service Layer API access
  • Composer

๐Ÿ“ฆ Installation

composer require fmarquesto/sap-business-one-connector

๐Ÿ›  Usage

๐Ÿงช Basic Setup

use fmarquesto\SapBusinessOneConnector\Client;

// Load environment variables
$client = new Client(); // Automatically loads from .env file in the project root

// Or specify configuration directly

$connectionData = new \fmarquesto\SapBusinessOneConnector\ConnectionData('https://your-sap-b1-service-layer-url', '50000', 'Database', 'UserName', 'Password');
$client = new Client(connectionData: $connectionData);

Environment variables

SAP_HOST="https://xxxx"
SAP_PORT=50000
SAP_USER=user
SAP_PASS=pass
SAP_DB=DB

๐Ÿ“ฅ GET Example: Fetch Items

use fmarquesto\SapBusinessOneConnector\Client;
use fmarquesto\SapBusinessOneConnector\QueryBuilder;
use fmarquesto\SapBusinessOneConnector\Resources;

$client = new Client();
$response = $client->execute(
    (new QueryBuilder(Resources::Items, top:21))
    ->addSelect('ItemCode', 'ItemName')
);

$response->success(); // true
$response->hasNextPage(); // true 
$response->nextPage(); // Items?$select=ItemCode,%20ItemName&$top=1&$skip=20
$response->arrayBody(); // ['odata.metadata' => 'metadataurl', 'value' => [['ItemCode' => 'A00001', 'ItemName' => 'Item 1'], ...]], 'odata.nextLink' => 'nextlinkurl']

๐Ÿงช Testing

composer test

๐Ÿ“œ License

MIT ยฉ Fede Marquesto