Introduction

The PHP / Laravel SDK is the canonical producer for BabelQueue. It lets your Laravel application publish jobs as a strict, language-agnostic JSON envelope — so Go, Python, Java, .NET and Node services consume them natively, without ever touching PHP serialize().

What you get

  • Canonical wire envelope (schema_version: 1). Every published message is a strict JSON document with a stable shape: job, trace_id, data, meta and attempts.
  • A trace_id on every message. A required correlation UUID is stamped on publish and flows across every service that touches the job — no manual plumbing.
  • URN routing. Jobs are identified by a URN (urn:babel:<context>:<event>), not a PHP class name, so consumers in any language can route on a stable key.
  • Redis + RabbitMQ brokers. Choose your transport with one Laravel queue connection line (babelqueue-redis or babelqueue-rabbitmq).
  • Dead-letter queue (DLQ). Unknown URNs and exhausted retries can be routed to a dead-letter destination instead of being silently dropped.

The envelope

{
  "job": "urn:babel:orders:created",
  "trace_id": "7b3f9c2a-e41d-4f88-9b2a-1c0d5e6f7a8b",
  "data": { "order_id": 1042, "amount": 99.90 },
  "meta": { "id": "f1e2d3c4-b5a6-4789-90ab-cdef01234567", "queue": "default", "lang": "php", "schema_version": 1, "created_at": 1749132727000 },
  "attempts": 0
}

Continue to Installation.