Skip to main content
#P1752

POST /v2/core/application_interface

Store Application Interface (Create New)

این اندپوینت برای ایجاد یک رابط نرم‌افزاری جدید در سیستم استفاده می‌شود. نکته حائز اهمیت در این متد، نحوه ارسال پارامترهای دسته‌بندی است؛ فیلدهایی مانند نوع و سرویس باید به صورت آبجکت ارسال شوند تا سیستم بتواند عنوان (Title) آن‌ها را استخراج و ذخیره کند.

Request Overview

URL: /v2/core/application_interface
Method: POST
Controller: CoreController@storeApplicationInterface
Middleware: authWithJwt

Access Control

  • نیاز به توکن احراز هویت (JWT) دارد.

Body Parameters

پارامترهای زیر باید در بدنه درخواست (Body) به صورت JSON ارسال شوند:

Field Type Description
branch integer شناسه شعبه مربوطه.
type object (ساختار خاص) باید شامل کلید title باشد.
مثال: {"title": "api"}
service object (ساختار خاص) باید شامل کلید title باشد.
مثال: {"title": "nira"}
object_type object (ساختار خاص) نوع موجودیت هدف. باید شامل کلید title باشد.
مثال: {"title": "colleague"}
object object | null موجودیت هدف. باید شامل کلید id باشد. اگر ارسال نشود، null ذخیره می‌شود.
مثال: {"id": 50}
url string آدرس URL رابط (در صورت وجود).
username string نام کاربری اتصال.
password string کلمه عبور اتصال.
data string/text سایر داده‌های پیکربندی (معمولاً JSON String یا کلید API).
priority integer اولویت رابط.
status integer وضعیت فعال (1) یا غیرفعال (0).

Logic Details

فرآیند ذخیره‌سازی به شرح زیر است:

  1. استخراج داده‌ها: مقادیر از آبجکت‌های ورودی استخراج می‌شوند:
    • type['title'] → ذخیره در ستون type
    • service['title'] → ذخیره در ستون service
    • object_type['title'] → ذخیره در ستون object_type
    • object['id'] → ذخیره در ستون object (اگر موجود نباشد Null).
  2. درج در دیتابیس: رکورد جدید با دستور insertGetId ایجاد شده و شناسه (ID) تولید شده دریافت می‌شود.
  3. بازیابی: بلافاصله پس از درج، رکورد کامل با استفاده از ID جدید از دیتابیس خوانده می‌شود (find($id)).
  4. خروجی: رکورد ذخیره شده به عنوان پاسخ بازگردانده می‌شود.

Response Structure

نمونه Body ارسالی (Request)

{
    "branch": 1,
    "type": { "id": "api", "title": "api" },
    "service": { "id": "nira", "title": "nira" },
    "object_type": { "id": "colleague", "title": "colleague" },
    "object": { "id": 50, "name": "Ali..." },
    "url": "https://api.example.com",
    "username": "user1",
    "password": "pass123",
    "data": "API_KEY_STRING",
    "priority": 0,
    "status": 1
}

نمونه پاسخ موفق (200 OK)

{
    "payload": {
        "id": 106,
        "branch": 1,
        "type": "api",
        "service": "nira",
        "object_type": "colleague",
        "object": 50,
        "url": "https://api.example.com",
        "username": "user1",
        "password": "pass123",
        "data": "API_KEY_STRING",
        "priority": 0,
        "status": 1,
        "created_at": null,
        "updated_at": null
    },
    "meta": {
        "timestamp": 1733752000
    }
}

Flowchart

Start Request (POST Data)
Extract Properties:
type -> title
service -> title
object -> id
DB::insertGetId(...)
DB::find($new_id)
Return New Record