Extending SCRIPE: Custom Fields & Marketplace Plugins
Walkthrough extending entity schemas with custom fields and installing sandboxed marketplace plugins.
Customize your platform without modifying backend code by using EAV custom fields and installing third-party marketplace plugins.
Step 1: Defining Custom Field Groups & Data Types
Attach custom text, numeric, date, or lookup fields to core platform entities like reservations and parties.
Custom Field Definition (POST /api/v1/custom-fields/definitions)JSON
{
"targetEntity": "Venue.Reservation",
"name": "EmergencyContactPhone",
"labelKey": "custom.reservation.emergencyPhone",
"valueType": "Text",
"isRequired": true,
"isEncrypted": true,
"validationRegex": "^\\+?[1-9]\\d{1,14}$",
"fieldGroupId": "fg_safety_protocol"
}Step 2: Field Validation & AES-256 Encryption
Configure regex pattern matching, required flags, and secure sensitive fields with field-level encryption.
Step 3: Discovering & Installing Marketplace Plugins
Browse the plugin directory, review security permissions, and install extensions in a single click.
Step 4: Webhook Integration & Event Subscriptions
Connect external applications by subscribing to real-time webhook events with HMAC signature verification.
Node.js Webhook Receiver (HMAC-SHA256 Verification)TypeScript
import crypto from "crypto";
/**
* Documentation for verifyScripeWebhook
*/
export function verifyScripeWebhook(
rawBody: string,
signatureHeader: string,
signingSecret: string
): boolean {
const computedHash = crypto
.createHmac("sha256", signingSecret)
.update(rawBody, "utf8")
.digest("hex");
return crypto.timingSafeEqual(
Buffer.from(computedHash, "utf8"),
Buffer.from(signatureHeader, "utf8")
);
}