MENU navbar-image

Introduction

MRP App

Bu dökümantasyon üretim alanında faaliyet gösteren fabrikaların planlama ve depo birimleri baz alınarak oluşturulmuştur

Authenticating requests

This API is not authenticated.

Giriş - Çıkış İşlemleri

Kullanıcı Girişi

Bu endpoint kullanıcı girişini yapar ve access token ile birlikte kullanıcı bilgilerini döner.

Example request:
curl --request POST \
    "https://mrp.seyyaryazilimci.com/api/mobile/client/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"c_sicil\": 26000,
    \"password\": \"12345678\"
}"
const url = new URL(
    "https://mrp.seyyaryazilimci.com/api/mobile/client/login"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "c_sicil": 26000,
    "password": "12345678"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
  "success": true,
  "title": "Başarılı",
  "message": "Kullanıcı Giriş İşlemi Başarılı",
  "data": {
    "id": 2,
    "c_sicil": 26000,
    "c_name": "Muammer", // örnektir
    "c_surname": "AKSOY", // örnektir
    "c_role": "Üretim - Montaj Planlama Görevlisi", // örnektir
    "c_role_code": "planlama", // örnektir
    "c_permissions": [
      "stok_ekleme",
      "stok_guncelleme",
      "stok_silme",
      "stok_arama",
      "hurda_ekleme",
      "is_emri_ekleme",
      "is_emri_listeleme",
      "is_emri_arama",
      ...
    ],
    "email": "muammer.aksoy", // örnektir
    "token_type": "Bearer",
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
  }
}
 

Example response (401):


{
    "success": false,
    "title": "Hata",
    "message": "Kullanıcı Bilgileri Hatalı ve/veya Üyelik pasif",
    "data": []
}
 

Request      

POST api/mobile/client/login

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

c_sicil   integer   

Kullanıcının sicil numarası. Example: 26000

password   string   

Kullanıcının şifresi. Example: 12345678

Oturum Kontrolü (Check)

requires authentication

Bu endpoint, kullanıcının oturumunun geçerli olup olmadığını kontrol eder.

Example request:
curl --request GET \
    --get "https://mrp.seyyaryazilimci.com/api/mobile/client/check" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://mrp.seyyaryazilimci.com/api/mobile/client/check"
);

const headers = {
    "Authorization": "Bearer {access_token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
  "success": true,
  "isLoggedIn": true,
  "data": {
    "id": 2,
    "c_sicil": 26000,
    "c_name": "Muammer", // örnektir
    "c_surname": "AKSOY", // örnektir
    "c_role": "Üretim - Montaj Planlama Görevlisi", // örnektir
    "c_role_code": "planlama", // örnektir
    "c_permissions": [
      "stok_ekleme",
      "stok_guncelleme",
      "stok_silme",
      "stok_arama",
      "hurda_ekleme",
      "is_emri_ekleme",
      "is_emri_listeleme",
      "is_emri_arama",
      ...
    ],
    "email": "muammer.aksoy", // örnektir
    "token_type": "Bearer",
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
  }
}
 

Example response (401):


{
    "success": false,
    "isLoggedIn": false
}
 

Request      

GET api/mobile/client/check

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Kullanıcı Çıkışı

requires authentication

Bu endpoint kullanıcının oturumunu sonlandırır.

Example request:
curl --request GET \
    --get "https://mrp.seyyaryazilimci.com/api/mobile/client/logout" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://mrp.seyyaryazilimci.com/api/mobile/client/logout"
);

const headers = {
    "Authorization": "Bearer {access_token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "success": true,
    "title": "Başarılı",
    "message": "Çıkış Gerçekleştirildi",
    "data": []
}
 

Request      

GET api/mobile/client/logout

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Stok İşlemleri

Stok Ekleme

requires authentication

Yeni bir stok kaydı oluşturur. Kullanıcının "stok ekleme" yetkisine sahip olması gerekir.

Example request:
curl --request POST \
    "https://mrp.seyyaryazilimci.com/api/mobile/stock/store" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"stk_product_name\": \"Takozlu Germe Sacı\",
    \"stk_product_code\": \"1-06-007\",
    \"stk_product_shelfcode\": \"1630-C-4-01\",
    \"stk_product_total\": 106,
    \"stk_product_reserved\": 37,
    \"stk_product_min\": 10,
    \"stk_product_unit\": \"adet (veya kilo ise kg gibi)\"
}"
const url = new URL(
    "https://mrp.seyyaryazilimci.com/api/mobile/stock/store"
);

