MENU navbar-image

Introduction

This documentation aims to provide all the information you need to work with our API.

Authenticating requests

This API is not authenticated.

Authentication

User Login

Authenticates a user with login credentials and returns a bearer token. The token should be included in the Authorization header for subsequent API requests.

Example request:
curl --request POST \
    "https://isbe-master.devel.ogsoftdev.com/api/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"login\": \"molestias\",
    \"password\": \"qWMYx!^p5=\"
}"
const url = new URL(
    "https://isbe-master.devel.ogsoftdev.com/api/login"
);

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

let body = {
    "login": "molestias",
    "password": "qWMYx!^p5="
};

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

Example response (200, Successful authentication):


{
    "data": {
        "ID": null,
        "LOGIN": null
    }
}
 

Request      

POST api/login

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

login   The login name     

string Example: molestias

password   The password     

string Example: qWMYx!^p5=

Esbe

Orders

This endpoint create an empty order. The next step is to add products to the order.

Example request:
curl --request POST \
    "https://isbe-master.devel.ogsoftdev.com/api/esbe/orders?user_id=6&transport_service_id=20&billing_plan_id=13&transport_premise_id=6&order_date=et&note=dignissimos&delivery_date=nesciunt" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"user_id\": 17,
    \"transport_service_id\": 11,
    \"billing_plan_id\": 20,
    \"transport_premise_id\": 11,
    \"order_date\": \"2026-02-04T08:37:40\",
    \"note\": \"omnis\",
    \"delivery_date\": \"2026-02-04T08:37:40\"
}"
const url = new URL(
    "https://isbe-master.devel.ogsoftdev.com/api/esbe/orders"
);

const params = {
    "user_id": "6",
    "transport_service_id": "20",
    "billing_plan_id": "13",
    "transport_premise_id": "6",
    "order_date": "et",
    "note": "dignissimos",
    "delivery_date": "nesciunt",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

let body = {
    "user_id": 17,
    "transport_service_id": 11,
    "billing_plan_id": 20,
    "transport_premise_id": 11,
    "order_date": "2026-02-04T08:37:40",
    "note": "omnis",
    "delivery_date": "2026-02-04T08:37:40"
};

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

Example response (200):


{
    "order_id": "int Example: 12345"
}
 

Request      

POST api/esbe/orders

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Query Parameters

user_id   integer     

ID of the user placing the order Example: 6

transport_service_id   integer  optional    

ID of the transport service Example: 20

billing_plan_id   integer  optional    

ID of the billing plan Example: 13

transport_premise_id   integer  optional    

ID of the transport premise Example: 6

order_date   date  optional    

Date of the order Example: et

note   string  optional    

Optional note for the order Example: dignissimos

delivery_date   date  optional    

Date of the delivery Example: nesciunt

Body Parameters

user_id   integer  optional    

Example: 17

transport_service_id   integer  optional    

Example: 11

billing_plan_id   integer  optional    

Example: 20

transport_premise_id   integer  optional    

Example: 11

order_date   string  optional    

Must be a valid date. Example: 2026-02-04T08:37:40

note   string  optional    

Example: omnis

delivery_date   string  optional    

Must be a valid date. Example: 2026-02-04T08:37:40

Add Single Item

This endpoint adds a single item to an existing order.

Example request:
curl --request POST \
    "https://isbe-master.devel.ogsoftdev.com/api/esbe/orders/voluptatibus/item" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"user_id\": 41994,
    \"product_id\": 101,
    \"quantity\": 2,
    \"price\": 150.5,
    \"price_wo_vat\": 124.38,
    \"parent_product_id\": 9876
}"
const url = new URL(
    "https://isbe-master.devel.ogsoftdev.com/api/esbe/orders/voluptatibus/item"
);

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

let body = {
    "user_id": 41994,
    "product_id": 101,
    "quantity": 2,
    "price": 150.5,
    "price_wo_vat": 124.38,
    "parent_product_id": 9876
};

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

