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 #

📋
Anropsdata (JSON)
Copy to clipboard
{
  "brand": "Min-Butik-AB",
  "agent": "Kundservice",
  "recipients": {
    "46700123456": { "name": "Kalle" }
  },
  "reference": "INTERN-REF-001",
  "tags": ["frakt", "viktigt"],
  "content": "Hej {name}! Här är ett exklusivt erbjudande till dig.",
  "uniqueId": "order-12345-id",
  "card": {
    "title": "Vår-REA!",
    "content": "Nu tömmer vi lagret inför sommaren.",
    "mediaUrl": "https://cdn.site.se/spring-sale.jpg",
    "type": 1
  },
  "suggestions": [
    {
      "text": "Shoppa nu",
      "type": 1,
      "url": "https://site.se/shop",
      "postbackData": "track_sale_click"
    }
  ]
}

Fields for call data #

Field nameDescription of the projectRequiredTypeExample
brandYour brand name Yesstring"My Shop Ltd."
agentYour agent's nameYesstring”Customer service
recipientsYour recipient listYesObject”46700123456”: { ”name”: ”Kalle” }
contentThe content of the message itselfYes (Except when using Cards)string”Hi {name}! Your order has now been shipped.”
referenceInternal reference for bundleNo, it is not.string”INTERN-REF-001”
tagsA list of searchable tags for grouping the mailingNo, it is not.Array[”shipping”, ”important”]
cardContains image, headline, and text (Rich Card).No, it is not.Object(See table below)
suggestionsA list of interactive buttons.No, it is not.Array(See table below)
uniqueIdUnique ID to avoid duplicates.No, it is not.string”order-12345-id”

Field details card #

Field nameDescription of the projectRequiredTypeExample
titleThe heading displayed at the top of the card.Yesstring”Spring Sale!”
contentThe descriptive text on the card.Yesstring”We are emptying the warehouse now.”
typeCard type (1 for standard Rich Card).YesInteger1
mediaUrlURL to image or video (public link).No, it is not.URI”https://site.se/image.jpg”

Field details suggestions #

Field nameDescription of the projectRequiredTypeExample
textThe text on the button.Yesstring”Shop now”
typeType of action (1=URL, 4=Call, 5=Location).YesInteger1
postbackDataThe data you get back upon a click.Yesstring”track_sale_click”
URLTarget URL (required for type 1).No, it is not.URI”https://site.se/shop”

Responsibility #

Example of response data #

📋
Responsdata (JSON)
Copy to clipboard
{
  "id": "65eb3d14f1234567890abcdef",
  "brand": "Min-Butik-AB",
  "agent": "Kundservice",
  "type": 1,
  "content": "Hej! Din order är nu skickad.",
  "card": {
    "title": "Order #12345",
    "content": "Paketet beräknas anlända imorgon.",
    "mediaUrl": "https://cdn.site.se/package.jpg",
    "type": 1,
    "height": 2
  },
  "suggestions": [
    {
      "text": "Spåra paket",
      "type": 1,
      "url": "https://frakt.se/track/123",
      "postbackData": "track_click",
      "order": 0
    }
  ],
  "sendDate": "2026-03-04T15:05:00Z",
  "uniqueId": "order-12345-id",
  "reference": "INTERN-REF-001",
  "created": "2026-03-04T15:03:02Z",
  "tags": ["frakt", "viktigt"]
}

Fields for response data #

Field nameDescription of the projectTypeExample
idBundle's unique ID.string"65eb3d14f1234567890abcdef"Hello.
brandThe brand used.string”My-Shop-Co”
agentYour agent's namestring”Customer service”
typeMessage type (e.g., 1=Text).Integer1
contentThe text content that was sent out.string”Hi {name}! Your order has now been shipped.”
sendDateDispatch time.DateTime”2026-03-04T15:05:00Z”
referenceYour optional free-text reference.string”INTERN-REF-001”
uniqueIdYour own ID for duplicate check.string”order-12345-id”
createdTimestamp when the mail was created in the system.DateTime”03/04/2026 3:03:02 PM UTC”
tagsArray of tags associated with the shipment.Array[”shipping”, ”important”]
cardContains details for the sent card (if applicable).Object{…}
suggestionsList of buttons that were sent.Array[…]