Bundles används för att skicka meddelanden till flera mottagare samtidigt, vilket är idealiskt för grupputskick eller marknadsföringskampanjer. Observera: Om du vill skicka RCS till en enskild mottagare, använd endpointen Conversation. En Bundle innehåller information om avsändande Agent, innehåll i form av text eller kort, samt en lista över mottagare. Detta är det mest effektiva sättet att nå ut till en större grupp användare med ett och samma interaktiva budskap.
Quickstart
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"
],
"deliveryReportUrl": "https://delivery.ip1.net",
"fallbackPolicy": "FallbackOnNoCapability,FallbackOnFailure,FallbackAfterTimeout",
"fallbackMessage": "Detta är ett fallbackmeddelande",
"fallbackTimeOutSeconds": 300,
"type": "Carousel",
"carousel": [
{
"title": "Sommarkampanj 2026",
"content": "Få 20% rabatt på alla solglasögon!",
"mediaUrl": "https://cdn.site.se/promo-sun.jpg",
"type": "Carousel",
"order": 0
},
{
"title": "Sommarkampanj 2026",
"content": "Få 20% rabatt på alla solglasögon!",
"mediaUrl": "https://cdn.site.se/promo-sun.jpg",
"type": "Carousel",
"order": 1
},
],
"suggestions": [
{
"text": "Se utbud",
"type": "OpenUrlAction",
"order": 0,
"url": "https://site.se/shop",
"postbackData": "shop_click"
},
{
"text": "Ring butik",
"type": "DialAction",
"order": 1,
"phoneNumber": "468123456",
"postbackData": "call_click"
}
]
}'Anrop
Endpoint: /bundles
Metod: POST
Exempel på anropsdata
{
"brand": "Min-Butik-AB",
"agent": "Kundservice",
"recipients": {
"46700123456": {}
},
"reference": "INTERN-REF-001",
"tags": [
"frakt",
"viktigt"
],
"deliveryReportUrl": "https://delivery.ip1.net",
"fallbackPolicy": "FallbackOnNoCapability,FallbackOnFailure,FallbackAfterTimeout",
"fallbackMessage": "Detta är ett fallbackmeddelande",
"fallbackTimeOutSeconds": 300,
"type": "carousel",
"carousel": [
{
"title": "Sommarkampanj 2026",
"content": "Få 20% rabatt på alla solglasögon!",
"mediaUrl": "https://cdn.site.se/promo-sun.jpg",
"type": "Carousel",
"order": 0
},
{
"title": "Sommarkampanj 2026",
"content": "Få 20% rabatt på alla solglasögon!",
"mediaUrl": "https://cdn.site.se/promo-sun.jpg",
"type": "Carousel",
"order": 1
},
],
"suggestions": [
{
"text": "Se utbud",
"type": "OpenUrlAction",
"order": 0,
"url": "https://site.se/shop",
"postbackData": "shop_click"
},
{
"text": "Ring butik",
"type": "DialAction",
"order": 1,
"phoneNumber": "468123456",
"postbackData": "call_click"
}
]
}Fält för anropsdata
| Fältnamn | Beskrivning | Required | Typ | Exempel |
| brand | Namnet på ditt brand | Ja | String | "Min-Butik-AB" |
| agent | Namnet på din agent | Ja | String | ”Kundservice |
| recipients | Din mottagarlista | Ja | Object | ”46700123456”: { ”name”: ”Kalle” } |
| content | Själva meddelandets innehåll | Krävs om typen är ”Text” | String | ”Hej {name}! Din order är nu skickad.” |
| deliveryReportUrl | Länk till callback url för att hantera läskvitton och leveransrapporter | Nej | String | ”https://delivery.ip1.net” |
| fallbackPolicy | Typ av SMS-fallback-policy (NoFallback, FallbackOnNoCapability, FallbackOnFailure, FallbackAfterTimeout, CustomerControlledFallback). | Nej (Default är NoFallback) | String | ”FallbackOnNoCapability,FallbackOnFailure, FallbackAfterTimeout” |
| fallbackMessage | Specifikt meddelande som skickas ut som fallback | Ja, vid användande av Carousel. Autogenereras card eller content om inget anges. | String | ”Detta är ett fallbackmeddelande” |
| fallbackTimeoutSeconds | Tid i sekunder innan fallback-policyn aktiverar (Om FallbackAfterTimeOut är vald) | Ja, om fallBackAfterTimout är vald. | Integer | 500 |
| type | Meddelandets typ | Ja | String eller number (enum) | ”Carousel” |
| reference | Intern referens för bundle | Nej | String | ”INTERN-REF-001” |
| tags | En lista med sökbara taggar för att gruppera utskicket | Nej | Array | [”frakt”, ”viktigt”] |
| carousel | En lista av flera kort som skapar en Karusell | Krävs om typen är ”Carousel” | Array | (Se tabell nedan) |
| card | Innehåller bild, rubrik och text (Rich Card). | Krävs om typen är ”Card” | Object | (Se tabell nedan) |
| suggestions | En lista med interaktiva knappar. | Nej | Array | (Se tabell nedan) |
| uniqueId | Unikt ID för att undvika dubbletter. | Nej | String | ”order-12345-id” |
Detaljer för fältet card
| Fältnamn | Beskrivning | Required | Typ | Exempel |
|---|---|---|---|---|
| title | Rubriken som visas överst på kortet. | Ja | String | ”Vår-REA!” |
| content | Den beskrivande texten på kortet. | Ja | String | ”Nu tömmer vi lagret.” |
| type | Typ av kort (Carousel för Rich Card i karusell). | Nej | Integer | ”Carousel” |
| order | Ordning som korten visas | Nej | Integer | 1 |
| height | Kortets höjd | Nej | String (enum) | ”Medium” |
| width | Kortets bredd | Nej | String (enum( | ”Medium” |
| orientation | Kortets läge | Nej | String (enum) | ”Horizontal” |
| mediaUrl | URL till bild eller video (publik länk). | Nej | URI | ”https://site.se/bild.jpg” |
Detaljer för fältet suggestions
| Fältnamn | Beskrivning | Required | Typ | Exempel |
|---|---|---|---|---|
| text | Texten som står på knappen. | Ja | String | ”Shoppa nu” |
| type | Typ av handling OpenUrlAction”= URL ”ShareLocationAction”= Dela Plats ”ViewLocationAction”= Visa plats ”DialAction”=Ring) ”CreateCalendarEventAction” = Skapa kalenderhändelse. | Ja | String (enum) | ”OpenUrlAction” |
| order | Bestämmer vilken ordning suggestions visas. | Nej | Integer | 1 |
| postbackData | Den data du får tillbaka vid ett klick. | Ja | String | ”track_sale_click” |
| url | Mål-URL (krävs för typ 2). | Nej | String | ”https://site.se/shop” |
| Title | Titeln för Visa plats på karta samt Kalenderhändelse. | Krävs vid typ ShareLocationAction och ViewLocationAction | String | ”Vår butik” |
| Description | Beskrivning av en kalenderhändelse. | Krävs vid typ CreateCalendarEventAction | String | ”Välkommen på klippning!” |
| StartTime | Starttiden för en kalenderhändelse. | Krävs vid typ CreateCalendarEventAction | String | ”2026-07-01T14:30” |
| EndTime | Sluttiden för en kalenderhändelse. | Krävs vid typ CreateCalendarEventAction | String | ”2026-07-01T15:30” |
| Latitude | Latituden för att visa en plats på en karta. | Krävs vid typ ViewLocationAction | String | ”58.3944347” |
| Longitude | Longituden för att visa en plats på en karta. | Krävs vid typ ViewLocationAction | String | ”13.8601547,18” |
| PhoneNumber | Telefonnumret som rings upp vid knapptryck | Krävs vid typ DialAction | String | ”46101606060” |
Respons
Exempel på responsdata
{
"id": "65eb3d14f1234567890abcdef",
"brand": "Min-Butik-AB",
"agent": "Kundservice",
"type": "Card",
"content": "Hej! Din order är nu skickad.",
"sendDate": "2026-03-04T15:05:00Z",
"uniqueId": "order-12345-id",
"reference": "INTERN-REF-001",
"deliveryReportUrl": "https://delivery.ip1.net",
"created": "2026-03-04T15:03:02Z",
"fallback": {
"fallbackPolicy": "FallbackOnNoCapability,FallbackOnFailure",
"fallbackMessage": "Detta är ett fallback-meddelande",
"fallbackStatus": "Unknown"
},
"tags": ["frakt", "viktigt"]
}Fält för responsdata
| Fältnamn | Beskrivning | Typ | Exempel |
| id | Bundlens unika id. | String | |
| brand | Det använda varumärket. | String | ”Min-Butik-AB” |
| agent | Namnet på din agent | String | ”Kundservice” |
| type | Meddelandetyp: Text Card Carousel | String (enum) | ”Card” |
| content | Textinnehållet som skickades ut. | String | ”Hej {name}! Din order är nu skickad.” |
| sendDate | Tidpunkt för utskick. | DateTime | ”2026-03-04T15:05:00Z” |
| reference | Din valfria fritextreferens. | String | ”INTERN-REF-001” |
| uniqueId | Ditt egna ID för dubblettkontroll. | String | ”order-12345-id” |
| deliveryReportUrl | Callback URL för att hantera läskvitton samt leveransrapporter | String | ”https://delivery.ip1.net” |
| created | Tidpunkt när posten skapades i systemet. | DateTime | ”2026-03-04T15:03:02Z” |
| tags | Array med taggar kopplade till utskicket. | Array | [”frakt”, ”viktigt”] |
