Service marketplace integration
v1.0 — March 2026

Add trust and payment confirmation to your marketplace — without owning either.

If you run a platform where customers find tradespeople, you have a trust problem you didn't build and a payment dispute problem you don't want to own. Verity solves both — confirming and recording payments independently, without you touching the money.

The questions your users are asking
Customers ask

"Is this worker reliable? Will they show up? Can I trust them with my home?"

Workers ask

"Will I actually get paid? Can a customer dispute work I've already done?"

Payment confirmationVerity records it
Dispute resolutionVerity owns it
Worker trust signalbehaviour-derived
Worker interfaceWhatsApp-native

What a Verity integration gives your marketplace

One integration. Three sets of beneficiaries — and the trust signal your platform has never been able to produce with confidence.

Your marketplace gets
  • A verified trust badge on worker profiles
  • Automated job lead delivery direct to workers
  • Payment confirmation records without owning payment rails
  • A worker vetting signal you didn't have to build
Workers get
  • Inbound quote requests via WhatsApp
  • A permanent record of their work history
  • Access to more customers
  • Dispute resolution through Verity
  • No app download required
Customers get
  • A trusted, independently-verified score
  • Evidence-backed payment confirmation
  • Dispute resolution through Verity
  • Transparent, explainable transaction history

Three integration flows

Use one, two, or all three. Each flow is independent — agree scope at registration and expand later.

1
Show trust scores on worker profiles
2
Push quote requests directly to workers
3
Daily job digest to workers

Show trust scores on worker profiles

When a customer browses your platform and views a worker's profile, display their Verity trust badge alongside your own data. One API call, live score every time.

API call — trust score lookup
GET {base-url}/workers/{phone}/trust
X-Marketplace-Key: your-partner-key

Response:
{
  "verified":            true,
  "trust_tier":          "GOLD",
  "trust_score":         87,
  "badge":               "✅ Verity Verified — Gold",
  "completed_jobs":      34,
  "dispute_rate_pct":    0,
  "summary":             "Gold tier · 34 jobs · 0% dispute rate",
  "id_verified":         true,
  "can_accept_large_jobs": true,
  "member_days":         142
}

Trust tiers and what they signal

Tier Score What it signals to customers
TRUSTED_PRO 85+ 10+ verified jobs, excellent payment record, very low dispute rate
GOLD 70–84 5+ verified jobs, strong payment record
SILVER 50–69 2+ verified jobs, phone confirmed
BRONZE 30–49 Phone verified, early history
Not registered Badge not shown — display a "Not yet verified" prompt linking to Verity registration
💡 Display recommendation: Show the badge only for SILVER and above. For unregistered workers, show a prompt that links to Verity registration — turning profile views into a natural recruitment funnel.

Push quote requests directly to workers

When a customer selects a worker and requests a quote, push that lead to Verity. The worker gets a WhatsApp notification immediately — whether or not they're currently registered on Verity.

API call — push a lead
POST {base-url}/lead
X-Marketplace-Key: your-partner-key

{
  "worker_phone":        "+27821234567",
  "customer_name":       "Sipho Dlamini",
  "customer_phone":      "+27798765432",
  "job_title":           "Fix leaking geyser",
  "job_description":     "Kitchen geyser dripping — needs washer replacement",
  "marketplace_job_url": "https://yourplatform.co.za/jobs/abc123",
  "external_ref":        "abc123"
}

Verity WhatsApps the worker immediately:
  📋 New Quote Request via [Your Platform]
  Sipho Dlamini is looking for a handyman:
  🔧 Fix leaking geyser
  Reply QUOTE to send a quote · Reply START if not yet registered.

Response:
{
  "job_id":            "uuid...",
  "worker_notified":   true,
  "message":           "Lead created. Worker has been notified via WhatsApp."
}
📲 If the worker is not yet registered, the message still delivers. The START prompt recruits them into Verity automatically — your leads become a registration funnel.
If the worker replies QUOTE, they enter the Verity quoting wizard with the customer phone and job title pre-filled — straight to entering prices.
🔒 Duplicate prevention is automatic. Verity rejects a second lead with the same external_ref from the same partner.
👥 Send to multiple workers for the same job by calling the endpoint once per worker — use different external_ref values (e.g. job-abc-worker-1).

Daily job digest to workers

Push a curated list of available jobs to workers matching a location or trade category. Verity delivers a WhatsApp digest (up to 5 jobs) that the worker can act on immediately — without waiting for a customer to find them.

API call — send a job digest
POST {base-url}/digest
X-Marketplace-Key: your-partner-key

{
  "worker_phone": "+27821234567",
  "jobs": [
    {
      "title":               "Fix leaking tap",
      "location":            "Claremont",
      "estimated_value_zar": 350,
      "customer_name":       "Thabo N.",
      "marketplace_job_url": "https://yourplatform.co.za/jobs/j1"
    },
    {
      "title":               "Paint bedroom ceiling",
      "location":            "Rondebosch",
      "estimated_value_zar": 1200,
      "customer_name":       "Priya K.",
      "marketplace_job_url": "https://yourplatform.co.za/jobs/j2"
    }
  ]
}

