Ana içeriğe geç

Hata Kodları

Standart hata zarfı:

json { "success": false, "request_id": "uuid", "data": null, "error": { "code": "ERROR_CODE", "message": "Human-readable message.", "details": [] } }

Tanımlı kodlar

Kod Anlam
INVALID_JSON İstek gövdesi geçerli JSON değil
MALFORMED_JSON JSON sözdizimi ayrıştırılamadı (detail: JSON_SYNTAX_ERROR, line/column mümkünse)
MALFORMED_XML XML sözdizimi ayrıştırılamadı veya DOCTYPE reddedildi (detail: XML_SYNTAX_ERROR)
INVALID_FIELD_TYPE Alan tipi uyuşmazlığı; detail içinde tam path, expected_type, actual_type
REQUIRED_FIELD_MISSING Bir veya daha fazla zorunlu alan eksik
UNKNOWN_FIELD Bilinmeyen JSON alanı veya XML elementi
INVALID_REQUEST İstek hatalı biçimlendirilmiş
VALIDATION_ERROR Bir veya daha fazla sözleşme doğrulama hatası (enum, datetime, range, karışık)
VALIDATION_FAILED Bazı doğrulama hataları için legacy alias
AUTHENTICATION_REQUIRED Kimlik doğrulama gerekli
INVALID_CLIENT Client kimlik doğrulaması başarısız
INVALID_TOKEN Erişim token'ı geçersiz veya süresi dolmuş
INVALID_ACCESS_TOKEN Eski/planlı referanslar için korunan alias
UNSUPPORTED_GRANT_TYPE Token grant type desteklenmiyor
INSUFFICIENT_SCOPE Token gerekli kapsamı içermiyor
IDEMPOTENCY_CONFLICT Eski alias; IDEMPOTENCY_KEY_CONFLICT tercih edilmeli
IDEMPOTENCY_KEY_REQUIRED Live endpointte zorunlu Idempotency-Key eksik (HTTP 400)
INVALID_IDEMPOTENCY_KEY Idempotency-Key boş, uzunluk/karakter/whitespace hatası veya tekrarlayan header (HTTP 400)
IDEMPOTENCY_KEY_CONFLICT Aynı key farklı canonical payload ile kullanılmış (HTTP 409)
IDEMPOTENCY_REQUEST_IN_PROGRESS Aynı key için aktif processing lease (HTTP 409, Retry-After: 2)
REQUEST_ARCHIVE_UNAVAILABLE Zorunlu request archive insert/update kullanılamıyor (HTTP 503)
IDEMPOTENCY_STORE_UNAVAILABLE Idempotency store kullanılamıyor (HTTP 503)
PAYLOAD_TOO_LARGE Gövde yapılandırılmış sınırı aşıyor
UNSUPPORTED_MEDIA_TYPE İstek Content-Type desteklenmiyor
NOT_ACCEPTABLE Accept başlığı desteklenmiyor
METHOD_NOT_ALLOWED HTTP metodu izin verilmiyor
ROUTE_NOT_FOUND Rota mevcut değil
NO_PROJECT_PROCESSED Yapısal olarak geçerli iş emri isteği, ancak canlı endpointte hiçbir proje yazılamadı (HTTP 409)
INTEGRATION_ACTOR_USER_NOT_FOUND Yapılandırılmış INTEGRATION_ACTOR_USER_ID mevcut bir kullanıcıya karşılık gelmiyor (HTTP 409)
INTEGRATION_ACTOR_USER_INACTIVE Entegrasyon aktörü var ancak aktif değil (HTTP 409)
INTEGRATION_ACTOR_TENANT_MISMATCH Aktör, isteğin kiracısına ait değil (HTTP 409)
DATABASE_UNAVAILABLE MongoDB bağımlılığı kullanılamıyor (hazırlık, inbound canlı kalıcılık ve outbound okuma uç noktalarında HTTP 503)
HEALTH_DETAILS_DISABLED Details uç noktası devre dışı
INTERNAL_ERROR Beklenmeyen dahili hata

Entegrasyon aktör kodları

Canlı POST /api/v1/inbound/work-orders bu kodları, yapılandırılmış entegrasyon kimliği kullanılamadığında döner. Bunlar INTERNAL_ERROR değildir. Yanıtta aktör ObjectID, MongoDB URI, yığın izi veya store iç detayı yoktur.

