🎓
Boomerangme knowledge base
  • Getting started
    • 🚀Introduction
    • ✅Getting started - Quick wins!
      • 🔁 Quick Win #1: Regular loyalty card setup
      • 🎫 Quick Win #2 Creating a coupon card to attract new customers
      • ✅ Quick Win #3: Importing existing customers and issuing loyalty cards
      • 🪃 Quick Win #4: Loyalty Cards Delivery by SMS and Email
      • 📲 Quick Win #5: How to Promote Your Loyalty Card with QR Code
      • 👨‍💼 Quick Win #6: Creating manager seats for salespeople in local stores
      • 👯‍♀️ Quick Win #7: Setting up a referral program
    • 🔑Login and registration
      • 🧑‍💻How to Register on Boomerangme?
      • 📱How to Login with Phone?
      • 📧How to Login with Email?
      • 🔁How to Recover your Account Password?
    • 📖Product presentation
    • 💰Affiliate program
  • Inspiration & Ideas
    • 💡Inspiration
    • 💎Use cases
      • 🔵Boomerangme + Facebook Ads
      • 🔵Boomerangme + Google Ads
    • 💼Case studies
    • 💲Loyalty ROI calculator
    • 💰Agency margin profit calculator
  • Cards creation
    • ✴️Stamp
    • 🎟️Multipass
    • 💰Cashback
    • 🎁Gift
    • 🎫Coupon
    • ❤️Membership
    • 💲Discount
    • 🎁Reward
  • How to install the card
    • 🍏iPhone (iOS)
    • 🤖Android
      • PWA cards on Android
      • Google Pay on Android
    • 🔁How to restore the card
  • Customers (CRM)
    • 👨Customer profile
    • 🔃Import / export
    • 🗃️Customer filters
    • 📊RFM analysis
  • Scanner app
    • 👀How it works
    • ⬇️Installation
    • ⚡Login in the scanner app
    • 📸Scan and make transactions
      • ✴️Scanner app – Stamp
      • 🎟️Scanner app – Multipass
      • 💰Scanner app – Cashback
      • 💳Scanner app – Certificate
      • 🎫Scanner app – Coupon
      • ❤️Scanner app – Membership card
      • 💲Scanner app – Discount
      • 🎁Scanner app – Reward
  • Managers
    • 🔃Manager (team member) seats Add / edit / delete
    • 👨‍💼Manager (team member) profile
  • Card distribution
    • 🏪Offline
      • 📸QR code
      • 📄Table tent
      • ⚪Stickers
    • 🌐Online
      • 🔗Link for sharing
      • 💬SMS delivery
      • 📧Email delivery
  • Push notifications
    • 👀How it works
      • 🍏iPhone (iOS)
      • 🤖Android
      • ⏳How long does it take for push messages to be received by our customers?
      • 📫Why aren't my customers receiving push messages?
    • 💬Push section
      • Marketing push
        • Sending messages to all customers
        • Sending messages to a segment of customers
        • Sending message to an individual customer
      • Transactional push
      • Geo-push
      • Push automation
        • Feedback collection
        • Next visit reminder
        • Birthday congratulation
      • Triggered auto-push
  • Mailings
    • 📧How to create and send a mailing
    • 🟢Ноw to connect WhatsApp Bot
    • 🔵How to create a facebook messenger bot on the facebook side
    • 🔵How to Create a Telegram Bot
  • Dashboard
    • 📈Dashboard
      • 🗺️How to Access the Dashboard?
      • 🎛️What does the Boomerangme Dashboard Include?
  • Feedback collection
    • ⭐Feedback collection
  • Referral program
    • 👯Referral program
  • Geolocations
    • 📍Geolocations
      • 🗺️How to Access Locations Section?
      • 📌How to Add a Location?
  • Settings
    • ⚙️Settings
      • 💳Plan
      • 🛠️Personal Settings
      • 🔗Integrations
      • 🪝Webhooks
  • ⭐Promo codes
  • White label
    • ⚪White label
    • 🌎Domain name
    • 📧Mailgun
    • 📧SMTP
    • 💬Twilio
    • 🔗Google tag manager
    • 💲Stripe
      • 🖊️Manage subscription
    • 💲PayPal
  • ⚙️Settings
  • Agency account
    • 💲Agencies
    • ⚡Sub-accounts
    • 💰Payments
    • 💱Plans
    • 🪧Agency Lаnding
  • 📖Presentation for Agencies
  • PROSPECTING
    • 🚀Richie, your AI Sales Copilot
    • 👨‍💼Prospecting
    • 📚Snapshots
    • 📧Setting up Mailgun Account
  • Franchise account
    • 🌎Franchise chains
  • MARKETPLACE
    • 🚀Create an Application
    • 🟢Shopify POS
    • ♦️Lightspeed POS
    • ⚫Square
    • 🍕GloriaFood
  • Integrations
    • 🟠Toast POS
    • 🟢HighLevel
      • Connect "Boomerangme" with GoHighLevel
      • How to install the Boomerangme plugin
    • 🔵ActiveCampaign
    • 🔵Manychat
    • 🔵UChat
    • ⚫Square
    • 🟢Shopify
  • 🔵Wordpress Woocommerce
  • API
    • 🔗API docs
    • 🪝Webhooks
    • 🟠Zapier
    • 🟢Pabbly
    • 🟠Integrately
    • 🔵KonnectzIT
    • 🟠Albato
    • 🟣Make.com
  • Tutorials
    • 📺Video tutorials
  • Support
    • 🆘Intercom chat
    • ❓FAQ
    • 🍀AppSumo
    • 🗺️Roadmap
    • ✨Community
