Morffeus Docs
ENSR morffeus.com

Obaveštenja i saglasnosti

Vaša aplikacija odlučuje šta će reći kupcima; kupac odlučuje kako sme da bude kontaktiran. Ovi pozivi omogućavaju prijavljenom kupcu da vidi i menja svoju saglasnost za marketing, a vašoj mobilnoj aplikaciji da registruje uređaj koji prima push poruke.

Ko ih poziva#

Pozivi za saglasnosti i registracija uređaja odnose se na kupca prijavljenog u sesiji, i ni na koga drugog: id kupca u telu zahteva se zanemaruje. Traže token prijavljenog kupca u Authorization: Bearer; pogledajte Sesije i prijavu.

Kako saglasnost radi#

Objekat saglasnosti#

Ono što svaki poziv za saglasnosti vraća u data.

PoljeOpis
masterbooleanGlavna saglasnost za marketing.
channelsobjectPo jedan unos za svaki kanal, email, sms, push i viber.
channels.<channel>.statestringgranted ili revoked. granted kad ga kupac nikad nije podesio.
channels.<channel>.effectivebooleanDa li kanal sada sme da se koristi za marketing.
channels.<channel>.source, changed_atmože biti nullOdakle i kada je kanal poslednji put promenjen. null kad nikad nije.
preferredobjectKanal preko kog kupac želi da bude kontaktiran: notification_channel_id, i source, auto ili manual.
viber_subscribedbooleanDa li kupac prati vaš Viber kanal.
given_atdatetime · ISO 8601, UTCNajnovija promena saglasnosti, ili trenutak registracije kupca ako od tada nije bilo promena.

Čitanje i promena saglasnosti#

PUT /api/v2/customer/consent

Tri poziva iza ekrana saglasnosti. Svaki vraća ceo objekat saglasnosti, pa ekran možete ponovo da iscrtate iz odgovora.

PozivOpis
GET /customer/consentsSaglasnost kupca.
PUT /customer/consentPostavlja jedan kanal. Telo: channel (email, sms, push ili viber) i state (granted ili revoked). Postavljanje kanala na stanje koje već ima ne menja ništa.
PUT /customer/consents/masterPostavlja glavnu saglasnost. Telo: state, granted ili revoked.

Greške

StatusKada
401Token ne pripada prijavljenom kupcu.
422API.CustomerChannelConsents.CustomerRequired: sesija nema kupca. API.CustomerChannelConsents.InvalidChannel ili InvalidState: vrednost nije jedna od dozvoljenih; fields je imenuje.
PUT/customer/consent
curl -X PUT "https://api.morffeus.com/api/v2/customer/consent" \
  -H "Authorization: Bearer $SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "channel": "sms", "state": "revoked" }'
Odgovor200 OK
{
  "data": {
    "master": true,
    "channels": {
      "email": {
        "state": "granted",
        "effective": true,
        "source": null,
        "changed_at": null
      },
      "sms": {
        "state": "revoked",
        "effective": false,
        "source": "mobile_app",
        "changed_at": "2026-10-01T10:02:11"
      },
      "push": { … },
      "viber": { … }
    },
    "preferred": { "notification_channel_id": null, "source": "auto" },
    "viber_subscribed": false,
    "given_at": "2026-10-01T10:02:11"
  }
}
Greška422 Unprocessable Entity
{
  "errors": {
    "CustomerChannelConsents": ["API.CustomerChannelConsents.InvalidChannel"],
    "fields": { … }
  }
}

Registracija uređaja za push#

PUT /api/v2/notification_device

Kaže nam koji push token dopire do prijavljenog kupca na ovom uređaju. Pozovite ga posle prijave i kad god provajder push obaveštenja da vašoj aplikaciji nov token. Uređaj je onaj koji je vaša aplikacija navela kad je pokrenula sesiju, a kupac je kupac sesije.

Parametri tela zahteva

ParametarOpis
notification_deviceobaveznoobjectUređaj.
notification_device.messaging_tokenobaveznostringPush token iz Firebase Cloud Messaging-a.
notification_device.notification_channel_idobaveznointegerPush kanal: 3.
notification_device.device_type, device_vendor, mobile_infoOpcioni podaci o uređaju.

Ponovno slanje istog push tokena menja uređaj umesto da doda nov, a starije kopije tog tokena za kupca se uklanjaju.

Vraća

data: uređaj onako kako je sačuvan.

POST /api/v2/session/firebase/token sa firebase_token umesto toga čuva push token na tokenu trenutne sesije. Odgovara sa 204, ili sa 422 i API.Tokens.Firebase.UnableToUpdate.

PUT/notification_device
curl -X PUT "https://api.morffeus.com/api/v2/notification_device" \
  -H "Authorization: Bearer $SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "notification_device": {
      "messaging_token": "fcm-token-from-the-device",
      "notification_channel_id": 3
    }
  }'
Poslednja izmena 1. oktobra 2026. · API v2 Nešto nije u redu na ovoj stranici?