const headers = {
    "Authorization": "Bearer {access_token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "stk_product_name": "Takozlu Germe Sacı",
    "stk_product_code": "1-06-007",
    "stk_product_shelfcode": "1630-C-4-01",
    "stk_product_total": 106,
    "stk_product_reserved": 37,
    "stk_product_min": 10,
    "stk_product_unit": "adet (veya kilo ise kg gibi)"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (201):


{
    "success": true,
    "title": "Başarılı",
    "message": "Stok ekleme işlemi başarılı",
    "data": {
        "stk_product_name": "Takozlu Germe Sacı",
        "stk_product_code": "1-06-007",
        "stk_product_shelfcode": "1630-C-4-01",
        "stk_product_total": "106",
        "stk_product_reserved": "37",
        "stk_product_min": "10",
        "stk_product_unit": "adet",
        "stk_cmp_code": "firma_kodu",
        "stk_updated_at": "2025-08-03T10:12:09.000000Z",
        "stk_created_at": "2025-08-03T10:12:09.000000Z",
        "stk_id": 6
    }
}
 

Example response (401):


{
    "success": false,
    "title": "Hata",
    "message": "Stok ekleme yetkiniz yok !!!",
    "data": []
}
 

Example response (500):


{
    "success": false,
    "title": "Hata",
    "message": "Stok ekleme işleminde hata oluştu. Lütfen yöneticinize bildiriniz !!!",
    "data": []
}
 

Request      

POST api/mobile/stock/store

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

stk_product_name   string   

Ürün adı. Example: Takozlu Germe Sacı

stk_product_code   string   

Ürün kodu. Example: 1-06-007

stk_product_shelfcode   string   

Raf kodu. Example: 1630-C-4-01

stk_product_total   integer   

Toplam miktar. Example: 106

stk_product_reserved   integer   

Rezerve miktar. Example: 37

stk_product_min   integer   

Minimum stok miktarı. Example: 10

stk_product_unit   string   

Birim. Example: adet (veya kilo ise kg gibi)

requires authentication

Belirtilen ürün koduna göre stokları arar ve listeler. Kullanıcının "stok arama" yetkisine sahip olması gerekir.

Example request:
curl --request POST \
    "https://mrp.seyyaryazilimci.com/api/mobile/stock/search" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"stk_product_code\": \"1-06-007\"
}"
const url = new URL(
    "https://mrp.seyyaryazilimci.com/api/mobile/stock/search"
);

const headers = {
    "Authorization": "Bearer {access_token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "stk_product_code": "1-06-007"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "success": true,
    "title": "Başarılı",
    "message": "Stoklar Arama Sonuçları Getirildi",
    "data": [
        {
            "stk_id": 6,
            "stk_product_name": "Takozlu Germe Sacı",
            "stk_product_code": "1-06-007",
            "stk_product_shelfcode": "1630-C-4-01",
            "stk_product_total": 106,
            "stk_product_reserved": 37,
            "stk_product_min": 10,
            "stk_product_unit": "adet",
            "stk_cmp_code": "firma_kodu",
            "deleted_at": null,
            "stk_created_at": "2025-08-03T10:12:09.000000Z",
            "stk_updated_at": "2025-08-03T10:12:09.000000Z"
        }
    ]
}
 

Example response (401):


{
    "success": false,
    "title": "Hata",
    "message": "Stok arama yetkiniz yok !!!",
    "data": []
}
 

Example response (500):


{
    "success": false,
    "title": "Hata",
    "message": "Stoklar getirilirken bir hata oluştu",
    "data": []
}
 

Stok Silme

requires authentication

Bu endpoint, belirli bir stok kaydını silmek için kullanılır. Kullanıcının "stok_silme" yetkisine sahip olması gerekir.

Example request:
curl --request POST \
    "https://mrp.seyyaryazilimci.com/api/mobile/stock/delete" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"stk_product_code\": \"PRD-1001\",
    \"stk_product_shelfcode\": \"RAF-01\"
}"
const url = new URL(
    "https://mrp.seyyaryazilimci.com/api/mobile/stock/delete"
);

const headers = {
    "Authorization": "Bearer {access_token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "stk_product_code": "PRD-1001",
    "stk_product_shelfcode": "RAF-01"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "success": true,
    "title": "Başarılı",
    "message": "Stok silme işlemi başarılı",
    "data": []
}
 

Example response (401):


{
    "success": false,
    "title": "Hata",
    "message": "Stok silme yetkiniz yok !!!",
    "data": []
}
 

Example response (404):


{
    "success": false,
    "title": "Hata",
    "message": "Stok Bulunamadı !!!",
    "data": []
}
 

Example response (500):


{
    "success": false,
    "title": "Hata",
    "message": "Stok silme sırasında bir hata oluştu",
    "data": {
        "error": "Hata detayı"
    }
}
 

Request      

POST api/mobile/stock/delete

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

stk_product_code   string   

Silinecek stok kaydının ürün kodu. Example: PRD-1001

stk_product_shelfcode   string   

Silinecek stok kaydının raf kodu. Example: RAF-01

Stok Bilgisi Getir (Düzenleme İçin)

requires authentication

Belirtilen stok ID'sine göre stok bilgilerini getirir. Bu endpoint, stok güncelleme işlemi öncesinde mevcut stok bilgilerini almak için kullanılır. Kullanıcının "stok güncelleme" yetkisine sahip olması gerekir.