Worker receives on WhatsApp:
  🌅 2 Jobs Near You — [Your Platform]
  1️⃣ Fix leaking tap – Claremont – ~R350
  2️⃣ Paint bedroom ceiling – Rondebosch – ~R1,200
  Reply QUOTE for any job · Reply LEADS for fresh opportunities.
🕖 Suggested schedule: 7am + 5pm — aligns with when workers plan their day and review end-of-day opportunities. You control the schedule on your side.
📋 Up to 5 jobs per digest. Send one digest per worker and let Verity handle delivery formatting and worker interaction.

Outbound webhooks — Verity notifies you

When a job progresses, Verity fires an event to your registered webhook URL so your platform stays in sync without polling.

Job lifecycle events
job.lead_notified Worker WhatsApp sent (immediately after POST /lead)
job.accepted Worker starts a quote for the lead
job.completed Worker marks work done
payment.confirmed Payment confirmed by both parties and ledgered
Webhook payload format
POST https://yourplatform.co.za/webhooks/verity
X-Verity-Event:     payment.confirmed
X-Verity-Signature: sha256=<hmac>

{
  "event":        "payment.confirmed",
  "job_id":       "uuid...",
  "partner":      "your-slug",
  "timestamp":    "2026-03-28T14:23:00Z",
  "external_ref": "abc123"
}
🔐 Every webhook is signed with HMAC-SHA256 using the webhook secret you register. Verify the X-Verity-Signature header on receipt.

How the Verity trust score is built

Unlike identity-only verification (ID document, selfie), the Verity trust score is built from real transaction history. A worker earns score by doing jobs and getting paid — not by uploading documents. The score cannot be faked: it derives from an append-only ledger that no one, including Verity, can edit.

40 pts

Completion Reliability

Jobs completed versus jobs started. The core signal: does this worker finish what they start?

25 pts

Payment Integrity

Payments confirmed without dispute. A clean payment record builds trust faster than any document.

20 pts

Consistency & Volume

Regularity of work activity. Sustained engagement signals a professional operating at scale.

15 pts

Dispute Behaviour

Dispute rate across all payments. Even one dishonest transaction leaves a permanent mark.

💡 A GOLD worker with 30 completed jobs and 0% dispute rate is a signal your current review-and-star-rating system cannot produce with confidence. Every component is explainable: "you have 3 disputed payments out of 30 intents — that gives you a 10% dispute rate."

Technical integration summary

All integration work is on your side. Verity is ready now.

Authentication & base URLs
Auth header X-Marketplace-Key
Key storage SHA-256 hashed
Base URL provided at registration
Pilot environment available on request
Key rotation re-register with Verity team
Endpoints
Method Purpose
GET Verify your API key is active
GET Worker trust score lookup
POST Push a quote request to a worker
POST Send a job digest to a worker

What you don't have to build or own

Verity owns the hard parts. You own your product.

Verity owns it
  • Payment confirmation and verification
  • Dispute resolution
  • Worker identity verification
  • Evidence and audit trail
  • WhatsApp communication with workers
  • Trust score calculation and maintenance
You own it
  • Customer experience on your platform
  • Worker discovery and matching
  • Job categories and geographic coverage
  • When and how leads are triggered
  • Your digest schedule and job selection logic

Getting started

From agreement to first live lead in 1–3 days. All integration work is on your side — Verity is ready now.

1

Agree on integration scope

Trust scores only, inbound leads, or all three flows — choose what fits your roadmap. Expand later at any time.

2

Verity registers your platform

You receive your API key and webhook secret. The raw key is shown once — store it securely immediately.

3

Pilot with 10–20 workers

Test lead delivery, trust badge display, and webhook delivery against live workers on your platform.

4

Review digest results

Tune timing and job selection criteria based on quote conversion from the pilot cohort.

5

Full rollout

Enable across your full worker base. Verity scales with your volume.

Typical time from agreement to first live lead: 1–3 days. All integration work is on your side — Verity is ready now.

Frequently asked questions

Does the worker need to be on Verity before we send a lead?

+

No. Verity delivers the WhatsApp regardless. If they're not registered, the message includes a START prompt. Your leads become a natural registration funnel.

What happens if the worker ignores the lead?

+

The job stays in lead status. You receive the job.lead_notified webhook immediately. If there's no further activity, you can close it on your side after your own timeout window. Verity doesn't chase the worker — that's your product decision.

Can we send leads to multiple workers simultaneously for the same job?

+

Yes — call POST /api/marketplace/lead once per worker with the same job title but a different worker_phone. Each creates an independent lead. Use your own external_ref format to distinguish them (e.g. job-abc123-worker-1).

Do customers interact with Verity directly?

+

Only when confirming payment. When a worker records a payment through Verity, the customer receives a confirmation link — handled entirely by Verity. Everything else (browsing, booking, reviewing) stays on your platform.

Is the trust score real-time?

+

GET /api/marketplace/workers/{phone}/trust queries the live ledger every time. There is no cache to invalidate.

What if a worker disputes their score?

+

The score is derived from an immutable ledger. Every component is explainable: "you have 3 disputed payments out of 30 intents — that gives you a 10% dispute rate." There is no hidden logic and no one, including Verity, can edit the underlying records.

Register your platform as a partner

Tell us about your platform and the integration scope you're considering. We'll reply within 1–2 days to align on fit and get your API key issued.

Partner registration request
response in 1–2 days
Back to top Sends to admin@verityledger.co.za