Skip to content

Marketing Automation · Beta

Easypromos
API integration

Ship Marketing Automation features without building the integration. Full Easypromos API access via Proxy and 30+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
Easypromos

Use Cases

Why integrate with Easypromos

Common scenarios for SaaS companies building Easypromos integrations for their customers.

01

Embed gamified rewards in loyalty platforms

Loyalty and retention SaaS products can offer their customers interactive mechanics like spin-the-wheel or scratch cards without building a gamification engine. End users spend native loyalty points as Easypromos virtual coins and claim prizes directly inside the host widget.

02

Power in-app promotions for mobile commerce builders

Mobile app and e-commerce platform builders can let their brand customers launch native giveaways and contests. Autologin tokens drop app users straight into a promotion webview without re-authentication, keeping the experience inside the host app.

03

Trigger lifecycle campaigns from promotion outcomes

CDPs and marketing automation tools can read participation and prize data to trigger follow-up journeys — consolation discounts for losers, VIP escalation for winners, or re-engagement for users approaching participation limits.

04

Attribute offline sales to digital promotions

Retail tech and POS platforms can map specific points of sale to prize claims and inventory movements, giving brands granular attribution between in-store activity and the digital campaigns running in Easypromos.

05

Gate premium campaigns by customer segment

CRMs and segmentation tools can push audience tags into Easypromos to unlock exclusive promotions for specific tiers, letting their customers run VIP-only contests driven by live segmentation data from the host product.

What You Can Build

Ship these features with Truto + Easypromos

Concrete product features your team can ship faster by leveraging Truto’s Easypromos integration instead of building from scratch.

01

Frictionless autologin into promotions

Generate secure login tokens server-side so end users land inside an Easypromos campaign already authenticated, with no registration form.

02

Virtual coin ledger sync

Mint, update, and read virtual coin balances in response to purchases, logins, or custom events in the host product, and surface available plays natively.

03

Native 'Play Now' eligibility checks

Query participation remainings, requirement checks, and promo code validation before rendering CTAs, so users only see games they can actually play.

04

Segment-driven promotion unlocks

Assign and remove Easypromos user segments from the host app to dynamically unlock, restrict, or boost promotional experiences per audience.

05

Prize and inventory dashboards

Pull real-time prize definitions, inventory levels, and winner lists into the host product's analytics or operations UI for fulfillment workflows.

06

Campaign and brand discovery UI

List organizing brands, promotions, and stages so end users can browse and select active Easypromos campaigns to feature from inside the host dashboard.

SuperAI

Easypromos AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_easypromos_promotions

List the promotions of the Easypromos account. Returns each promotion's id and attributes (the promotion's basic information fields). Supports optional status and order filters.

get_single_easypromos_promotion_by_id

Get the basic information of a single Easypromos promotion by id. Returns the promotion's id and attributes (the promotion fields as defined in the Easypromos Promotion schema). Required: id.

list_all_easypromos_organizing_brands

List the organizing brands of the Easypromos account. Returns the collection of organizing brand records, each including its id.

get_single_easypromos_organizing_brand_by_id

Get the basic information of a single organizing brand in Easypromos by id. Returns the organizing brand object, including its id. Required: id.

list_all_easypromos_organizing_brand_promotions

List the promotions of a specific organizing brand in Easypromos. Returns promotion records including id, status, created_at, and updated_at. Required: organizing_brand_id.

get_single_easypromos_stage_by_id

Get all data of a single participation stage in an Easypromos promotion. Returns the stage record including its id and type-specific attributes defined upstream. Required: id, promotion_id.

list_all_easypromos_stages

List all participation stages in an Easypromos promotion. Returns stage records including their id and type-specific attributes defined upstream. Required: promotion_id.

get_single_easypromos_user_by_id

Get all data of a single user registered in an Easypromos promotion. Returns the user record with its id and an attributes object whose field set is defined by the upstream UserFull schema. Required: id, promotion_id.

list_all_easypromos_users

List the users registered in an Easypromos promotion. Returns each user's id, first_name, last_name, email, and segments. Required: promotion_id.

get_single_easypromos_users_logintoken_by_id

Get the login token of a user registered in an Easypromos promotion by promotion and user id. Returns the login token object with lt, the unique access code for the participant (Login Token). Required: id, promotion_id.

easypromos_users_segments_assign

Assign one or multiple segments to an easypromos user. Returns: status. Segments must already exist in the promotion, organizing brand, or account. Required: promotion_id, lt, segments.

delete_a_easypromos_users_segment_by_id

Remove one or multiple segments from an easypromos user. Returns: status. Segments must already exist in the promotion, organizing brand, or account. Required: id, lt, segments.

create_a_easypromos_users_autologin

Log in or register a user in an Easypromos promotion via the server-side autologin flow. Returns the user Login Token (lt), whether the user was already registered (registered), and the Easypromos user_id. Required: promotion_id, external_id.

get_single_easypromos_participation_by_id

Get a single Easypromos participation by id within a promotion. Returns the participation record including its id, the user who participated, and the prize if the participation won one. Required: id, promotion_id.

list_all_easypromos_participations

List Easypromos participations of a promotion, ordered by creation date descending. Returns each participation's id, user, and prize if won. Required: promotion_id.

list_all_easypromos_participation_users

List all participations of a single user in an Easypromos promotion. Returns a paginated list of participation records including id, promotion_id, stage_id, user_id, created, points, and the data key-field array. Required: promotion_id, user_id.