Example request:
curl --request POST \
    "https://mrp.seyyaryazilimci.com/api/mobile/stock/edit" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"stk_id\": 2,
    \"stk_cmp_code\": \"firma_kodu\"
}"
const url = new URL(
    "https://mrp.seyyaryazilimci.com/api/mobile/stock/edit"
);

const headers = {
    "Authorization": "Bearer {access_token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "stk_id": 2,
    "stk_cmp_code": "firma_kodu"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "success": true,
    "title": "Başarılı",
    "message": "Stok bilgisi getirildi",
    "data": {
        "stk_id": 2,
        "stk_product_name": "Metal Piston",
        "stk_product_code": "1-02-014",
        "stk_product_shelfcode": "1602-H-4-05",
        "stk_product_total": 87,
        "stk_product_reserved": 10,
        "stk_product_min": 10,
        "stk_product_unit": "adet",
        "stk_cmp_code": "firma_kodu",
        "deleted_at": null,
        "stk_created_at": "2025-07-09T07:18:36.000000Z",
        "stk_updated_at": "2025-07-30T06:07:27.000000Z"
    }
}
 

Example response (401):


{
    "success": false,
    "title": "Hata",
    "message": "Stok güncelleme yetkiniz yok !!!",
    "data": []
}
 

Example response (404):


{
    "success": false,
    "title": "Hata",
    "message": "Stok Bulunamadı !!!",
    "data": []
}
 

Request      

POST api/mobile/stock/edit

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

stk_id   integer   

Güncellenecek stok kaydının ID'si. Example: 2

stk_cmp_code   string   

Firma kodu. Example: firma_kodu

Stok Güncelleme

requires authentication

Bu endpoint, mevcut bir stok kaydını güncellemek için kullanılır. Kullanıcının "stok güncelleme" yetkisine sahip olması gerekir.

Example request:
curl --request POST \
    "https://mrp.seyyaryazilimci.com/api/mobile/stock/update" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"stk_product_name\": \"259 Pleyt\",
    \"stk_product_code\": \"1-01-061\",
    \"stk_product_shelfcode\": \"1602-C-2-04\",
    \"stk_product_total\": 290,
    \"stk_product_reserved\": 70,
    \"stk_product_min\": 10,
    \"stk_product_unit\": \"adet\",
    \"stk_id\": 1,
    \"stk_cmp_code\": \"firma_kodu\"
}"
const url = new URL(
    "https://mrp.seyyaryazilimci.com/api/mobile/stock/update"
);

const headers = {
    "Authorization": "Bearer {access_token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "stk_product_name": "259 Pleyt",
    "stk_product_code": "1-01-061",
    "stk_product_shelfcode": "1602-C-2-04",
    "stk_product_total": 290,
    "stk_product_reserved": 70,
    "stk_product_min": 10,
    "stk_product_unit": "adet",
    "stk_id": 1,
    "stk_cmp_code": "firma_kodu"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "success": true,
    "title": "Başarılı",
    "message": "Stok güncelleme işlemi başarılı",
    "data": {
        "stk_cmp_code": "firma_kodu",
        "stk_product_name": "259 Pleyt",
        "stk_product_code": "1-01-061",
        "stk_product_shelfcode": "1602-C-2-04",
        "stk_product_total": "290",
        "stk_product_reserved": "70",
        "stk_product_min": "10",
        "stk_product_unit": "adet"
    }
}
 

Example response (401):


{
    "success": false,
    "title": "Hata",
    "message": "Stok güncelleme yetkiniz yok !!!",
    "data": []
}
 

Example response (404):


{
    "success": false,
    "title": "Hata",
    "message": "Stok Bulunamadı !!!",
    "data": []
}
 

Request      

POST api/mobile/stock/update

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

stk_product_name   string   

Ürün adı. Example: 259 Pleyt

stk_product_code   string   

Ürün kodu. Example: 1-01-061

stk_product_shelfcode   string   

Raf kodu. Example: 1602-C-2-04

stk_product_total   integer   

Toplam stok miktarı. Example: 290

stk_product_reserved   integer   

Rezerve stok miktarı. Example: 70

stk_product_min   integer   

Minimum stok seviyesi. Example: 10

stk_product_unit   string   

Stok birimi. Example: adet

stk_id   integer   

Güncellenecek stok kaydının ID'si. Example: 1

stk_cmp_code   string   

Firma kodu. Example: firma_kodu

Stok İş Emri Kontrolü

requires authentication

Belirtilen stok ID’sine göre stoğa bağlı çalıştırılmamış iş emirlerini listeler. Kullanıcının "stok_is_emri_kontrol" yetkisine sahip olması gerekir.

Example request:
curl --request POST \
    "https://mrp.seyyaryazilimci.com/api/mobile/stock/job-order-control" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"stk_product_code\": \"1-02-014\",
    \"stk_product_shelfcode\": \"1602-C-2-04\"
}"
const url = new URL(
    "https://mrp.seyyaryazilimci.com/api/mobile/stock/job-order-control"
);

