NextSign API
More

Partner Program

Overview of the NextSign partner model, referral flow, commercial split, and webhook integration.

Partner Program

The NextSign partner program allows an existing NextSign company to operate as a referral and enablement partner for new customer companies.

A partner can:

  • receive a unique referral link
  • onboard new companies through that link
  • apply an agreed customer discount
  • earn cashback on referred revenue
  • share templates, forms, and standard documents with new customers
  • receive onboarding and lifecycle events through webhooks

Commercial Model

Each partner agreement defines three percentages:

  • totalPartnerPercentage
  • customerDiscountPercentage
  • partnerCashbackPercentage

The business rule is:

customerDiscountPercentage + partnerCashbackPercentage <= totalPartnerPercentage

Example:

  • total partner agreement: 20%
  • customer discount: 12%
  • partner cashback: 8%

This allows NextSign to preserve one total commercial framework while splitting value between customer discounting and partner earnings.

The agreement terms in effect at the time a company is referred are snapshotted onto the referral, so later billing calculations remain historically correct even if the partner's agreement changes.


Referral Flow

The flow is:

  1. NextSign marks an existing company as a partner.
  2. The partner receives a unique referral slug and link.
  3. A new customer signs up through the referral entrypoint.
  4. The customer company is permanently linked to the partner.
  5. The commercial agreement in effect is snapshotted onto the referral.
  6. Optional onboarding actions run:
    • create API access
    • attach a partner webhook
    • share forms and templates
  7. Subsequent credit purchases are attributed to the referral.

A referral link, once established, is permanent. It is the source of truth for revenue attribution and cashback and is never reassigned automatically.


Billing and Revenue Attribution

Partner revenue is derived from the referred customer's billing activity.

For each referred purchase, NextSign calculates:

  • gross revenue from the referred purchase
  • the customer discount amount
  • the cashback amount for the partner
  • the payout state for each accrued amount

Attribution is recorded against the referral at the time of purchase, keeping billing, cashback, and partner reporting consistent and idempotent across payment retries and repeated webhook deliveries.


Webhook Security

Partner webhook delivery is secured with:

  • signed webhook requests
  • per-partner secrets
  • delivery logging and retry
  • idempotency keys

Current Partner Webhook

The current outbound partner webhook event is:

  • partner_customer_created

It is sent when:

  • a company signs up through a partner link
  • the referred company relation is created
  • the customer has accepted that data may be sent to the partner
  • the partner has a configured webhookUrl

Request shape:

POST https://partner.example.com/api/nextsign/customer-created
Content-Type: application/json
X-NextSign-Event: partner_customer_created
X-NextSign-Timestamp: 2026-05-15T08:00:00.000Z
X-NextSign-Signature: <optional hmac sha256 signature>

Signature format:

hex(hmac_sha256(webhookSecret, `${timestamp}.${rawBody}`))

Payload example:

{
  "eventType": "partner_customer_created",
  "partnerId": "partner_id",
  "partnerName": "Partner Name",
  "referredCompanyId": "referred_company_id",
  "companyName": "Sample Customer Company",
  "companyCVR": "12345678",
  "createdAt": "2026-05-15T08:00:00.000Z",
  "referralRelationId": "referral_relation_id",
  "referralSlug": "partner-slug",
  "apiKey": "key_xxx_optional_only_on_first_provisioning",
  "apiKeyReference": {
    "id": "api_key_id",
    "name": "Partner onboarding: Partner Name",
    "maskedKey": "key_1234********abcd",
    "createdAt": "2026-05-15T08:00:00.000Z"
  },
  "webhookStatus": "queued"
}

apiKey is optional and is only included when onboarding creates a new API key in the same flow. The stable field for auditability is apiKeyReference.