Download the PHP package monoverse/voicebot-laravel-sync without Composer

On this page you can find all versions of the php package monoverse/voicebot-laravel-sync. 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 voicebot-laravel-sync

monoverse/voicebot-laravel-sync

Sync your Laravel catalog and content to VoiceBot for an AI sales assistant — signed, incremental, swiss-watch reliable.

This package is a producer client for the VoiceBot canonical signed-ingest contract (ADR-045 / ADR-055). It pairs with VoiceBot once, then pushes your products, categories, pages and more over an HMAC-signed protocol: a full snapshot for the baseline and small incremental deltas after that. Voice stays on the server — this package never embeds any LLM SDK; it only streams your data to the ingest endpoint.


Requirements

Install from Packagist

The package is published on public Packagist as monoverse/voicebot-laravel-sync — install it with a plain Composer require:

Publish the config and run migrations (auto-discovery registers the service provider):

The package registers its migrations, so a plain php artisan migrate creates three tables: voicebot_connections (encrypted secret), voicebot_sync_state (per-kind watermark) and voicebot_dead_letter (parked failures). No migration publish step is required; publish them only if you want to customise the schema.

The ingest base URL must be https:// (plaintext http:// is rejected — an HMAC over http would leak the signature). localhost / 127.0.0.1 are allowed for local dev.

Pair

Copy your publishable key (pk_...) from your VoiceBot dashboard, then:

The command stores your tenant id + shared secret (encrypted) and prints the tenant id. The shared secret is never printed or logged. For non-interactive CI, set VOICEBOT_PUBLIC_KEY and run php artisan voicebot:pair.

VOICEBOT_SITE_URL (defaults to APP_URL) is sent as the storefront site_url and must match the domain bound to the key in your dashboard (apex/www are treated as equal). A mismatch fails with a clear domain_mismatch hint — point VOICEBOT_SITE_URL at the registered storefront domain.

Legacy fallback. The earlier one-time pair code (VB-XXXX-XXXX, env VOICEBOT_PAIR_CODE) still works: pass it as the argument or set the env var. Pairing resolves the credential in order: CLI argument → VOICEBOT_PUBLIC_KEYVOICEBOT_PAIR_CODE. Already-paired installs keep their stored secret — re-pairing is not required.

Map your models

Open config/voicebot.php and, for each kind you have, set the model and a column map. Map keys are dot paths under payload; values are either a column name or a closure receiving the model.

Mapping rules that matter

Custom source (full control)

For anything the config map can't express, implement EntitySource and point the kind's source at your class (resolved from the container):

upserts() and deletes() must return a streaming LazyCollection — never materialise the whole catalog.

Verify before the first push

Doctor checks pairing, backend reachability, and — per enabled kind — a resolvable model, a non-empty map, and the backend-required payload fields on a sampled mapped row. It emits one sample mapped record per kind and pushes nothing. Fix every FAIL before syncing.

Sync

Exit codes (cron-friendly)

Code Meaning Action
0 success
1 transient failure (network/5xx) or a delta that dead-lettered ops cron alerts, retry next run
2 config error (not paired, empty snapshot, bad model, bad --since) a retry won't help; fix config

Signed requests retry on connection errors only — never on 429/5xx — because the backend consumes the request nonce before it can return an error status, so a blind retry would be rejected as a replay. The unsigned pair handshake and the snapshot upload (no HMAC) do retry on 429/5xx with backoff that honours Retry-After.

Failed delta ops land in voicebot_dead_letter (never silently dropped). Re-failures of the same op across runs increment its attempts; once it hits sync.dead_letter_max_attempts the row is flagged exhausted for manual review/replay.

Unpair

Tells the backend to disconnect, then wipes the locally stored tenant id + shared secret. The local credentials are cleared even if the remote call fails, so you can always re-pair. Run this before pairing a different tenant.

Schedule

Prerequisite: a system cron entry that ticks Laravel's scheduler every minute:

Laravel 11 / 12 — routes/console.php

Laravel 10 — app/Console/Kernel.php

Tune cadence to your catalog volatility — the package ships no hardcoded schedule.

Entity coverage

product, variation, category, tag, attribute, page, post, cpt, menu, menu_item, site, shipping_method, payment_method. Enable only the kinds you have.

Security

Configuration reference

All knobs are env-overridable; see config/voicebot.php. Key ones:

Env Default Purpose
VOICEBOT_BASE_URL https://api.monoverse.tech Ingest base URL
VOICEBOT_PUBLIC_KEY Publishable key (pk_...) for pair-by-key (preferred)
VOICEBOT_PAIR_CODE Legacy one-time pair code (CI fallback)
VOICEBOT_SITE_URL APP_URL Sent as site_url / X-VoiceBot-Site-Url; must match the key's bound domain
VOICEBOT_SYNC_CHUNK_SIZE 200 Rows per DB chunk while streaming
VOICEBOT_SYNC_QUEUE default Queue connection for --queue
VOICEBOT_CURRENCY UAH Convenience for example maps

Publishing (maintainers)

This package lives in the VoiceBot monorepo at packages/laravel-sync/ and is published to public Packagist via a read-only subtree split of this directory into the standalone mirror repo Monoverse1/voicebot-laravel-sync. Releases are tag-driven: push a monorepo tag laravel-sync-vX.Y.Z and the publish-laravel-sync workflow splits + mirrors the tag, which Packagist then indexes. The full runbook (one-time Packagist setup, required secrets/vars, the release flow) is in PUBLISHING.md; v0.1.0 was seeded manually and is already live on the mirror.

License

Proprietary © Monoverse.


All versions of voicebot-laravel-sync with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
illuminate/contracts Version ^10.0 || ^11.0 || ^12.0 || ^13.0
illuminate/support Version ^10.0 || ^11.0 || ^12.0 || ^13.0
illuminate/console Version ^10.0 || ^11.0 || ^12.0 || ^13.0
illuminate/http Version ^10.0 || ^11.0 || ^12.0 || ^13.0
illuminate/database Version ^10.0 || ^11.0 || ^12.0 || ^13.0
guzzlehttp/guzzle Version ^7.5
guzzlehttp/psr7 Version ^2.0
spatie/laravel-package-tools Version ^1.93
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 monoverse/voicebot-laravel-sync contains the following files

Loading the files please wait ...