Powered by GitBook
On this page

Was this helpful?

  1. MARKETPLACE

Create an Application

Guide to creating your first application

PreviousFranchise chainsNextShopify POS

Last updated 22 days ago

Was this helpful?

App Types

  • Private Available to you and your sub accounts (if Agency tariff), moderation-free

  • Public Available to all users of the platform after moderation

To integrate with the Marketplace, you need to implement a separate application service that communicates with both the POS system and the Marketplace.

This service must expose several endpoints that the Marketplace will interact with.

App Endpoints


Example app for marketplace


Marketplace API Documentation

🚀
https://docs.dev.boomerangme.cards/#tag/Marketplace-API

Check credentials

post

Retrieve a bundle of app installation credentials using any one of them.

For example, on a service webhook or at the application service level, you may only have the merchant ID and need to obtain the service API token.

Header parameters
X-App-TokenstringRequired

App static authorization token

Body
namesstring[]Required

Optional credential names to return. If not specified, all merchant credentials are returned.

Responses
200
Successful response
application/json
400
Bad request
application/json
403
Authentication failed
application/json
post
POST /api/v2/marketplace/resolve-credentials HTTP/1.1
Host: api.digitalwallet.cards
X-App-Token: text
Content-Type: application/json
Accept: */*
Content-Length: 65

{
  "names": [
    "text"
  ],
  "credentials": [
    {
      "name": "text",
      "value": "text"
    }
  ]
}
{
  "credentials": [
    {
      "name": "text",
      "value": "text"
    }
  ]
}

Accrual action

post

Perform an accrual action on a purchase.

A customer's phone number, email, or card serial number is required to find or register a loyalty card.

Header parameters
X-App-TokenstringRequired

App static authorization token

Body
checkone of | nullableRequired
phonestring | nullableOptional

Customer's phone.

emailstring | nullableOptional

Customer's email.

firstNamestring | nullableOptional

Customer's first name.

lastNamestring | nullableOptional

Customer's last name.

serialNumberstring | nullableOptional

Customer's loyalty card serial number.

transactionIdstring | nullableRequired

Unique transaction id.

Responses
200
Successful response
application/json
400
Bad request
application/json
403
Authentication failed
application/json
post
POST /api/v2/marketplace/accrue HTTP/1.1
Host: api.digitalwallet.cards
X-App-Token: text
Content-Type: application/json
Accept: */*
Content-Length: 304