const headers = {
    "Authorization": "Bearer {access_token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "stk_product_code": "1-02-014",
    "stk_product_shelfcode": "1602-C-2-04"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "success": true,
    "title": "Başarılı",
    "message": "Seçilen stok için iş emirleri listelendi",
    "data": [
        {
            "jo_id": 1,
            "jo_code": "E1044216",
            "jo_desc": "asdas",
            "jo_product_code": "asdas",
            "jo_traceability": "asdas",
            "jo_customer_code": "asdsa",
            "jo_delivery_date": "2025-07-29",
            "jo_create_user": 26000,
            "jo_cmp_code": "test_firma",
            "jo_status": 1,
            "deleted_at": null,
            "jo_created_at": "2025-07-27T14:49:14.000000Z",
            "jo_updated_at": "2025-08-16T15:35:41.000000Z"
        },
        {
            "jo_id": 3,
            "jo_code": "E1044256",
            "jo_desc": "asdsadas",
            "jo_product_code": "1asdsa",
            "jo_traceability": "12321",
            "jo_customer_code": "asdas",
            "jo_delivery_date": "2025-08-29",
            "jo_create_user": 26000,
            "jo_cmp_code": "test_firma",
            "jo_status": 1,
            "deleted_at": null,
            "jo_created_at": "2025-07-30T06:03:21.000000Z",
            "jo_updated_at": "2025-08-17T12:53:21.000000Z"
        }
    ]
}
 

Example response (401):


{
    "success": false,
    "title": "Hata",
    "message": "Stok üzerinden iş emri kontrol etme yetkiniz yok !!!",
    "data": []
}
 

Example response (404):


{
    "success": false,
    "title": "Hata",
    "message": "Stok Bulunamadı !!!",
    "data": []
}
 

Example response (404):


{
    "success": false,
    "title": "Hata",
    "message": "Seçilen stok için iş emri bulunamadı !!!",
    "data": []
}
 

Example response (500):


{
    "success": false,
    "title": "Hata",
    "message": "Stoğa ait iş emirleri getirilirken bir hata oluştu",
    "data": []
}
 

Request      

POST api/mobile/stock/job-order-control

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

stk_product_code   string   

İş emri kontrol edilecek stok kodu. Example: 1-02-014

stk_product_shelfcode   string   

İş emri kontrol edilecek stok raf kodu. Example: 1602-C-2-04

Hurda Ekleme

requires authentication

Belirli bir ürünün hurdaya ayrılmasını sağlar. Kullanıcının "hurda_ekleme" yetkisine sahip olması gerekir.

Hurda işlemi sonrası ürünün stok miktarı güncellenir. İşlem sırasında ilgili iş emrinin varlığı ve hurdaya ayrılacak miktarın stoktan fazla olmaması kontrol edilir.

Example request:
curl --request POST \
    "https://mrp.seyyaryazilimci.com/api/mobile/scrap/store" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"stk_product_code\": \"1-01-061\",
    \"stk_product_shelfcode\": \"1602-C-2-04\",
    \"scr_quantity\": 10,
    \"scr_detail\": \"Çatlak çıktı\",
    \"scr_work_order\": \"JO-20250803\"
}"
const url = new URL(
    "https://mrp.seyyaryazilimci.com/api/mobile/scrap/store"
);

const headers = {
    "Authorization": "Bearer {access_token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "stk_product_code": "1-01-061",
    "stk_product_shelfcode": "1602-C-2-04",
    "scr_quantity": 10,
    "scr_detail": "Çatlak çıktı",
    "scr_work_order": "JO-20250803"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (201):


{
    "success": true,
    "title": "Başarılı",
    "message": "Hurda ekleme işlemi başarılı",
    "data": []
}
 

Example response (400):


{
    "success": false,
    "title": "Hata",
    "message": "Stok adedinden fazla hurdaya alamazsınız !!!",
    "data": []
}
 

Example response (401):


{
    "success": false,
    "title": "Hata",
    "message": "Hurda ekleme yetkiniz yok !!!",
    "data": []
}
 

Example response (404):


{
    "success": false,
    "title": "Hata",
    "message": "Stok Bulunamadı !!!",
    "data": []
}
 

Request      

POST api/mobile/scrap/store

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

stk_product_code   string   

Malzeme kodu. Example: 1-01-061

stk_product_shelfcode   string   

Raf kodu. Example: 1602-C-2-04

scr_quantity   number   

Hurdaya ayrılacak miktar. Negatif ya da stoktan büyük olamaz. Example: 10

scr_detail   string   

Hurda açıklaması. Example: Çatlak çıktı

scr_work_order   string   

Hurda işleminin ait olduğu iş emri. Example: JO-20250803

İş Emirleri

İş Emirlerini Listele

requires authentication

Bu endpoint, şirkete ait tüm iş emirlerini döner. Kullanıcının "is emri listeleme" yetkisine sahip olması gerekir.

Example request:
curl --request GET \
    --get "https://mrp.seyyaryazilimci.com/api/mobile/job-orders" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://mrp.seyyaryazilimci.com/api/mobile/job-orders"
);