Example response (200):


{
    "order_item_id": "int Example: 67890",
    "personalized_product_id": "int Example: 54321"
}
 

Request      

POST api/esbe/orders/{order}/item

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

order   string     

The order. Example: voluptatibus

Body Parameters

user_id   integer     

ID of the user who owns the order. Example: 41994

product_id   integer     

The ID of the product (SN_ID). Example: 101

quantity   integer     

The quantity of the product. Example: 2

price   numeric     

The total price for the given quantity of this item. Example: 150.5

price_wo_vat   numeric     

The total price without VAT. Example: 124.38

parent_product_id   integer  optional    

The ID of the parent personalized product, if this is a secondary item. Example: 9876

Update Single Item

This endpoint update a single item in an existing order.

Example request:
curl --request PUT \
    "https://isbe-master.devel.ogsoftdev.com/api/esbe/orders/eos/item" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"user_id\": 41994,
    \"product_id\": 101,
    \"quantity\": 2,
    \"price\": 150.5,
    \"price_wo_vat\": 124.38
}"
const url = new URL(
    "https://isbe-master.devel.ogsoftdev.com/api/esbe/orders/eos/item"
);

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

let body = {
    "user_id": 41994,
    "product_id": 101,
    "quantity": 2,
    "price": 150.5,
    "price_wo_vat": 124.38
};

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

Example response (200):


{
    "personalized_product_id": "int Example: 54321"
}
 

Request      

PUT api/esbe/orders/{order}/item

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

order   string     

The order. Example: eos

Body Parameters

user_id   integer     

ID of the user who owns the order. Example: 41994

product_id   integer     

The ID of the product (SN_ID). Example: 101

quantity   integer     

The quantity of the product. Example: 2

price   numeric     

The total price for the given quantity of this item. Example: 150.5

price_wo_vat   numeric     

The total price without VAT. Example: 124.38

Finalize Order

This endpoint finalizes or "realizes" an order that has all its items. This is the final step to make an order active.

Example request:
curl --request POST \
    "https://isbe-master.devel.ogsoftdev.com/api/esbe/orders/soluta/realize" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"delivery_date\": \"2025-09-10 00:00:00\",
    \"note\": \"ipsam\",
    \"recipient_person\": \"deserunt\",
    \"recipient_phone\": \"ut\",
    \"reference_number\": \"aut\",
    \"recipient_city\": \"itaque\",
    \"recipient_zip\": \"id\",
    \"recipient_street\": \"et\",
    \"recipient_house_id\": \"omnis\",
    \"transport_premise_id\": 12,
    \"transport_service_id\": 15,
    \"billing_plan_id\": 13
}"
const url = new URL(
    "https://isbe-master.devel.ogsoftdev.com/api/esbe/orders/soluta/realize"
);

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

let body = {
    "delivery_date": "2025-09-10 00:00:00",
    "note": "ipsam",
    "recipient_person": "deserunt",
    "recipient_phone": "ut",
    "reference_number": "aut",
    "recipient_city": "itaque",
    "recipient_zip": "id",
    "recipient_street": "et",
    "recipient_house_id": "omnis",
    "transport_premise_id": 12,
    "transport_service_id": 15,
    "billing_plan_id": 13
};

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

Example response (200):


{
    "message": "Order finalized successfully."
}
 

Request      

POST api/esbe/orders/{order}/realize

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

order   string     

The order. Example: soluta

Body Parameters

delivery_date   string     

The planned delivery date for the order. Example: 2025-09-10 00:00:00

note   string  optional    

An optional note for the realization. Example: ipsam

recipient_person   string  optional    

The name of the recipient. Example: deserunt

recipient_phone   string  optional    

The phone number of the recipient. Example: ut

reference_number   string  optional    

The reference number of the order. Example: aut

recipient_city   string  optional    

The city of the recipient. Example: itaque

