Bundles are used to send messages to one or more recipients simultaneously, which is ideal for notifications or marketing campaigns. A Bundle contains information about the sending Agent, content in the form of text or cards, and a list of recipients. This is the most effective way to reach a large group of users with a single interactive message.
Quickstart #
Quick Start (cURL)
Copy to clipboard
curl -X POST https://api.ip1.net/v3/bundles \
-H "Authorization: Bearer API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"brand": "Min-Butik-AB",
"agent": "Kundservice",
"recipients": {"46700123456": {}},
"reference": "INTERN-REF-001",
"tags": ["frakt", "viktigt"],
"card": {
"title": "Sommarkampanj 2026",
"content": "Få 20%rabatt på alla solglasögon!",
"mediaUrl": "https://cdn.site.se/promo-sun.jpg",
"type": 1
},
"suggestions": [
{
"text": "Se utbud",
"type": 1,
"url": "https://site.se/shop",
"postbackData": "shop_click"
},
{
"text": "Ring butik",
"type": 4,
"phoneNumber": "468123456",
"postbackData": "call_click"
}
]
}'
Call #
Endpoint: /bundles
Methodology: POST
Example of call data #
Call data (JSON)
Copy to clipboard
{
"brand": "Min-Butik-AB",
"agent": "Customer Service",
"recipients": {
"46700123456": { "name": "Kalle" }
},
"reference": "INTERNAL-REF-001",
"tags": ["shipping", "important"],
"content": "Hello {name}! Here is an exclusive offer for you.",
"uniqueId": "order-12345-id",
"card": {
"title": "Spring Sale!",
"content": "We are now clearing out our inventory for summer.",
"mediaUrl": "https://cdn.site.se/spring-sale.jpg",
"type": 1
},
"suggestions": [
{
"text": "Shop Now",
"type": 1,
"url": "https://site.se/shop",
"postbackData": "track_sale_click"
}
]
}
Fields for request data #
| Field name | Description of the project | Required | Type | Example |
| brand | Your brand name | Yes | string | "My Shop Ltd." |
| agent | Your agent's name | Yes | string | ”Customer service |
| recipients | Your recipient list | Yes | Object | ”46700123456”: { ”name”: ”Kalle” } |
| content | The content of the message itself | Yes (Except when using Cards) | string | ”Hi {name}! Your order has now been shipped.” |
| reference | Internal reference for bundle | No, it is not. | string | ”INTERN-REF-001” |
| tags | A list of searchable tags for grouping the mailing | No, it is not. | Array | [”shipping”, ”important”] |
| card | Contains image, headline, and text (Rich Card). | No, it is not. | Object | (See table below) |
| suggestions | A list of interactive buttons. | No, it is not. | Array | (See table below) |
| uniqueId | Unique ID to avoid duplicates. | No, it is not. | string | ”order-12345-id” |
Field details card #
| Field name | Description of the project | Required | Type | Example |
|---|---|---|---|---|
| title | The heading displayed at the top of the card. | Yes | string | ”Spring Sale!” |
| content | The descriptive text on the card. | Yes | string | ”We are emptying the warehouse now.” |
| type | Card type (1 for standard Rich Card). | Yes | Integer | 1 |
| mediaUrl | URL to image or video (public link). | No, it is not. | URI | ”https://site.se/image.jpg” |
Field details suggestions #
| Field name | Description of the project | Required | Type | Example |
|---|---|---|---|---|
| text | The text on the button. | Yes | string | ”Shop now” |
| type | Type of action (1=URL, 4=Call, 5=Location). | Yes | Integer | 1 |
| postbackData | The data you get back upon a click. | Yes | string | ”track_sale_click” |
| URL | Target URL (required for type 1). | No, it is not. | URI | ”https://site.se/shop” |
Responsibility #
Example of response data #
Response data (JSON)
Copy to clipboard
Hello! Your order has now been sent.
Card:
Title: Order #12345
Content: The package is expected to arrive tomorrow.
Media URL: https://cdn.site.se/package.jpg
Type: 1
Height: 2
Suggestions:
- Text: Track package
Type: 1
URL: https://frakt.se/track/123
Postback data: track_click
Order: 0
Send date: 2026-03-04T15:05:00Z
Unique ID: order-12345-id
Reference: INTERN-REF-001
Created: 2026-03-04T15:03:02Z
Tags: ["shipping", "important"]
Fields for response data #
| Field name | Description of the project | Type | Example |
| id | Bundle's unique ID. | string | "65eb3d14f1234567890abcdef"Hello. |
| brand | The brand used. | string | ”My-Shop-Co” |
| agent | Your agent's name | string | ”Customer service” |
| type | Message type (e.g., 1=Text). | Integer | 1 |
| content | The text content that was sent out. | string | ”Hi {name}! Your order has now been shipped.” |
| sendDate | Dispatch time. | DateTime | ”2026-03-04T15:05:00Z” |
| reference | Your optional free-text reference. | string | ”INTERN-REF-001” |
| uniqueId | Your own ID for duplicate check. | string | ”order-12345-id” |
| created | Timestamp when the mail was created in the system. | DateTime | ”03/04/2026 3:03:02 PM UTC” |
| tags | Array of tags associated with the shipment. | Array | [”shipping”, ”important”] |
| card | Contains details for the sent card (if applicable). | Object | {…} |
| suggestions | List of buttons that were sent. | Array | […] |