const headers = {
    "Authorization": "Bearer {access_token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
  "success": true,
  "title": "Başarılı",
  "message": "İş Emirleri Getirildi",
  "data": [
    {
      "jo_id": 1,
      "jo_code": "ORD-001",
      "jo_desc": "Arka süspansiyon montajı",
      "jo_product_code": "PRD-23",
      "jo_traceability": "TRACE-123",
      "jo_customer_code": "CUST-10",
      "jo_delivery_date": "2025-08-01",
      "jo_create_user": 26000,
      "jo_cmp_code": "firma_kodu",
      "jo_status": 0,
      "jo_worked": 0, // 0 çalıştırılmamış 1 çalıştırılmış
      "deleted_at": null,
      "jo_created_at": "2025-07-30T06:03:21.000000Z",
      "jo_updated_at": "2025-07-30T06:03:21.000000Z"
    }
  ]
}
 

Example response (401):


{
    "success": false,
    "title": "Yetkisiz",
    "message": "İş emri listeleme yetkiniz yok !!!",
    "data": []
}
 

Example response (500):


{
    "success": false,
    "title": "Hata",
    "message": "İş Emirleri getirilirken bir hata oluştu",
    "data": []
}
 

Request      

GET api/mobile/job-orders

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

İş Emri Ekle

requires authentication

Bu endpoint, yeni bir iş emri oluşturmak için kullanılır. Kullanıcının "iş emri ekleme" yetkisine sahip olması gerekir.

Example request:
curl --request POST \
    "https://mrp.seyyaryazilimci.com/api/mobile/job-orders/store" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"jo_code\": \"123\",
    \"jo_desc\": \"asdasas\",
    \"jo_product_code\": \"asdsadsasadsa\",
    \"jo_traceability\": \"Z-21\",
    \"jo_customer_code\": \"cus-asdsa\",
    \"jo_delivery_date\": \"2025-08-30\"
}"
const url = new URL(
    "https://mrp.seyyaryazilimci.com/api/mobile/job-orders/store"
);

const headers = {
    "Authorization": "Bearer {access_token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "jo_code": "123",
    "jo_desc": "asdasas",
    "jo_product_code": "asdsadsasadsa",
    "jo_traceability": "Z-21",
    "jo_customer_code": "cus-asdsa",
    "jo_delivery_date": "2025-08-30"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (201):


{
    "success": true,
    "title": "Başarılı",
    "message": "İş Emri ekleme işlemi başarılı",
    "data": []
}
 

Example response (401):


{
    "success": false,
    "title": "Hata",
    "message": "İş emri ekleme yetkiniz yok !!!",
    "data": []
}
 

Example response (401):


{
    "success": false,
    "title": "Hata",
    "message": "İş emri kodu mevcut !!!",
    "data": []
}
 

Example response (500):


{
    "success": false,
    "title": "Hata",
    "message": "İş Emri ekleme işleminde hata oluştu. Lütfen yöneticinize bildiriniz !!!",
    "data": []
}
 

Request      

POST api/mobile/job-orders/store

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

jo_code   string   

İş emri kodu. Example: 123

jo_desc   string   

İş emri açıklaması. Example: asdasas

jo_product_code   string   

Ürün kodu. Example: asdsadsasadsa

jo_traceability   string   

İzlenebilirlik kodu. Example: Z-21

jo_customer_code   string   

Müşteri kodu. Example: cus-asdsa

jo_delivery_date   date   

Teslimat tarihi. Format: Y-m-d. Example: 2025-08-30

requires authentication

Bu uç nokta, kullanıcının girdiği jo_code (iş emri kodu) bilgisine göre, kendi şirket kodu (jo_cmp_code) ile eşleşen iş emrini arar ve listeler. Kullanıcının is_emri_arama yetkisine sahip olması gerekir.

Example request:
curl --request POST \
    "https://mrp.seyyaryazilimci.com/api/mobile/job-orders/search" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"jo_code\": \"E1044216\",
    \"jo_cmp_code\": \"firma_kodu\"
}"
const url = new URL(
    "https://mrp.seyyaryazilimci.com/api/mobile/job-orders/search"
);