recipient_zip   string  optional    

The zip code of the recipient. Example: id

recipient_street   string  optional    

The street of the recipient. Example: et

recipient_house_id   string  optional    

The house ID of the recipient. Example: omnis

transport_premise_id   integer  optional    

The ID of the transport premise. Example: 12

transport_service_id   integer  optional    

The ID of the transport service. Example: 15

billing_plan_id   integer  optional    

The ID of the billing plan. Example: 13

Generate Order Number

This endpoint generates a unique order number for an existing order. If the order already has a number, it returns the existing one.

Example request:
curl --request POST \
    "https://isbe-master.devel.ogsoftdev.com/api/esbe/orders/nobis/generate-number" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://isbe-master.devel.ogsoftdev.com/api/esbe/orders/nobis/generate-number"
);

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

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

Example response (200):


{
    "success": "boolean Example: true",
    "order_number": "int Example: 202409240001",
    "updated": "boolean Example: true"
}
 

Request      

POST api/esbe/orders/{order}/generate-number

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

order   string     

The order. Example: nobis

Update Order User

This endpoint updates the user assigned to an order and all its items. It also updates associated personalized products and service data.

Example request:
curl --request PATCH \
    "https://isbe-master.devel.ogsoftdev.com/api/esbe/orders/quaerat/user" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"user_id\": 12345
}"
const url = new URL(
    "https://isbe-master.devel.ogsoftdev.com/api/esbe/orders/quaerat/user"
);

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

let body = {
    "user_id": 12345
};

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

Example response (200):


{
    "success": "boolean Example: true",
    "user_id": "int Example: 12345"
}
 

Request      

PATCH api/esbe/orders/{order}/user

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

order   string     

The order. Example: quaerat

Body Parameters

user_id   integer     

The ID of the user to assign to the order. Example: 12345

Delete Order

This endpoint deletes an order. This should be used for cleanup if the ordering process fails.

Example request:
curl --request DELETE \
    "https://isbe-master.devel.ogsoftdev.com/api/esbe/orders/et" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://isbe-master.devel.ogsoftdev.com/api/esbe/orders/et"
);

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

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

Example response (204):

Empty response
 

Request      

DELETE api/esbe/orders/{order}

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

order   string     

The order. Example: et

Remove Single Item

This endpoint removes a single item from an existing order.

Example request:
curl --request DELETE \
    "https://isbe-master.devel.ogsoftdev.com/api/esbe/orders/atque/item" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"product_id\": 12345
}"
const url = new URL(
    "https://isbe-master.devel.ogsoftdev.com/api/esbe/orders/atque/item"
);

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

let body = {
    "product_id": 12345
};

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

Example response (200):


{
    "success": "boolean Example: true"
}
 

Request      

DELETE api/esbe/orders/{order}/item

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

URL Parameters

order   string     

The order. Example: atque

Body Parameters

product_id   integer     

The ID of the product/item to remove from the order. Example: 12345

Send Email Using Template

This endpoint sends an email using a predefined template. It processes the template with provided parameters and sends the email to the specified recipient.

Example request:
curl --request POST \
    "https://isbe-master.devel.ogsoftdev.com/api/esbe/send-email-using-template" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"from\": \"[email protected]\",
    \"to\": \"[email protected]\",
    \"ctype\": \"ipsa\",
    \"sched\": \"aut\",
    \"ct\": \"sit\",
    \"tt_name\": \"order_confirmation\",
    \"params\": \"recusandae\",
    \"parsep\": \"et\",
    \"valsep\": \"omnis\"
}"
const url = new URL(
    "https://isbe-master.devel.ogsoftdev.com/api/esbe/send-email-using-template"
);

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

let body = {
    "from": "[email protected]",
    "to": "[email protected]",
    "ctype": "ipsa",
    "sched": "aut",
    "ct": "sit",
    "tt_name": "order_confirmation",
    "params": "recusandae",
    "parsep": "et",
    "valsep": "omnis"
};

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

