ifresh / filemaker-odata-api
There is no license information available for the latest version (1.2.1) of this package.
Package info
github.com/iFreshDevelopment/filemaker-odata-api
pkg:composer/ifresh/filemaker-odata-api
1.2.1
2026-03-31 10:07 UTC
Requires
- illuminate/support: ^11.0|^12.0
- saloonphp/saloon: ^4.0
Requires (Dev)
- laravel/pint: ^1.18
- pestphp/pest: ^3.7
- phpstan/phpstan: ^2.0
- vlucas/phpdotenv: ^5.6
This package is auto-updated.
Last update: 2026-03-31 10:08:19 UTC
README
Lightweight PHP client for interacting with FileMaker's OData endpoint using Saloon.
Overview
- Connector:
IFresh\FileMakerODataApi\FileMakerODataConnector— builds the base URL, provides authentication and resources. - Resources:
IFresh\FileMakerODataApi\Resources\Resources\MetadataResource— metadata endpoints.IFresh\FileMakerODataApi\Resources\Resources\RecordsResource— CRUD operations for entity sets.
- Request classes live under
src/Requests(metadata and records). Examples:IFresh\FileMakerODataApi\Requests\Metadata\GetDatabaseNamesRequestIFresh\FileMakerODataApi\Requests\Metadata\GetTableListRequestIFresh\FileMakerODataApi\Requests\Metadata\GetDatabaseMetadataRequestIFresh\FileMakerODataApi\Requests\Records\CreateRecordRequestIFresh\FileMakerODataApi\Requests\Records\UpdateRecordRequestIFresh\FileMakerODataApi\Requests\Records\DeleteRecordRequestIFresh\FileMakerODataApi\Requests\Records\FetchRecordsRequestIFresh\FileMakerODataApi\Requests\Records\FetchSingleRecordRequest
- Query helpers:
IFresh\FileMakerODataApi\QueryOptions - Custom pending request to merge query params:
IFresh\FileMakerODataApi\Requests\PendingFileMakerRequest
Installation
composer require ifresh/filemaker-odata-api
Copy environment template and set values:
- .env.example
- FM_HOST
- FM_USERNAME
- FM_PASSWORD
Basic Usage
use IFresh\FileMakerODataApi\FileMakerODataConnector; $connector = new FileMakerODataConnector( host: 'https://example.com', username: 'user', password: 'pass', database: 'Tasks' // optional default database ); // Metadata $databases = $connector->metadata()->getDatabaseNames(); // Records $recordsResource = $connector->records('Assignees'); $new = $recordsResource->createRecord(['First Name' => 'John', 'Last Name' => 'Doe']); $single = $recordsResource->fetchSingleRecord($new['PrimaryKey']);
See src/FileMakerODataConnector.php and resources for more methods.
Querying
Use IFresh\FileMakerODataApi\QueryOptions to supply OData query options (filter, orderby, top, skip, select, count).
Tests
This package is tested with Pest. See the test bootstrap and helpers:
- tests/Pest.php
- tests/TestCase.php
- Fixtures for faking HTTP responses: tests/Fixtures/ODataFixture.php and JSON fixtures in tests/Fixtures/Saloon
Run tests:
composer install --dev ./vendor/bin/pest
Notes for Contributors
- Coding standards via Laravel Pint (dev).
- Static analysis: phpstan.neon (level 6).
- The connector uses Saloon's
BasicAuthenticatorby default (see test: tests/Feature/FileMakerODataConnectorTest.php).
License
See composer.json for package metadata: composer.json