Test ve önerilen kullanım

Test istemcisi, test sezonları ve uçtan uca doğrulama.

Test ortamı

Geliştirme ve doğrulama için size ayrı bir test istemcisi (clientId + secret) ve bir test markasına bağlı test sezonları tanımlanır. Böylece gerçek öğrenci verisine dokunmadan tüm akışı uçtan uca deneyebilirsiniz.

Test kimlik bilgileri kuruma özeldir

Her iş ortağına kendi test istemcisi verilir; ortak bir test hesabı kullanılmaz. Böylece bir kimlik bilgisinin yenilenmesi diğer kurumların testini etkilemez ve aktarımların hangi kurumdan geldiği ayırt edilebilir.
Test sezonları (tümü Test CatchUpper test markası altındadır)
SezonKurum tipiGeçerli gradeLevelseasonId
Test Lise SezonuHIGH_SCHOOL9 – 12531359
Test Ortaokul SezonuEAST_SECONDARY5 – 8531283
Test İlkokul SezonuEAST_PRIMARY1 – 4531358

Kurum tipine göre kabul edilen sınıf seviyeleri farklıdır — bir lise sezonuna gradeLevel: 7 gönderirseniz invalidGradeLevel hatası alırsınız. Çalışacağınız kademeye uygun test sezonunu seçin.

Yetkilendirme

Test istemcinizin bu test markasına yetkilendirilmiş olması gerekir. Yapılmamışsa aktarım externalClientHasNoBrandScope hatası döner — bu durumda bizimle iletişime geçin.

Doğrulamanızı öneririz

  1. Tek kayıtlı bir öğrenci aktarımı → dönen redirectUrl ile giriş.
  2. Aynı sezonda iki şubeli bir öğrenci.
  3. Bir öğretmen ve bir yönetici aktarımı.
  4. Şube değişikliği — eski kaydın kalkıp yenisinin geldiğini teyit edin.
  5. Aynı öğrenciyi ikinci kez göndererek mükerrer kayıt oluşmadığını teyit edin.

Hızlı test (curl)

Ek A
API=https://api.catchupper.com/api

# 1) Token al / Get a token
TOKEN=$(curl -s -X POST "$API/management/clients/external/authenticate" \
  -H 'Content-Type: application/json' \
  -d '{"clientId":"<CLIENT_ID>","secret":"<SECRET>"}' \
  | sed -E 's/.*"accessToken":"([^"]+)".*/\1/')

# 2) Öğrenci aktar / Transfer a learner
curl -s -X POST "$API/management/users/transfer/learner/from-external-client" \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
        "firstName":"Test","lastName":"Ogrenci",
        "identityNumber":"12345678901",
        "email":null,"phoneNumber":null,
        "enrollmentList":[
          {"seasonId":<SEASON_ID>,"gradeName":"9","gradeLevel":9,"branchName":"9-A",
           "curriculumType":"MEB","coterieType":"MATHEMATICS","identifier":"TEST-1"}
        ]
      }'

# 3) Open the redirectUrl from the response in a browser.