Example response (200):


{
    "result": "string Example: success",
    "eo_ids": "string Example: 123,456"
}
 

Request      

POST api/esbe/send-email-using-template

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Body Parameters

from   string  optional    

Email sender address Example: [email protected]

to   string     

Email recipient address Example: [email protected]

ctype   string  optional    

Content type Example: ipsa

sched   string  optional    

Schedule parameter Example: aut

ct   string  optional    

CT parameter Example: sit

tt_name   string     

Template name Example: order_confirmation

params   string  optional    

Template parameters Example: recusandae

parsep   string  optional    

Parameter separator Example: et

valsep   string  optional    

Value separator Example: omnis

SCloud

Maintenance List

This endpoint allows a user to get a list of maintenance list. The list is filtered by the user's access rights and the type of maintenance list. The response includes warnings, unread messages, and last activity time for each maintenance list.

Example request:
curl --request GET \
    --get "https://isbe-master.devel.ogsoftdev.com/api/s-cloud/tickets?myScloudUserId=123&zombieDays=30&iAmReferee=1&iAmSupervisor=&0=10&1=1&2=448%2C463%2C479&3=type1%2Ctype2&4=1%2C2%2C3&5=2023-01-01&6=name%3Aasc%2Ccreated_at%3Adesc" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"myScloudUserId\": 14,
    \"zombieDays\": 40,
    \"iAmReferee\": true,
    \"iAmSupervisor\": false
}"
const url = new URL(
    "https://isbe-master.devel.ogsoftdev.com/api/s-cloud/tickets"
);

const params = {
    "myScloudUserId": "123",
    "zombieDays": "30",
    "iAmReferee": "1",
    "iAmSupervisor": "0",
    "0": "10",
    "1": "1",
    "2": "448,463,479",
    "3": "type1,type2",
    "4": "1,2,3",
    "5": "2023-01-01",
    "6": "name:asc,created_at:desc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

let body = {
    "myScloudUserId": 14,
    "zombieDays": 40,
    "iAmReferee": true,
    "iAmSupervisor": false
};

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

Example response (200):


{
    "data": [
        {
            "typeId": null,
            "description": null,
            "name": null,
            "id": null,
            "startTime": null,
            "userId": null,
            "lastActivity": null,
            "allMessages": 0,
            "warning": null,
            "unreadMessages": null
        },
        {
            "typeId": null,
            "description": null,
            "name": null,
            "id": null,
            "startTime": null,
            "userId": null,
            "lastActivity": null,
            "allMessages": 0,
            "warning": null,
            "unreadMessages": null
        }
    ]
}
 

Request      

GET api/s-cloud/tickets

Headers

Content-Type        

Example: application/json

Accept        

Example: application/json

Query Parameters

myScloudUserId   integer     

ID of the SCloud user Example: 123

zombieDays   integer     

Number of days to consider a maintenance as zombie Example: 30

iAmReferee   boolean     

Indicates if the user is a referee Example: true

iAmSupervisor   boolean     

Indicates if the user is a supervisor Example: false

per_page   integer  optional    

Number of users to return per page (optional) Example: 10

page   integer  optional    

Page number to return (optional) Example: 1

typeId   string  optional    

Filter by type ID of the maintenance list Example: 448,463,479

types   string  optional    

Filter by types of the maintenance list Example: type1,type2

machineIds   string  optional    

Filter by machine IDs of the maintenance list Example: 1,2,3

lastActivityFrom   string  optional    

Filter by last activity date from (optional) Example: 2023-01-01

order   string  optional    

Order by column and direction Example: name:asc,created_at:desc

Body Parameters

myScloudUserId   integer     

Example: 14

zombieDays   integer     

Must be at least 0. Example: 40

iAmReferee   boolean     

Example: true

iAmSupervisor   boolean     

Example: false