Download the PHP package geccomedia/weclapp without Composer

On this page you can find all versions of the php package geccomedia/weclapp. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package weclapp

Laravel Weclapp

Latest Stable Version Total Downloads License Unit Coverage Swagger Coverage

This repo implements most of the Laravel Eloquent Model for the Weclapp web api.

Contents

Installation

Require this package with Composer

Add the variables to your .env:

Usage

Use existing models from the Geccomedia\Weclapp\Models namespace.

Most Eloquent methods are implemented within the limitations of the web API.

Available Models

Over 150 models are provided, covering all queryable Weclapp API endpoints — including SalesOrder, Customer, Article, Shipment, PurchaseOrder, Invoice, Ticket, and many more. Every model has full @property annotations for IDE autocompletion.

Custom Models

The API route is derived automatically from the class name using lcfirst(ClassName), so SalesOrder maps to salesOrder, Article maps to article, etc. You only need to declare $table when your class name does not match the API route:

Mass Assignments

If you want to do mass assignment please use unguard and reguard:

Relations

Models declare belongsTo and hasMany relationships using Weclapp's camelCase foreign key convention (e.g. customerId, not customer_id).

Eager loading (recommended — single batched request)

Use with() to load related models in one extra request instead of one per record:

Lazy loading (N+1)

Without with(), each relation access fires its own HTTP request:

Inverse relations (hasMany)

Common inverse relations are defined, so you can traverse from either side:

Additional Properties

Weclapp can return extra computed fields that are not included by default. Request them with withProperties():

This can be combined with select() and other query methods:

Custom Actions

Weclapp exposes many action endpoints beyond standard CRUD. Call them via action() at the class level or callAction() on a model instance.

Collection-level actions

Instance-level actions

All actions return the decoded JSON response body as an array, or null if the response has no body.

Read-only Models

Some Weclapp endpoints are read-only (no create or delete). Attempting to save() a new instance or delete() an existing one on these models will throw a NotSupportedException immediately, without making an HTTP request.

Mutation restrictions are expressed via three composable traits:

Trait Blocks Swagger condition
NoCreate save() on new instances No POST /resource endpoint
NoUpdate save() on existing instances No PUT /resource/id/{id} endpoint
NoDelete delete() No DELETE /resource/id/{id} endpoint

IsReadOnly (use NoCreate, NoUpdate, NoDelete) and IsUpdatableOnly (use NoCreate, NoDelete) are convenience aliases for common combinations.

Embedded Sub-Objects

Weclapp embeds related data directly in API responses rather than using separate endpoints. These are automatically hydrated into typed SubModel value objects on read.

toArray() and toJson() always return plain nested arrays, so serialisation and API writes are unaffected.

Sub Entities

Weclapp treats some models as sub-entities that belong to a parent. For these, supply the parent entity with whereEntity($name, $id):

Without the call to whereEntity the API will return an error. See #22 for more information.

Error Handling

Every failed HTTP call (4xx or 5xx response) throws Geccomedia\Weclapp\WeclappApiException.

WeclappApiException extends \RuntimeException. It intentionally does not implement PSR-18's Psr\Http\Client\RequestExceptionInterface, which is on Laravel's internal suppression list (internalDontReport). Had we wrapped or re-thrown Guzzle's own RequestException directly, Laravel would silently discard it and nothing would appear in your logs. WeclappApiException is reported normally by Laravel's exception handler, including in queue jobs.

Logging

To inspect the HTTP requests being made, enable the connection query log:

Party-type Models

Weclapp stores customers, suppliers, leads, and contacts all as records in the single /party endpoint, differentiated by boolean role flags and a leadStatus field. The four convenience model classes each apply a global query scope so they automatically filter to the right subset:

Class Route Filter applied
Customer /party customer = true
Supplier /party supplier = true
Lead /party leadStatus is set and not CONVERTED
Contact /party partyType = PERSON

The scopes are transparent — any extra where() clauses stack alongside them:

A single weclapp party can carry multiple roles simultaneously (e.g. customer = true and supplier = true). Party::all() returns every party record unfiltered when you need to query across roles.

leadStatus values

Value Meaning
NEW Just entered the funnel
PREQUALIFIED Initial screening done
QUALIFIED Sales-ready
CONVERTED Graduated to a customer — excluded from Lead, appears under Customer
DISQUALIFIED Rejected from funnel

Boolean Filters

PHP true and false values passed to where() or whereIn() are automatically serialised to the strings "true" and "false" that the weclapp API expects:

System & Job Utility APIs

Weclapp exposes a handful of endpoints under /system and /job that have no CRUD model. Two dedicated classes wrap these as typed methods.

SystemApi

JobApi

Weclapp runs long-running background jobs asynchronously. Use JobApi to poll or cancel them by type.

Valid type values are the SCREAMING_SNAKE_CASE job names from the Weclapp API spec (e.g. INVENTORY_BOOKING, MATERIAL_PLANNING_RUN, MASS_SHIPMENT_CREATION, ACCOUNTING_EXPORT, and many more).

License & Copyright

Copyright © 2017–2026 Gecco Media GmbH

License


All versions of weclapp with dependencies

PHP Build Version
Package Version
Requires php Version >=8.2
illuminate/support Version ^11|^12|^13
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package geccomedia/weclapp contains the following files

Loading the files please wait ...