Inhalt

GET Get message

https://api.sovopt.com/v1/push/message/MESSAGE_ID
HEADERS
Authorization Basic API_KEY
curl --location --request GET "https://api.sovopt.com/v1/push/message/MESSAGE_ID" \
  --header "Authorization: Basic API_KEY"
{
    "message": {
        "id": 6035,
        "autohide": false,
        "send_at": null,
        "sent_at": "2019-07-23 15:38:42",
        "is_draft": false,
        "is_silent": false,
        "ttl": null,
        "ttl_date": null,
        "rate_limit": false,
        "updated_at": "2019-07-23 13:51:15",
        "urgency": "normal",
        "is_hidden_in_widget": false,
        "lang": {
            "de": {
                "title": "Test",
                "body": "Test",
                "icon": "https://example.com/icon.png",
                "image": "https://example.com/image.jpg",
                "link": "https://example.com"
            }
        },
        "stats": {
            "failed": 0,
            "displays": 6,
            "clicks": 0,
            "conversions": 0,
            "ordervalue": 0,
            "recipients": 16,
            "sent": 16,
            "pending": 0
        },
        "created_at": "2019-07-23 15:38:41"
    }
}

GET Get messages

https://api.sovopt.com/v1/push/messages
HEADERS
Authorization Basic API_KEY
Body
is_draft optional integer Mit dem Parameter is_draft=1 können alle Nachrichten mit dem Status Entwurf abgerufen werden.
curl --location --request GET "https://api.sovopt.com/v1/push/messages" \
  --header "Authorization: Basic API_KEY"
{
    "messages": [
        {
            "id": 6035,
            "is_draft": false,
            "send_at": null,
            "sent_at": "2019-07-23 15:38:42",
            "stats": {
                "failed": 0,
                "displays": 6,
                "clicks": 0,
                "conversions": 0,
                "ordervalue": 0,
                "recipients": 16,
                "sent": 16,
                "pending": 0
            },
            "created_at": "2019-07-23 15:38:41",
            "is_silent": false,
            "is_hidden_in_widget": false,
            "autohide": false,
            "rate_limit": false
        }
    ]
}

POST Create message

https://api.sovopt.com/v1/push/message
HEADERS
Authorization Basic API_KEY
Content-Type application/json
Body
is_draft boolean Definiert ob Message als Entwurf angelegt werden soll. Default: true Um eine Nachricht sofort zu versendet muss dieser Wert auf false gesetzt werden.
subscription optional array Array mit Subscription IDs die direkt angeschrieben werden sollen (Direktnachricht). Beispiel: ["Z_7aWWIpvtKMPP01", "2-2VuH6bwnbhrmdo"]
campaign_id optional string Nur in Zusammenhang mit dem Parameter subscription verwenden. Die Kampagne ID kann dazu verwendet werden, die Ergebnisse der Direktnachrichten im Sovendus Dashboard zu gruppieren. Wird keine Kampagne ID übergeben, werden die Ergebnisse der Default Kampagne zugeordnet.
ttl optional integer Gültigkeit der Nachricht in Minunten ab Versandzeitpunkt. Nicht zusammen mit ttl_date verwenden. Default: 1140 (3 Tage)
ttl_date optional string Datum und Uhrzeit bis zu der die Nachricht gültig sein soll. Nicht zusammen mit ttl verwenden. Format: yyyy-MM-dd HH:mm
autohide optional boolean / integer Zeit wie lange eine Nachricht stehen bleibt, bevor sie ausgeblendet und ins Notification-Center verschoben wird. Default: false
rate_limit optional integer Anzahl Nachrichten pro Minute. Default: 0 = Kein Rate Limit
urgency optional string Bei einer niedrigen Priorität können Nachrichten ggf. verzögert zugestellt werden, um z.B. bei niedrigem Akkustand das Gerät nicht aufwecken zu müssen. Mögliche Werte: 'very-low' | 'low' | 'normal' | 'high' Default: 'normal'
is_silent optional boolean Nur für Mobile Geräte. Nachricht wird ohne Ton/Vibration/Displayaktivierung zugestellt. Default: false
is_hidden_in_widget optional boolean Wenn true übermittelt wird, wird die Nachricht nicht im Sovendus Push Widget angezeigt. Default: false
send_at optional string Datum und Uhrzeit an dem die Nachricht versendet werden soll. Wenn kein Wert übergeben wird, wird die Nachricht sofort versendet. Format: yyyy-MM-dd HH:mm
lang optional object Nachrichteninhalt aufgeteilt pro Sprache. Die Sprachspezifischen Elemente müssen innerhalb eines Keys der dem Sprachcode (de, en, fr, etc.) entspricht definiert werden.
title string Nachrichtentitel
body string Nachrichtentext
link string Link zur Landingpage
icon optional string URL des Nachrichten Icons
badge optional string Badge URL welches in der Benachrichtigungsleiste auf Mobile (Chrome auf Android) angezeigt wird.
image optional string Bild URL für grosses Bild in Nachricht. Diese Funktion wird nur von Chrome auf Desktop unterstützen.
action_buttons optional array object Action Buttons zur Nachricht hinzufügen. Beispiel: [{"text":"Button 1", "link": "https://example.org/page1"}, {"text":"Button 2", "link": "https://example.org/page2"}]
curl --location --request POST "https://api.sovopt.com/v1/push/message" \
  --header "Content-Type: application/json" \
  --header "Authorization: Basic API_KEY" \
  --data "{
	\"is_draft\": true,
	\"ttl\": 600,
        \"ttl_date\": "2019-08-08 10:05",
	\"autohide\": false,
	\"rate_limit\": false,
	\"urgency\": \"normal\",
	\"is_silent\": false,
	\"is_hidden_in_widget\": false,
	\"send_at\": null,
	\"lang\": {
		\"de\": {
			\"title\": \"Testnachricht mda\",
			\"body\": \"Testbody mda\",
			\"link\": \"https://example.org\",
                        \"icon\":\"https://example.org/icon.png\",
                        \"badge\":\"https://example.org/badge.png\",
			\"image\": \"https://static.sovopt.ch/media/192x192/adfocuslogo(2).png\",
			\"action_buttons\" : [
				{
					\"text\":\"Button 1\",
					\"link\": \"https://example.org/page1\"
				},
				{
					\"text\":\"Button 2\",
					\"link\": \"https://example.org/page2\"
				}
				]
		}
	}
}"
body
message_id integer ID der erstellten Nachricht
{
    "message_id": MESSAGE_ID
}