list_all_easypromos_participation_remainings

Get the remaining participations a user has left in a specific stage of an easypromos promotion, based on the stage's configured limits (per promotion, day, week, or hour). Returns: remaining, can_participate, next_participation. Required: promotion_id, stage_id, user_id.

list_all_easypromos_participation_check_requirements

Check whether a user is eligible to meet a participation stage's requirement in Easypromos; currently only the Virtual Coin requirement is supported. Returns the url to complete the participation when the user has sufficient balance; the call errors when the balance is insufficient. Required: promotion_id, stage_id, lt.

list_all_easypromos_participation_validate_codes

Submit a code for validation so a participant can enter an Easypromos participation stage. The stage must have the code validation requirement enabled. Returns the ticket_id of the valid requirement and the url to complete the participation (with the login token included for autologin). Required: promotion_id, stage_id, lt, code.

list_all_easypromos_participation_participates

Submit a new participation for a registered user in an Easypromos participation stage, consuming one of the user's available participations; supported for direct participation, spin the wheel, scratch & win, and reveal & win stages, and recommended for Instant Win promotions. Returns: participation_id, available_participations, prize. Required: promotion_id, stage_id, lt.

get_single_easypromos_prize_by_id

List all prizes assigned in an Easypromos promotion together with the information of the user who won each one. Returns: paging. Required: promotion_id, id.

list_all_easypromos_prizes

List all prizes assigned in an Easypromos promotion together with the user who won each one. Returns: id, prize_type, user_id, stage_id, participation_id, created, code, download_url, redeem_url, claim_url, claim, user, attributes. Required: promotion_id.

list_all_easypromos_prize_users

List all prizes awarded to a single user in an easypromos promotion. Returns prize records with their id and prize attributes. Required: promotion_id, user_id.

get_single_easypromos_prizes_inventory_by_id

Get the prize inventory of an EasyPromos promotion by id. Returns the complete list of prize types defined in the promotion, each with its id and the prize-type fields defined upstream, including the total number of units and the number of units already given. Required: id.

list_all_easypromos_coin_users

Get the virtual coin balances of a single user in an Easypromos promotion. Returns each coin's id, name, and balance — one entry per coin, since promotions can be multicurrency. Required: promotion_id, user_id.

update_a_easypromos_coin_by_id

Update the virtual coin balance of a single user in an Easypromos promotion by id. Returns the current coin balances, each with id, name, and balance. Required: id, lt, balance, reason.

list_all_easypromos_coin_transaction_users

List all virtual coin transactions of a single user in an Easypromos promotion. Returns: id, user_id, promotion_id, coin_id, coin_name, amount, balance, created, transaction_type, reason, extra. Required: promotion_id, user_id.

create_a_easypromos_coin_transaction

Create a coin transaction in Easypromos to add or remove virtual coins for a participant in a promotion — a positive amount credits coins, a negative amount spends them. Returns the registered transaction object (id plus transaction attributes; the full field set follows the VirtualCoinTransaction definition in the Easypromos API reference). Required: promotion_id, lt, amount, reason.

list_all_easypromos_coin_transactions

List all virtual coin transactions recorded in an Easypromos promotion. Each item returns the transaction (id, amount, reason, created_at) and the user the transaction belongs to. Required: promotion_id.

get_single_easypromos_ranking_by_id

Get the ranking of an Easypromos promotion by id, ordered by ranking position. Returns ranked user entries with id, points, and the full user record (attributes). Caps the result at 500 entries (25 by default). Required: id.

list_all_easypromos_pos

List all points of sale in an Easypromos promotion, ordered by group and alphabetically. Returns point-of-sale records including their id, name, and group. Required: promotion_id.

Why Truto

Why use Truto’s MCP server for Easypromos

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 800+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with Easypromos in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Easypromos account

Use Truto’s frontend SDK to connect your customer’s Easypromos account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Easypromos

Truto’s Proxy API is a 1-to-1 mapping of the Easypromos API. You call us, we call Easypromos, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Easypromos’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Easypromos on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How does authentication work for end users connecting their Easypromos account?

Truto handles the Easypromos API credential exchange and token storage per end user. Your product calls Truto's unified endpoints with a connection identifier, and Truto injects the correct auth on each request.

Can we log users into a promotion without showing a login form?

Yes. Use the autologin creation tool to generate a secure token server-side and redirect the user into the promotion webview pre-authenticated. This is the standard pattern for embedded experiences.

Can we credit or debit virtual coins programmatically?

Yes. You can create coin transactions, update coin balances, and list coin users and transaction history, which supports loyalty-point-to-virtual-coin sync patterns.

How do we check if a user is allowed to participate before showing a 'Play' button?

Use the participation remainings, check requirements, and validate codes endpoints to confirm eligibility, remaining plays, and promo code validity before rendering the CTA.

How fresh is participation and prize data?

Data is fetched on demand through Easypromos's REST API, so reads reflect the current state at request time. For near-real-time workflows, poll the participations and prize users endpoints at an interval that matches your use case.

Does Truto handle pagination and rate limiting for Easypromos?

Yes. Truto normalizes pagination across list endpoints and manages retry and backoff behavior against Easypromos rate limits, so you consume a consistent interface regardless of the underlying API quirks.

Easypromos

Get Easypromos integrated into your app

Our team understands what it takes to make a Easypromos integration successful. A short, crisp 30 minute call with folks who understand the problem.