{
  "check": {
    "amount": 1,
    "currency": "text",
    "selections": [
      {
        "id": "text",
        "groupId": "text",
        "displayName": "text",
        "price": 1,
        "quantity": 1,
        "totalPrice": 1
      }
    ]
  },
  "phone": "text",
  "email": "text",
  "firstName": "text",
  "lastName": "text",
  "serialNumber": "text",
  "transactionId": "text",
  "credentials": [
    {
      "name": "text",
      "value": "text"
    }
  ]
}
{
  "transactionId": "text",
  "results": [
    {
      "installationId": 1,
      "templateId": 1,
      "companyId": 1,
      "isSuccess": true,
      "errorMessage": "text",
      "cardType": 1,
      "serialNumber": "text",
      "checkAmount": 1,
      "accrualAmount": 1,
      "accruedValue": 1,
      "createdAt": "text",
      "reversedAt": "text"
    }
  ]
}

Refund action

post

Revert a previously performed accrual action using the transaction ID.

Header parameters
X-App-TokenstringRequired

App static authorization token

Body
transactionIdstring | nullableRequired

Unique transaction id.

Responses
200
Successful response
application/json
400
Bad request
application/json
403
Authentication failed
application/json
post
POST /api/v2/marketplace/reverse HTTP/1.1
Host: api.digitalwallet.cards
X-App-Token: text
Content-Type: application/json
Accept: */*
Content-Length: 71

{
  "transactionId": "text",
  "credentials": [
    {
      "name": "text",
      "value": "text"
    }
  ]
}
{
  "transactionId": "text",
  "results": [
    {
      "installationId": 1,
      "templateId": 1,
      "companyId": 1,
      "isSuccess": true,
      "errorMessage": "text",
      "cardType": 1,
      "serialNumber": "text",
      "checkAmount": 1,
      "accrualAmount": 1,
      "accruedValue": 1,
      "createdAt": "text",
      "reversedAt": "text"
    }
  ]
}
LogoGitHub - BoomerangmeInc/marketplace-app-example: GloriaFood example app for Boomerangme marketplaceGitHub
  • App Types
  • App Endpoints
  • POSTCheck Credentials
  • POSTGet Inventory
  • Example app for marketplace
  • Marketplace API Documentation
  • POSTCheck credentials
  • POSTAccrual action
  • POSTRefund action

Check Credentials

post

This method is used to verify the user credentials specified when installing the application.

Body
Responses
200
Successful response
application/json
post
POST /check-credentials HTTP/1.1
Host: app-domain.example
Content-Type: application/json
Accept: */*
Content-Length: 113

[
  {
    "name": "merchantId",
    "value": "8481654933"
  },
  {
    "name": "accessToken",
    "value": "M0MTAsImV4cCI6MTcyNjEzNzAxMCwicm9sZ"
  }
]
200

Successful response

{
  "isValid": true
}

Get Inventory

post

This method is used to retrieve an inventory tree (for example, a restaurant menu). The method is used during application installation and when inventory-based rules are triggered.

Body
Responses
200
Successful response
application/json
post
POST /get-inventory HTTP/1.1
Host: app-domain.example
Content-Type: application/json
Accept: */*
Content-Length: 113

[
  {
    "name": "merchantId",
    "value": "8481654933"
  },
  {
    "name": "accessToken",
    "value": "M0MTAsImV4cCI6MTcyNjEzNzAxMCwicm9sZ"
  }
]
200

Successful response

{
  "inventoryItems": [
    {
      "type": "group",
      "id": "123",
      "title": "Group 1",
      "items": [
        {
          "type": "item",
          "id": "1234",
          "title": "Item 1"
        }
      ]
    }
  ]
}