const headers = {
    "Authorization": "Bearer {access_token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "jo_code": "E1044216",
    "jo_cmp_code": "firma_kodu"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "success": true,
    "title": "Başarılı",
    "message": "İş Emri Getirildi",
    "data": [
        {
            "jo_id": 1,
            "jo_code": "E1044216",
            "jo_desc": "...",
            "jo_product_code": "...",
            "jo_traceability": "...",
            "jo_customer_code": "...",
            "jo_delivery_date": "2025-07-29",
            "jo_create_user": 26000,
            "jo_cmp_code": "firma_kodu",
            "jo_status": 0,
            "jo_worked": 0, // 0 çalıştırılmamış 1 çalıştırılmış
            "deleted_at": null,
            "jo_created_at": "2025-07-27T14:49:14.000000Z",
            "jo_updated_at": "2025-07-27T14:49:14.000000Z"
        }
    ]
}
 

Example response (401):


{
    "success": false,
    "title": "Hata",
    "message": "İş Emri arama yetkiniz yok !!!",
    "data": []
}
 

Example response (500):


{
    "success": false,
    "title": "Hata",
    "message": "İş Emri getirilirken bir hata oluştu",
    "data": []
}
 

İş Emrini Çalıştır

requires authentication

Bu endpoint, verilen iş emri koduna ait kalemlerin stoklarını kontrol eder ve yeterli stok varsa stokları azaltır, iş emrinin durumunu 2 olarak günceller. Kullanıcının "iş emri çalıştırma" yetkisine sahip olması gerekir.

Example request:
curl --request POST \
    "https://mrp.seyyaryazilimci.com/api/mobile/job-orders/work" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"jo_code\": \"123\"
}"
const url = new URL(
    "https://mrp.seyyaryazilimci.com/api/mobile/job-orders/work"
);

const headers = {
    "Authorization": "Bearer {access_token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "jo_code": "123"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "success": true,
    "title": "Başarılı",
    "message": "İş Emri başarıyla işlendi",
    "data": []
}
 

Example response (400):


{
    "success": false,
    "title": "Hata",
    "message": "Stokta yeterli ürün yok: {ürün_kodu}",
    "data": []
}
 

Example response (401):


{
    "success": false,
    "title": "Hata",
    "message": "İş Emri çalıştırma yetkiniz yok !!!",
    "data": []
}
 

Example response (404):


{
    "success": false,
    "title": "Hata",
    "message": "İş Emri bulunamadı",
    "data": []
}
 

Example response (404):


{
    "success": false,
    "title": "Hata",
    "message": "İş Emri kalemi bulunamadı",
    "data": []
}
 

Example response (500):


{
    "success": false,
    "title": "Hata",
    "message": "İş Emri aranırken bir hata oluştu",
    "data": []
}
 

Request      

POST api/mobile/job-orders/work

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

jo_code   string   

İş emri kodu. Example: 123

İş Emrini Sil

requires authentication

Bu endpoint, verilen iş emri koduna ait iş emrini ve varsa ilgili iş emri kalemlerini siler. Kalemler varsa önce stok rezerveleri güncellenir, ardından kalemler ve iş emri silinir. Kullanıcının "iş emri silme" yetkisine sahip olması gerekir.

Example request:
curl --request POST \
    "https://mrp.seyyaryazilimci.com/api/mobile/job-orders/delete" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"jo_code\": \"123\"
}"
const url = new URL(
    "https://mrp.seyyaryazilimci.com/api/mobile/job-orders/delete"
);

const headers = {
    "Authorization": "Bearer {access_token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "jo_code": "123"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "success": true,
    "title": "Başarılı",
    "message": "İş Emri başarıyla silindi",
    "data": []
}
 

Example response (401):


{
    "success": false,
    "title": "Hata",
    "message": "İş Emri silme yetkiniz yok !!!",
    "data": []
}
 

Example response (404):


{
    "success": false,
    "title": "Hata",
    "message": "İş Emri bulunamadı",
    "data": []
}
 

Example response (500):


{
    "success": false,
    "title": "Hata",
    "message": "İş Emri silinirken hata oluştu: {hata_mesajı}",
    "data": []
}
 

Request      

POST api/mobile/job-orders/delete

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

jo_code   string   

İş emri kodu. Example: 123

İş Emri Bilgisi Getir (Düzenleme İçin)

requires authentication

Belirtilen iş emri koduna göre iş emri bilgilerini getirir. Bu endpoint, iş emri güncelleme işlemi öncesinde mevcut iş emri bilgilerini almak için kullanılır. Kullanıcının "iş emri güncelleme" yetkisine sahip olması gerekir.

Example request:
curl --request POST \
    "https://mrp.seyyaryazilimci.com/api/mobile/job-orders/edit" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"jo_code\": \"D1015690\",
    \"jo_cmp_code\": \"test_firma\"
}"
const url = new URL(
    "https://mrp.seyyaryazilimci.com/api/mobile/job-orders/edit"
);

