Skip to main content
POST /v2/messages/sendPush Sends a push notification to a user’s device through the Rebell app. Use this to notify users about order updates, promotions, or other time-sensitive information.

Request Parameters

requestId
string
required
Unique request identifier (idempotency key).Max length: 64 characters
targetUserId
string
required
User ID to send the notification to.Max length: 64 characters
title
string
required
Notification title.Max length: 64 characters
content
string
required
Notification body text.Max length: 256 characters
targetUrl
string
URL or deep link to open when notification is tapped.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": "PUSH-20240110-001",
  "targetUserId": "1000001119398804xxxx",
  "title": "Your order is ready!",
  "content": "Order #12345 is ready for pickup at Store A",
  "targetUrl": "rebell://orders/12345"
}

Example Response

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

Result Codes

resultStatusresultCodeDescriptionAction
SSUCCESSNotification sentMessage delivered to queue
FUSER_NOT_EXISTUser not foundVerify targetUserId
FUSER_NOT_SUBSCRIBEDUser disabled notificationsCannot send
FPARAM_ILLEGALInvalid parametersCheck request
USENDINGNotification queuedWill be delivered

Implementation Example

async function notifyOrderReady(order) {
  const response = await rebellAPI.sendPush({
    requestId: `PUSH-ORDER-${order.id}-${Date.now()}`,
    targetUserId: order.customerId,
    title: 'Your order is ready!',
    content: `Order #${order.id} is ready for pickup at ${order.storeName}`,
    targetUrl: `rebell://orders/${order.id}`
  });

  if (response.result.resultStatus === 'S') {
    console.log(`Push sent: ${response.messageId}`);
    return true;
  }

  console.error(`Push failed: ${response.result.resultMessage}`);
  return false;
}

Best Practices