> For the complete documentation index, see [llms.txt](https://user.netmera.com/netmera-developer-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://user.netmera.com/netmera-developer-guide/api-documentation/recipes/rich-media-and-click-actions.md).

# Sending a Push with Rich Media and Click Actions

Add images, titles, and subtitles per platform, choose what happens on tap, and pass custom parameters to the app.

This recipe shows how to send a bulk push with platform-specific media, titles, and subtitles, how to choose what happens when the user taps the notification, and how to pass custom parameters to the app.

## When to Use

This recipe fits campaigns that need a visual, such as a product image, and a clear next step after the tap, such as a deeplink to a screen or a web page.

## Prerequisites

* REST API key of the application
* Publicly reachable URLs for the media, for example `https://media.example.com/offer.jpg`
* The deeplink or the URL to open after the tap

## Step 1: Add Rich Media per Platform

Set media in the `ios` and `android` objects of `message`. Android supports an image. iOS supports an image, a sound, or a video. Each platform object can also carry its own `title` and `subtitle`, and a `thumbnailUrl`.

```bash
curl https://restapi.netmera.com/rest/3.0/sendBulkNotification \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'X-netmera-api-key: <API_KEY>' \
  --data '{
  "message": {
    "title": "Special Notification",
    "text": "This is a notification with media content",
    "platforms": ["IOS", "ANDROID"],
    "ios": {
      "mediaUrl": "https://media.example.com/ios_image.jpg",
      "title": "iOS Title",
      "subtitle": "iOS Subtitle",
      "thumbnailUrl": "https://media.example.com/ios_thumbnail.jpg"
    },
    "android": {
      "mediaUrl": "https://media.example.com/android_image.jpg",
      "title": "Android Title",
      "subtitle": "Android Subtitle",
      "bigText": "Big text for Android",
      "thumbnailUrl": "https://media.example.com/android_thumbnail.jpg"
    }
  },
  "target": {
    "sendToAll": true
  }
}'
```

**Expected result:** HTTP 200 with a `notificationKey`.

## Step 2: Choose the Click Action

Set one action in the `click` object of `message`.

| Field       | Behavior after the tap                                                                                 |
| ----------- | ------------------------------------------------------------------------------------------------------ |
| `deeplink`  | Redirects the user to a specific view or content, for example `"deeplink": "https://www.example.com"`. |
| `url`       | Opens a landing page in the default web view.                                                          |
| `doNothing` | Turns off the automatic click handling on Android. You implement a custom click handler in the app.    |

```json
"click": {
  "deeplink": "https://www.example.com"
}
```

## Step 3: Pass Custom Parameters

Add `customJson` to the `message` object to send key-value pairs that the app can read when the push is received.

```json
"customJson": {
  "campaign": "autumn"
}
```

## Verification Checklist

* Media URLs are publicly reachable and match the platform: an image for Android, an image, a sound, or a video for iOS
* Only one action is set in `click`
* `doNothing` is used only when the Android app has a custom click handler
* `customJson` keys match the keys that the app reads
* `target` is set; to reach all users, use `"sendToAll": true`

## Related Pages

For the full list of bulk options, such as sound, vibration, and badge, see the Bulk Notifications with Features section of the [Notifications](/netmera-developer-guide/api-documentation/rest-api/notifications.md) page in the REST API documentation.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://user.netmera.com/netmera-developer-guide/api-documentation/recipes/rich-media-and-click-actions.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