Kod HTTP Anlam Olası neden Operatör eylemi
INTEGRATION_ACTOR_USER_NOT_FOUND 409 INTEGRATION_ACTOR_USER_ID için kullanıcı belgesi yok Installer/env var olmayan bir ObjectID gösteriyor (daha önce üretilmiş rastgele ID dahil) --integration-actor-user-id ile mevcut aktif kullanıcıyı verin
INTEGRATION_ACTOR_USER_INACTIVE 409 Kullanıcı var ama durumu active değil Devre dışı bırakılmış dizin kullanıcısı Aktif bir entegrasyon kullanıcısı seçin
INTEGRATION_ACTOR_TENANT_MISMATCH 409 Aktör company_id / organization_id istek kiracısıyla eşleşmiyor Yanlış aktör veya yanlış istek kiracısı İstek kiracısına ait bir aktör kullanın

Kiracı bağlamı kodları

Inbound iş emirleri, GET /api/v1/machine-events ve GET /api/v1/production-performance tarafından kullanılır:

Kod HTTP Anlam
TENANT_CONTEXT_REQUIRED 400 Ne istek/sorgu kiracı çifti ne yapılandırılmış DEFAULT_* varsayılanları
TENANT_CONTEXT_INCOMPLETE 400 company_id / organization_id'den yalnızca biri verildi; ortam varsayılanları uygulanmaz
INVALID_TENANT_CONTEXT 400 Verilen kiracı değeri geçerli 24 karakter ObjectID değil

Outbound okuma kodları

Kod HTTP Anlam
MACHINE_CODE_REQUIRED 400 machine_code sorgu parametresi eksik
MACHINE_NOT_FOUND 404 Çözümlenmiş kiracı ve machine_code için makine yok
PROJECT_CODE_REQUIRED 400 project_code sorgu parametresi eksik
PROJECT_NOT_FOUND 404 Kiracı için proje bulunamadı
PRODUCTION_NOT_FOUND 404 Projede üretim bulunamadı
PRODUCTION_STAGE_NOT_FOUND 404 Üretim aşaması bulunamadı
PRODUCTION_CODE_REQUIRED 400 production_code olmadan production_stage_code verildi
INVALID_FILTER_DEPENDENCY 400 Filtre bağımlılığı ihlali (aşama üretim gerektirir)
INVALID_START_TIME 400 Hatalı veya ayrıştırılamayan start_time
INVALID_END_TIME 400 Hatalı veya ayrıştırılamayan end_time
INVALID_TIME_RANGE 400 Geçersiz zaman penceresi (tek taraflı zamanlar veya start end'den önce değil)
INVALID_LIMIT 400 limit 1–1000 dışında
INVALID_CURSOR 400 İmleç geçersiz veya mevcut filtrelerle uyuşmuyor

Doğrulama detay kodları (gelen iş emirleri)

Aynı istek içinde belirsiz yapısal tekrarlar olduğunda VALIDATION_FAILED (HTTP 400) altında error.details[].code olarak görünür:

Kod Anlam
DUPLICATE_PROJECT_CODE Aynı istekte project_code tekrarı
DUPLICATE_PRODUCTION_CODE Aynı proje içinde production_code tekrarı
DUPLICATE_PRODUCTION_STAGE_CODE Aynı üretim içinde production_stage_code tekrarı
DUPLICATE_MACHINE_CODE Aynı aşama içinde machine_code tekrarı
DUPLICATE_EMPLOYEE_USERNAME Aynı aşama içinde username tekrarı

Sonuç / uyarı kodları (gelen iş emirleri)

Başarılı canlı kalıcılık yanıtlarında data.results[].warnings altında görünür; NO_PROJECT_PROCESSED (409) details içinde de yer alabilir:

Kod Anlam
PROJECT_NAME_CONFLICT Aynı project_code farklı project_name ile mevcut; proje atlandı
MACHINE_NOT_FOUND Makine çözülemedi; üretim aşaması atlandı
EMPLOYEE_NOT_FOUND Kullanıcı çözülemedi; çalışan ataması atlandı (aşama devam eder)
ALL_STAGES_SKIPPED Bir üretim için tüm gelen aşamalar atlandı; üretim atlandı
ALL_PRODUCTIONS_SKIPPED Bir proje için tüm üretimler atlandı; proje atlandı

Inbound canlı kalıcılık sırasında MongoDB erişilemezse DATABASE_UNAVAILABLE HTTP 503 olarak döner (örneğin bağlantı, server selection veya zaman aşımı). İstemci yanıtlarına dahili MongoDB hata metni eklenmez.

POST /api/v1/inbound/work-orders/test için 200 yanıtı payload formatının ve sözleşmesinin geçerli olduğu anlamına gelir. Test endpointi MongoDB’ye erişmez ve veritabanı tabanlı uyarı kodları dönmez.