Synchronizace výsledků

Actigo umožňuje pořadatelům nahrát a popřípadě aktualizovat oficiální výsledky pořádaného závodu.

Vložení či aktualizace výsledků se provádí ve formátu JSON metodou PUT na endpointu https://actigo.app/api/events/activities/{organizedActivityId}/results.json

Příklad volání - první dvě osoby jsou registrovaní uživatelé Actigo (pořadatel zná ze stažených registrací jejich Actigo ID), třetí nikoliv.

curl https://actigo.app/api/events/activities/638f1045c5eaf533c891fc07/results \
  -H 'Authorization: Basic ***' \
  -H 'Content-Type: application/json' 
  -X PUT --data-binary @- <<BODY
[
  {
    "category": "M40",
    "person": {
      "id": "6303aec90f8fc8574e68d664"
    },
    "position": 1,
    "positionByCategory": 1,
    "positionBySex": 1,
    "splitTimes": [
      {
        "distance": 4.0,
        "time": "2022-09-01T15:10:00Z"
      }
    ],
    "startNumber": "0001",
    "time": 600000
  },
  {
    "category": "M30",
    "person": {
      "id": "62fb4a61dc322a73b01b3a14"
    },
    "position": 2,
    "positionByCategory": 2,
    "positionBySex": 2,
    "splitTimes": [
      {
        "distance": 4.0,
        "time": "2022-09-01T15:11:00Z"
      }
    ],
    "startNumber": "0002",
    "time": 660000
  },
  {
    "category": "M20",
    "person": {
      "birthDate": "2001-10-01T00:00:00Z",
      "country": "CZ",
      "givenName": "Jan",
      "middleName": "",
      "surname": "Svoboda",
      "sex": "Male"
    },
    "position": 3,
    "positionByCategory": 3,
    "positionBySex": 3,
    "splitTimes": [
      {
        "distance": 4.0,
        "time": "2022-09-01T15:12:00Z"
      }
    ],
    "startNumber": "0003",
    "time": 720000
  }
]

Příklad odpovědi (možné stavy synchronizace výsledku zde)

[
    {
        "id": "63a2fb6282daba6fb1372fd7",
        "person": {
            "id": "6303aec90f8fc8574e68d664",
            "isProfilePublic": true,
            "givenName": "Martin",
            "surname": "Dufek",
            "sex": "Male",
            "birthDate": "1975-11-27T00:00:00Z",
            "language": "cs",
            "nickname": "martin.dufek",
            "country": "CZ",
            "name": "Martin Dufek",
            "ref": "martin.dufek"
        },
        "syncResultType": "Created"
    },
    {
        "id": "63a2fb6382daba6fb1372fd8",
        "person": {
            "id": "62fb4a61dc322a73b01b3a14",
            "isProfilePublic": true,
            "givenName": "Tomas",
            "surname": "Kormanak",
            "sex": "Male",
            "birthDate": "1992-09-01T00:00:00Z",
            "language": "cs",
            "nickname": "kormikcz",
            "name": "Tomas Kormanak",
            "ref": "kormikcz"
        },
        "syncResultType": "Updated"
    },
    {
        "id": "63a2fb6382daba6fb1372fdf",
        "person": {
            "isProfilePublic": false,
            "givenName": "Jan",
            "surname": "Svoboda",
            "middleName": "",
            "sex": "Male",
            "birthDate": "2001-10-01T00:00:00Z",
            "country": "CZ",
            "name": "Jan Svoboda"
        },
        "syncResultType": "Unchanged"
    }
]

Nově vytvořené (Created) a aktualizované (Updated) výsledky asociované přes ID s existujícími uživateli Actigo jim generují příspěvek na zeď + přioritní notifikací (mobile push nebo SMS) s daty výsledku.

CSV

Stejnou operací lze rovněž provést ve formátu CSV.

Příklad volání:

curl https://actigo.app/api/events/activities/638f1045c5eaf533c891fc07/results.csv \
  -H 'Authorization: Basic ***' \
  -X PUT --data-binary @- <<BODY
time,category,position,positionBySex,positionByCategory,startNumber,person.id,person.givenName,person.middleName,person.surname,person.sex,person.birthDate
12000,M20,4,4,4,0004,,Petr,,Pavel,M,2002-12-12
BODY

Server vrátí odpověď obsahující pro každý výsledek jeho stav jeho synchronizace (seznam stavů zde):

id,syncResultType,person.id,person.givenName,person.middleName,person.surname,person.sex,person.birthDate
63c51716dd05e64f266ffacc,Created,,Petr,,Pavel,Male,2002-12-12

Last updated