Објекат
DANGER
Подешавање објеката путем API-ја може изазвати озбиљне проблеме на вашој инстанци. Поступајте изузетно опрезно и проверите да не модификујете ниједно од Zammad-ових подразумеваних поља.
Ако желите да сакријете поља, уместо тога искористите основне токове рада у Zammad-у!
Преглед листе
Потребна дозвола: admin.object
GET-захтев послат: /api/v1/object_manager_attributes
Details
// HTTP-Code 200 OK
[
{
"id": 2,
"name": "customer_id",
"display": "Customer",
"data_type": "user_autocompletion",
"data_option": {
"relation": "User",
"autocapitalize": false,
"multiple": false,
"guess": true,
"null": false,
"limit": 200,
"placeholder": "Enter Person or Organization/Company",
"minLengt": 2,
"translate": false,
"permission": [
"ticket.agent"
]
},
"data_option_new": {},
"editable": false,
"active": true,
"screens": {
"create_top": {
"-all-": {
"null": false
}
},
"edit": {}
},
"to_create": false,
"to_migrate": false,
"to_delete": false,
"to_config": false,
"position": 10,
"created_by_id": 1,
"updated_by_id": 1,
"created_at": "2021-11-09T13:12:32.677Z",
"updated_at": "2021-11-09T13:12:32.677Z",
"object": "Ticket",
"deletable": false,
"not_deletable_reason": "This attribute is referenced by Overview: My Tickets and thus cannot be deleted!"
},
{
"id": 1,
"name": "title",
"display": "Title",
"data_type": "input",
"data_option": {
"type": "text",
"maxlength": 200,
"null": false,
"translate": false
},
"data_option_new": {},
"editable": false,
"active": true,
"screens": {
"create_top": {
"-all-": {
"null": false
}
},
"edit": {}
},
"to_create": false,
"to_migrate": false,
"to_delete": false,
"to_config": false,
"position": 15,
"created_by_id": 1,
"updated_by_id": 1,
"created_at": "2021-11-09T13:12:32.671Z",
"updated_at": "2021-11-09T13:12:32.671Z",
"object": "Ticket",
"deletable": false
},
{
"id": 3,
"name": "type",
"display": "Type",
"data_type": "select",
"data_option": {
"default": "",
"options": {
"Incident": "Incident",
"Problem": "Problem",
"Request for Change": "Request for Change"
},
"nulloption": true,
"multiple": false,
"null": true,
"translate": true,
"maxlength": 255
},
"data_option_new": {},
"editable": true,
"active": false,
"screens": {
"create_middle": {
"-all-": {
"null": false,
"item_class": "column"
}
},
"edit": {
"ticket.agent": {
"null": false
}
}
},
"to_create": false,
"to_migrate": false,
"to_delete": false,
"to_config": false,
"position": 20,
"created_by_id": 1,
"updated_by_id": 1,
"created_at": "2021-11-09T13:12:32.686Z",
"updated_at": "2021-11-09T13:12:32.686Z",
"object": "Ticket",
"deletable": true
},
{
"id": 4,
"name": "group_id",
"display": "Group",
"data_type": "select",
"data_option": {
"default": "",
"relation": "Group",
"relation_condition": {
"access": "full"
},
"nulloption": true,
"multiple": false,
"null": false,
"translate": false,
"only_shown_if_selectable": true,
"permission": [
"ticket.agent",
"ticket.customer"
],
"maxlength": 255
},
"data_option_new": {},
"editable": false,
"active": true,
"screens": {
"create_middle": {
"-all-": {
"null": false,
"item_class": "column"
}
},
"edit": {
"ticket.agent": {
"null": false
}
}
},
"to_create": false,
"to_migrate": false,
"to_delete": false,
"to_config": false,
"position": 25,
"created_by_id": 1,
"updated_by_id": 1,
"created_at": "2021-11-09T13:12:32.690Z",
"updated_at": "2021-11-09T13:12:32.690Z",
"object": "Ticket",
"deletable": false
},
{
"id": 5,
"name": "owner_id",
"display": "Owner",
"data_type": "select",
"data_option": {
"default": "",
"relation": "User",
"relation_condition": {
"roles": "Agent"
},
"nulloption": true,
"multiple": false,
"null": true,
"translate": false,
"permission": [
"ticket.agent"
],
"maxlength": 255
},
"data_option_new": {},
"editable": false,
"active": true,
"screens": {
"create_middle": {
"-all-": {
"null": true,
"item_class": "column"
}
},
"edit": {
"-all-": {
"null": true
}
}
},
"to_create": false,
"to_migrate": false,
"to_delete": false,
"to_config": false,
"position": 30,
"created_by_id": 1,
"updated_by_id": 1,
"created_at": "2021-11-09T13:12:32.694Z",
"updated_at": "2021-11-09T13:12:32.694Z",
"object": "Ticket",
"deletable": false,
"not_deletable_reason": "This attribute is referenced by Trigger: customer notification (on owner change); Overview: My assigned Tickets,My pending reached Tickets,Unassigned & Open and thus cannot be deleted!"
},
{
"id": 6,
"name": "state_id",
"display": "State",
"data_type": "select",
"data_option": {
"relation": "TicketState",
"nulloption": true,
"multiple": false,
"null": false,
"default": 2,
"translate": true,
"filter": [
2,
1,
3,
4,
6,
7
],
"maxlength": 255
},
"data_option_new": {},
"editable": false,
"active": true,
"screens": {
"create_middle": {
"ticket.agent": {
"null": false,
"item_class": "column",
"filter": [
2,
1,
3,
4,
7
]
},
"ticket.customer": {
"item_class": "column",
"nulloption": false,
"null": true,
"filter": [
1,
4
],
"default": 1
}
},
"edit": {
"ticket.agent": {
"nulloption": false,
"null": false,
"filter": [
2,
3,
4,
7
]
},
"ticket.customer": {
"nulloption": false,
"null": true,
"filter": [
2,
4
],
"default": 2
}
}
},
"to_create": false,
"to_migrate": false,
"to_delete": false,
"to_config": false,
"position": 40,
"created_by_id": 1,
"updated_by_id": 1,
"created_at": "2021-11-09T13:12:32.706Z",
"updated_at": "2021-11-09T13:12:32.706Z",
"object": "Ticket",
"deletable": false,
"not_deletable_reason": "This attribute is referenced by Trigger: auto reply (on new tickets); Overview: My Organization Tickets,My Tickets,My assigned Tickets,My pending reached Tickets,My replacement Tickets,Open,Open Banana Items,Pending reached,Unassigned & Open,VIP Customers and thus cannot be deleted!"
},
{
"id": 7,
"name": "pending_time",
"display": "Pending till",
"data_type": "datetime",
"data_option": {
"future": true,
"past": false,
"diff": 24,
"null": true,
"translate": true,
"permission": [
"ticket.agent"
]
},
"data_option_new": {},
"editable": false,
"active": true,
"screens": {
"create_middle": {
"-all-": {
"null": false,
"item_class": "column"
}
},
"edit": {
"-all-": {
"null": false
}
}
},
"to_create": false,
"to_migrate": false,
"to_delete": false,
"to_config": false,
"position": 41,
"created_by_id": 1,
"updated_by_id": 1,
"created_at": "2021-11-09T13:12:32.713Z",
"updated_at": "2021-11-09T13:12:32.713Z",
"object": "Ticket",
"deletable": false,
"not_deletable_reason": "This attribute is referenced by Overview: My pending reached Tickets,Pending reached and thus cannot be deleted!"
},
{
"id": 8,
"name": "priority_id",
"display": "Priority",
"data_type": "select",
"data_option": {
"relation": "TicketPriority",
"nulloption": false,
"multiple": false,
"null": false,
"default": 2,
"translate": true,
"maxlength": 255
},
"data_option_new": {},
"editable": false,
"active": true,
"screens": {
"create_middle": {
"ticket.agent": {
"null": false,
"item_class": "column"
}
},
"edit": {
"ticket.agent": {
"null": false
}
}
},
"to_create": false,
"to_migrate": false,
"to_delete": false,
"to_config": false,
"position": 80,
"created_by_id": 1,
"updated_by_id": 1,
"created_at": "2021-11-09T13:12:32.718Z",
"updated_at": "2021-11-09T13:12:32.718Z",
"object": "Ticket",
"deletable": false
}
]Прикажи
Потребна дозвола: admin.object
GET-захтев послат: /api/v1/object_manager_attributes/{id}
Details
// HTTP-Code 200 OK
{
"id": 18,
"object_lookup_id": 1,
"name": "email",
"display": "Email",
"data_type": "input",
"data_option": {
"type": "email",
"maxlength": 150,
"null": true,
"item_class": "formGroup--halfSize"
},
"data_option_new": {},
"editable": false,
"active": true,
"screens": {
"signup": {
"-all-": {
"null": false
}
},
"invite_agent": {
"-all-": {
"null": false
}
},
"invite_customer": {
"-all-": {
"null": false
}
},
"edit": {
"-all-": {
"null": true
}
},
"create": {
"-all-": {
"null": true
}
},
"view": {
"-all-": {
"shown": true
}
}
},
"to_create": false,
"to_migrate": false,
"to_delete": false,
"to_config": false,
"position": 400,
"created_by_id": 1,
"updated_by_id": 1,
"created_at": "2021-11-09T13:12:32.784Z",
"updated_at": "2021-11-09T13:12:32.784Z"
}Креирај
Потребна дозвола: admin.object
POST-захтев послат: /api/v1/object_manager_attributes
Логички тип
Details
{
"name": "sample_boolean",
"object": "Ticket",
"display": "Sample Boolean",
"active": true,
"position": 1550,
"data_type": "boolean",
"data_option": {
"options": {
"true": "very correct indeed",
"false": "very incorrect indeed"
}
},
"screens": {
"create_middle": {
"ticket.customer": {
"shown": true,
"required": false,
"item_class": "column"
},
"ticket.agent": {
"shown": true,
"required": false,
"item_class": "column"
}
},
"edit": {
"ticket.customer": {
"shown": true,
"required": false
},
"ticket.agent": {
"shown": true,
"required": true
}
}
}
}Датум
Details
{
"name": "sample_date",
"object": "Ticket",
"display": "Sample Date",
"active": true,
"position": 1550,
"data_type": "date",
"data_option": {
"diff": 120
},
"screens": {
"create_middle": {
"ticket.customer": {
"shown": true,
"required": false,
"item_class": "column"
},
"ticket.agent": {
"shown": true,
"required": false,
"item_class": "column"
}
},
"edit": {
"ticket.customer": {
"shown": true,
"required": false
},
"ticket.agent": {
"shown": true,
"required": true
}
}
}
}Датум и време
Details
{
"name": "sample_datetime",
"object": "Ticket",
"display": "Sample DateTime",
"active": true,
"position": 1550,
"data_type": "datetime",
"data_option": {
"future": true,
"past": false,
"diff": 120
},
"screens": {
"create_middle": {
"ticket.customer": {
"shown": true,
"required": false,
"item_class": "column"
},
"ticket.agent": {
"shown": true,
"required": false,
"item_class": "column"
}
},
"edit": {
"ticket.customer": {
"shown": true,
"required": false
},
"ticket.agent": {
"shown": true,
"required": true
}
}
}
}Целобројно поље
Details
{
"name": "sample_integer",
"object": "Ticket",
"display": "Sample Integer",
"active": true,
"position": 1550,
"data_type": "integer",
"data_option": {
"default": 1234,
"min": 4,
"max": 8
},
"screens": {
"create_middle": {
"ticket.customer": {
"shown": true,
"required": false,
"item_class": "column"
},
"ticket.agent": {
"shown": true,
"required": false,
"item_class": "column"
}
},
"edit": {
"ticket.customer": {
"shown": true,
"required": false
},
"ticket.agent": {
"shown": true,
"required": true
}
}
}
}за одабир
Details
{
"name": "sample_select",
"object": "Ticket",
"display": "Sample Select",
"active": true,
"position": 1550,
"data_type": "select",
"data_option": {
"options": {
"key-one": "First Key",
"key-two": "Second Key",
"key-three": "Third Key"
},
"default": "key-two",
"linktemplate": ""
},
"screens": {
"create_middle": {
"ticket.customer": {
"shown": true,
"required": false,
"item_class": "column"
},
"ticket.agent": {
"shown": true,
"required": false,
"item_class": "column"
}
},
"edit": {
"ticket.customer": {
"shown": true,
"required": false
},
"ticket.agent": {
"shown": true,
"required": true
}
}
}
}Текст
Details
{
"name": "sample_text",
"object": "Ticket",
"display": "Sample Text",
"active": true,
"position": 1550,
"data_type": "input",
"data_option": {
"default": "amazing default",
"type": "text",
"maxlength": 120,
"linktemplate": "https://www.google.com/search?q=#{ticket.sample_text}"
},
"screens": {
"create_middle": {
"ticket.customer": {
"shown": true,
"required": false,
"item_class": "column"
},
"ticket.agent": {
"shown": true,
"required": false,
"item_class": "column"
}
},
"edit": {
"ticket.customer": {
"shown": true,
"required": false
},
"ticket.agent": {
"shown": true,
"required": true
}
}
}
}TIP
Поља за унос у Zammad-у могу бити 4 различита типа:
emailteltexturl(не подржава линк предлошке)
Зависно од изабраног типа уноса, Zammad очекује различите формате података. На пример: емаил захтева да буде наведена адреса имејла.
за одабир
Details
{
"name": "sample_treeselect",
"object": "Ticket",
"display": "Sample Tree Select",
"active": true,
"position": 1550,
"data_type": "tree_select",
"data_option": {
"options": [
{
"name": "row one - maximum child depth",
"value": "row one - maximum child depth",
"children": [
{
"name": "row one child level one",
"value": "row one - maximum child depth::row one child level one",
"children": [
{
"name": "row one child level two",
"value": "row one - maximum child depth::row one child level one::row one child level two",
"children": [
{
"name": "row one child level three",
"value": "row one - maximum child depth::row one child level one::row one child level two::row one child level three",
"children": [
{
"name": "row one child level four",
"value": "row one - maximum child depth::row one child level one::row one child level two::row one child level three::row one child level four",
"children": [
{
"name": "row one child level fize",
"value": "row one - maximum child depth::row one child level one::row one child level two::row one child level three::row one child level four::row one child level fize"
}
]
}
]
}
]
}
]
}
]
},
{
"name": "row two - no childs",
"value": "row two - no childs"
},
{
"name": "row three - one child",
"value": "row three - one child",
"children": [
{
"name": "row three - first and only child",
"value": "row three - one child::row three - first and only child"
}
]
}
]
},
"screens": {
"create_middle": {
"ticket.customer": {
"shown": true,
"required": false,
"item_class": "column"
},
"ticket.agent": {
"shown": true,
"required": false,
"item_class": "column"
}
},
"edit": {
"ticket.customer": {
"shown": true,
"required": false
},
"ticket.agent": {
"shown": true,
"required": true
}
}
}
}INFO
Имајте на уму да горе наведени подаци обухватају објекте тикета. То је довољно за већину ситуација, осим ако не користите подразумевана права приступа објектима. Зато их наводимо одвојено ради бољег прегледа.
Параметар object контролише у ком сте контексту:
TicketUserOrganisationGroup
{
"screens": {
"create_middle": {
"ticket.customer": {
"shown": true,
"required": false,
"item_class": "column"
},
"ticket.agent": {
"shown": true,
"required": false,
"item_class": "column"
}
},
"edit": {
"ticket.customer": {
"shown": true,
"required": false
},
"ticket.agent": {
"shown": true,
"required": true
}
}
}
}Освежавање
Потребна дозвола: admin.object
Осим у методама захтева, payloadi за ажурирање и креирање објеката су идентични. За потпуне примере payloada пређите на create_object.
Zammad ће приликом ажурирања вратити два атрибута: data_option и data_option_new. Први атрибут садржи тренутне активне вредности, а други нове вредности (које постају активне након извршења миграција базе података).
PUT-захтев послат: /api/v1/object_manager_attributes/{id}
Details
{
"id": 50,
"name": "sample_boolean",
"object": "Ticket",
"display": "Sample Boolean",
"data_type": "boolean",
"position": 1200,
"data_option": {
"options": {
"true": "yes",
"false": "no"
},
"default": "false"
}
}INFO
Наведите комплетну структуру записа приказану изнад, а не само поља која мењате. Zammad је веома захтеван ако изоставите обавезна поља: садржај захтева без data_type не успева са необрађеном грешком undefined method 'match?' for nil уместо уредне грешке валидације. Имајте на уму да промена типа објекта након креирања није могућа.
Обриши
Потребна дозвола: admin.object
DELETE-захтев послат: /api/v1/object_manager_attributes/{id}
Details
// HTTP-Code 200 OK
{}Изврши миграције базе података
Потребна дозвола: admin.object
WARNING
Након извршавања миграција базе података, поновно покретање Zammad-а је обавезно. Ако није онемогућено путем поставке аутоматског гашења, Zammad се аутоматски рестартује - очекујте кратку недоступност.
POST-захтев послат: /api/v1/object_manager_attributes_execute_migrations
Details
// HTTP-Code 200 OK
{}