const headers = {
    "Authorization": "Bearer {access_token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "jo_code": "D1015690",
    "jo_cmp_code": "test_firma"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
  "success": true,
  "title": "Başarılı",
  "message": "İş Emri bilgisi getirildi",
  "data": {
    "jo_id": 2,
    "jo_code": "D1015690",
    "jo_desc": "asdsa",
    "jo_product_code": "asdsa",
    "jo_traceability": "asdas",
    "jo_customer_code": "asdas",
    "jo_delivery_date": "2025-07-30",
    "jo_create_user": 26000,
    "jo_cmp_code": "test_firma",
    "jo_status": 0,
    "jo_worked" : 0 // 0 çalıştırılmamış 1 çalıştırılmış
    "deleted_at": null,
    "jo_created_at": "2025-07-27T14:49:59.000000Z",
    "jo_updated_at": "2025-08-17T11:41:44.000000Z"
  }
}
 

Example response (401):


{
    "success": false,
    "title": "Hata",
    "message": "İş Emri güncelleme yetkiniz yok !!!",
    "data": []
}
 

Example response (404):


{
    "success": false,
    "title": "Hata",
    "message": "İş Emri Bulunamadı !!!",
    "data": []
}
 

Request      

POST api/mobile/job-orders/edit

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

jo_code   string   

Güncellenecek iş emrinin kodu. Example: D1015690

jo_cmp_code   string   

Firma kodu. Example: test_firma

İş Emri Güncelle

requires authentication

Belirtilen iş emri koduna ait bilgileri günceller. Bu endpoint, iş emri düzenleme işlemleri için kullanılır. Kullanıcının "iş emri güncelleme" yetkisine sahip olması gerekir.

Example request:
curl --request POST \
    "https://mrp.seyyaryazilimci.com/api/mobile/job-orders/update" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"jo_code\": \"D1015690\",
    \"jo_desc\": \"Yeni üretim denemesi\",
    \"jo_product_code\": \"1-02-014\",
    \"jo_traceability\": \"Z-21\",
    \"jo_customer_code\": \"CUS-1001\",
    \"jo_delivery_date\": \"2025-08-30\"
}"
const url = new URL(
    "https://mrp.seyyaryazilimci.com/api/mobile/job-orders/update"
);

const headers = {
    "Authorization": "Bearer {access_token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "jo_code": "D1015690",
    "jo_desc": "Yeni üretim denemesi",
    "jo_product_code": "1-02-014",
    "jo_traceability": "Z-21",
    "jo_customer_code": "CUS-1001",
    "jo_delivery_date": "2025-08-30"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "success": true,
    "title": "Başarılı",
    "message": "İş Emri güncelleme işlemi başarılı",
    "data": {
        "jo_code": "D1015690",
        "jo_desc": "asdasas",
        "jo_product_code": "asdsadsasadsa",
        "jo_traceability": "Z-21",
        "jo_customer_code": "cus-asdsa",
        "jo_delivery_date": "2025-08-30"
    }
}
 

Example response (401):


{
    "success": false,
    "title": "Hata",
    "message": "İş Emri güncelleme yetkiniz yok !!!",
    "data": []
}
 

Example response (404):


{
    "success": false,
    "title": "Hata",
    "message": "İş Emri Bulunamadı !!!",
    "data": []
}
 

Example response (422):


{
    "success": false,
    "title": "Hata",
    "message": "Doğrulama hatası",
    "data": {
        "jo_code": [
            "İş Emri Kodu alanı zorunludur.",
            "İş Emri Kodu en fazla 500 karakter olabilir."
        ],
        "jo_desc": [
            "İş Emri Açıklaması alanı zorunludur.",
            "İş Emri Açıklaması en fazla 500 karakter olabilir."
        ],
        "jo_product_code": [
            "İş Emri Ürün Kodu alanı zorunludur.",
            "İş Emri Ürün Kodu en fazla 20 karakter olabilir."
        ],
        "jo_traceability": [
            "Ürün İzlenebilirlik alanı zorunludur.",
            "Ürün İzlenebilirlik en fazla 20 karakter olabilir."
        ],
        "jo_customer_code": [
            "İş Emri Müşteri Kodu alanı zorunludur.",
            "İş Emri Müşteri Kodu en fazla 500 karakter olabilir."
        ],
        "jo_delivery_date": [
            "İş Emri Teslimat Tarihi alanı zorunludur.",
            "İş Emri Teslimat Tarihi bugünden önce olamaz."
        ]
    }
}
 

Request      

POST api/mobile/job-orders/update

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

jo_code   string   

Güncellenecek iş emrinin kodu. Max: 500 karakter. Example: D1015690

jo_desc   string   

İş emri açıklaması. Max: 500 karakter. Example: Yeni üretim denemesi

jo_product_code   string   

İş emri ürün kodu. Max: 20 karakter. Example: 1-02-014

jo_traceability   string   

Ürün izlenebilirlik kodu. Max: 20 karakter. Example: Z-21

jo_customer_code   string   

İş emri müşteri kodu. Max: 500 karakter. Example: CUS-1001

jo_delivery_date   date   

İş emri teslimat tarihi (bugün veya sonrası). Example: 2025-08-30

İş Emri Kalem Ekleme

requires authentication

