Morffeus Docs
ENSR morffeus.com

Prodavnice i lokacije

Vaša aplikacija može da zabeleži kad je kupac u nekoj od vaših prodavnica. Telefon šalje svoj položaj, mi nalazimo najbližu aktivnu prodavnicu, i ako je kupac dovoljno blizu, počinje poseta. Posete mogu da donose nagrade kroz automatizacije koje podesite u Admin-u.

Ko ih poziva#

Svaki poziv ovde traži token sesije prijavljenog kupca u Authorization: Bearer i odnosi se samo na tog kupca; pogledajte Sesije i prijavu. Kupac ima najviše jednu otvorenu posetu u isto vreme.

Kako se poseta vezuje za prodavnicu#

Objekat posete#

PoljeOpis
idintegerNaš id posete.
app_location_id, app_location_nameProdavnica.
entry_timedatetime · ISO 8601, UTCKad je poseta počela.
leaving_timedatetime · može biti nullKad se završila. null dok je otvorena.
duration_minutesinteger · može biti nullKoliko je trajala, kad se završi.
customer_id, data_part, time_partKupac.

Prijava, odlazak, lista poseta#

POST /api/v2/customer/attendance
PozivOpis
POST /customer/attendancePočinje posetu. Telo: latitude (−90 do 90), longitude (−180 do 180) i accuracy u metrima, sve obavezni brojevi. Vraća data.visit i data.visits_this_month, broj poseta kupca u tekućem mesecu.
POST /customer/attendance/leaveZavršava otvorenu posetu. Vraća data.visit sa njenim leaving_time.
GET /customer/attendancesPosete kupca, najnovije prve, u data.visits, i otvorenu u data.active ili null. Opciono from i until kao YYYY-MM-DD; podrazumevano tekući mesec do danas, najviše 366 dana.

Greške

Sve su 422, sa ključem u errors.AttendanceLogs i detaljima u errors.fields.

KljučKada
API.AttendanceLogs.CustomerRequiredSesija nema kupca.
API.AttendanceLogs.PositionRequiredKoordinata nedostaje ili je van opsega.
API.AttendanceLogs.InaccuratePoložaj nije dovoljno precizan. fields: accuracy_m, max_accuracy_m.
API.AttendanceLogs.OutOfRangeNijedna prodavnica nije dovoljno blizu. fields: distance_m, radius_m, i app_location_id, app_location_name, latitude i longitude najbliže prodavnice.
API.AttendanceLogs.NoLocationAplikacija nema prodavnicu u kojoj bi zabeležila posetu.
API.AttendanceLogs.AlreadyActivePoseta je već otvorena. fields.visit je ta poseta.
API.AttendanceLogs.NotActiveOdlazak je pozvan bez otvorene posete.
API.AttendanceLogs.InvalidPeriodOpseg from–until nije ispravan ili je duži od 366 dana.
POST/customer/attendance
curl -X POST "https://api.morffeus.com/api/v2/customer/attendance" \
  -H "Authorization: Bearer $SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "latitude": 45.2551, "longitude": 19.8452, "accuracy": 12 }'
Odgovor200 OK
{
  "data": {
    "visit": {
      "id": 7712,
      "app_location_id": 31,
      "app_location_name": "Novi Sad centre",
      "entry_time": "2026-10-01T10:15:00",
      "leaving_time": null,
      "duration_minutes": null,
      …
    },
    "visits_this_month": 3
  }
}
Greška422 Unprocessable Entity
{
  "errors": {
    "AttendanceLogs": ["API.AttendanceLogs.OutOfRange"],
    "fields": {
      "code": "API.AttendanceLogs.OutOfRange",
      "distance_m": 312,
      "radius_m": 150,
      "app_location_name": "Novi Sad centre",
      …
    }
  }
}
Poslednja izmena 1. oktobra 2026. · API v2 Nešto nije u redu na ovoj stranici?