PUT Edit message

https://api.sovopt.com/v1/push/message/MESSAGE_ID
HEADERS
Authorization Basic API_KEY
Content-Type application/json
curl --location --request PUT "https://api.sovopt.com/v1/push/message/6335" \
  --header "Authorization: Basic API_KEY" \
  --header "Content-Type: application/json" \
  --data "{
	\"is_draft\": false,
	\"ttl_date\": \"2019-08-03 05:04\",
	\"autohide\": 60,
	\"rate_limit\": 0,
	\"urgency\": \"low\",
	\"is_silent\": false,
	\"is_hidden_in_widget\": true,
	\"send_at\": \"2019-07-31 10:30\",
	\"lang\": {
		\"de\": {
			\"title\": \"Testnachricht\",
			\"body\": \"Testbody\",
			\"link\": \"https://example.org\",
			\"icon\": \"https://example.org/icon.png\",
			\"badge\": \"https://example.org/badge.png\",
			\"image\": \"https://example.org/image.png\",
			\"action_buttons\" : [
				{
					\"text\":\"Button 1\",
					\"link\": \"https://example.org/page1\"
				},
				{
					\"text\":\"Button 2\",
					\"link\": \"https://example.org/page2\"
				}
				]
		}
	}
}"
{
    "success": true
}

DELETE Delete message

https://api.sovopt.com/v1/push/message/MESSAGE_ID
HEADERS
Authorization Basic API_KEY
{
    "success": true
}

Wie komme ich an die Subscription ID eines Abonnenten?

Die Subscription ID des Abonnenten welche für Direktnachrichten benötigt wird (Parameter subscription) ist in der Variable window.gb_push_subscription_key gespeichert. Bei einer Änderung dieser ID wird der Event getback_push_subscription_change gefeuert. Dies ermöglicht es Ihnen z.B. die ID in Ihrem CRM zu speichern und somit personalisierte Direktnachrichten an Ihre Abonnenten zu versenden.

window.addEventListener("getback_push_subscription_change", function() { 
    console.log(window.gb_push_subscription_key);
});

Direktnachrichten-Kampagne anlegen

Über eine Direktnachrichten-Kampagne können Sie die Ergebnisse der versendeten Nachrichten gruppieren. Dies ermöglicht es Ihnen, Ihre einzelnen Massnahmen getrennt voneinander auszuwerten.

Kampagnen können Sie im Sovendus Backend unter „API -> Kampagne erstellen“ anlegen. Um die Kampagne danach beim erstellen einer Nachricht zu verwenden, muss die ID mittels dem Parameter campaign_id übergeben werden.

GET Get campaign stats

https://api.sovopt.com/v1/stats/campaigns
HEADERS
Authorization optional Basic API_KEY
Body
start string Startdatum des Zeitraums Format: yyyy-MM-dd
end string Enddatum des Zeitraums Format: yyyy-MM-dd
status optional string Filter nach Status der Kampagne. Mögliche Werte: active, inactive, all (default)
curl --location --request GET "https://api.sovopt.com/v1/stats/campaigns?start=2021-12-01&end=2021-12-31&status=active" \
  --header "Authorization: Basic API_KEY"
[
  {
    "id": 0,
    "name": "string",
    "impressions": 0,
    "clicks": 0,
    "conversions": 0,
    "ordervalue": 0
  }
]