Skip to main content
POST /v2/messages/sendInbox Sends a message to a user’s inbox within the Rebell app. Inbox messages persist and can be viewed later, unlike push notifications which are transient.

Request Parameters

requestId
string
required
Unique request identifier (idempotency key).Max length: 64 characters
targetUserId
string
required
User ID to send the message to.Max length: 64 characters
title
string
required
Message title.Max length: 128 characters
content
string
required
Message body text. Supports basic formatting.Max length: 4096 characters
category
string
Message category for organization (e.g., ORDER, PROMOTION, SYSTEM).Max length: 32 characters
targetUrl
string
URL or deep link to open when message is tapped.Max length: 2048 characters
imageUrl
string
URL to an image to display with the message.Max length: 2048 characters
extendInfo
string
Extended information as JSON string.Max length: 2048 characters

Response Parameters

result
object
required
Standard result object
messageId
string
Unique message identifier for tracking

Example Request

{
  "requestId": "INBOX-20240110-001",
  "targetUserId": "1000001119398804xxxx",
  "title": "Your receipt for Order #12345",
  "content": "Thank you for your purchase!\n\nOrder Total: €25.00\nPayment Method: Rebell Wallet\nDate: January 10, 2024\n\nView your full receipt for details.",
  "category": "ORDER",
  "targetUrl": "rebell://receipts/12345",
  "imageUrl": "https://merchant.example.com/logo.png"
}

Example Response

{
  "result": {
    "resultCode": "SUCCESS",
    "resultStatus": "S",
    "resultMessage": "success"
  },
  "messageId": "MSG2024011000002"
}

Result Codes

resultStatusresultCodeDescriptionAction
SSUCCESSMessage sentAppears in user’s inbox
FUSER_NOT_EXISTUser not foundVerify targetUserId
FPARAM_ILLEGALInvalid parametersCheck request
USENDINGMessage queuedWill be delivered

Use Cases

Order Receipts

Send detailed receipts after purchase

Promotional Messages

Announce special offers and discounts

Account Updates

Notify about account changes

Service Announcements

Important service updates

Implementation Example

async function sendReceipt(order) {
  const receiptContent = `
Thank you for your purchase!

Order #${order.id}
Date: ${formatDate(order.completedAt)}

${order.items.map(item => `${item.name}: €${(item.price / 100).toFixed(2)}`).join('\n')}

---
Total: €${(order.total / 100).toFixed(2)}
Payment: Rebell Wallet

Questions? Contact us at support@merchant.com
  `.trim();

  const response = await rebellAPI.sendInbox({
    requestId: `RECEIPT-${order.id}`,
    targetUserId: order.customerId,
    title: `Receipt for Order #${order.id}`,
    content: receiptContent,
    category: 'ORDER',
    targetUrl: `rebell://receipts/${order.id}`
  });

  return response.result.resultStatus === 'S';
}

Differences: Push vs Inbox

FeaturePush NotificationInbox Message
PersistenceTransientStored in inbox
LengthShort (256 chars)Long (4096 chars)
VisibilityLock screen/bannerIn-app inbox
Use caseTime-sensitive alertsReceipts, details
ImagesNoYes