Belirtilen iş emrine birden fazla kalem (item) ekler. Bu endpoint, iş emri kalem ekleme işlemleri için kullanılır. Kullanıcının "iş emri kalem ekleme" yetkisine sahip olması gerekir.

Example request:
curl --request POST \
    "https://mrp.seyyaryazilimci.com/api/mobile/job-orders/add-job-order-items" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"items\": [
        \"architecto\"
    ]
}"
const url = new URL(
    "https://mrp.seyyaryazilimci.com/api/mobile/job-orders/add-job-order-items"
);

const headers = {
    "Authorization": "Bearer {access_token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "items": [
        "architecto"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (201):


{
  "success": true,
  "title": "Başarılı",
  "message": "İş emri kalemleri başarıyla eklendi.",
  "data": [
    {
      "job_order_code": "E1044216",
      "joi_product_name": "228 Pleyt",
      "joi_product_code": "1-01-061",
      "joi_shelf_code": "1602-C-2-04",
      "joi_quantity": 20,
      "joi_unit": "adet",
      "joi_create_user": "U12345",
      "joi_cmp_code": "CMP001"
    },
    ...
  ]
}
 

Example response (400):


{
    "success": false,
    "title": "Hata",
    "message": "Stok bulunamadı veya yetersiz.",
    "data": []
}
 

Example response (403):


{
    "success": false,
    "title": "Hata",
    "message": "İş emri kalem ekleme yetkiniz yok !!!",
    "data": []
}
 

Example response (404):


{
    "success": false,
    "title": "Hata",
    "message": "İş emri bulunamadı!",
    "data": []
}
 

Example response (422):


{
    "success": false,
    "title": "Hata",
    "message": "Validation hatası",
    "data": {
        "items.0.joi_product_name": [
            "Ürün adı alanı zorunludur.",
            "Ürün adı en fazla 255 karakter olabilir."
        ],
        "items.1.joi_quantity": [
            "Miktar en az 1 olmalıdır."
        ]
    }
}
 

Request      

POST api/mobile/job-orders/add-job-order-items

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

items   string[]   

Eklenecek kalemlerin listesi

job_order_code   string   

Must not be greater than 255 characters. Example: b

joi_product_name   string   

Must not be greater than 255 characters. Example: n

joi_product_code   string   

Must not be greater than 255 characters. Example: g

joi_shelf_code   string   

Must not be greater than 255 characters. Example: z

joi_quantity   integer   

Must be at least 1. Example: 27

joi_unit   string   

Must not be greater than 255 characters. Example: i

*   object  optional  
job_order_code   string   

İş emri kodu. Max: 255 karakter. Example: E1044216

joi_product_name   string   

Ürün adı. Max: 255 karakter. Example: 228 Pleyt

joi_product_code   string   

Ürün kodu. Max: 255 karakter. Example: 1-01-061

joi_shelf_code   string   

Raf kodu. Max: 255 karakter. Example: 1602-C-2-04

joi_quantity   integer   

Kalem miktarı. Minimum: 1. Example: 20

joi_unit   string   

Ölçü birimi. Max: 255 karakter. Example: adet

İş Emri Kalemlerini Getir

requires authentication

Belirtilen iş emrine ait tüm kalemleri listeler. Kullanıcının "iş emri kalem listeleme" yetkisine sahip olması gerekir.

Example request:
curl --request POST \
    "https://mrp.seyyaryazilimci.com/api/mobile/job-orders/get-job-order-items" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"job_order_code\": \"E1044216\"
}"
const url = new URL(
    "https://mrp.seyyaryazilimci.com/api/mobile/job-orders/get-job-order-items"
);

const headers = {
    "Authorization": "Bearer {access_token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "job_order_code": "E1044216"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
  "success": true,
  "title": "Başarılı",
  "message": "İş emri kalemleri getirildi",
  "data": [
    {
      "joi_id": 1,
      "job_order_code": "E1044216",
      "joi_product_name": "228 Pleyt",
      "joi_product_code": "1-01-061",
      "joi_shelf_code": "1602-C-2-04",
      "joi_quantity": 20,
      "joi_unit": "adet",
      "joi_create_user": "U12345",
      "joi_cmp_code": "CMP001"
    },
    ...
  ]
}
 

Example response (403):


{
    "success": false,
    "title": "Hata",
    "message": "İş emri kalem listeleme yetkiniz yok !!!",
    "data": []
}
 

Example response (422):


{
    "success": false,
    "title": "Hata",
    "message": "Validation hatası",
    "data": {
        "job_order_code": [
            "İş emri kodu alanı zorunludur.",
            "İş emri kodu en fazla 255 karakter olabilir."
        ]
    }
}
 

Example response (500):


{
    "success": false,
    "title": "Hata",
    "message": "Beklenmeyen bir hata oluştu",
    "data": []
}
 

Request      

POST api/mobile/job-orders/get-job-order-items

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

job_order_code   string   

İş emri kodu. Max: 255 karakter. Example: E1044216