{
	"openapi": "3.0.1",
	"servers": [
		{
			"description": "API para os parâmetros de sistemas do produtos TOTVS",
			"url": "{{host}}/api/framework/v1",
			"variables": {
				"serverUrl": {
					"default": "localhost"
				},
				"serverHttpPort": {
					"default": "8051"
				}
			}
		}
	],
	"info": {
		"description": "API para os parâmetros de sistemas do produtos TOTVS",
		"version": "1.000",
		"title": "Parametros de Sistema",
		"contact": {
			"name": "T-Talk",
			"url": "API.Totvs.com.br",
			"email": "[email protected]"
		},
		"x-totvs": {
			"messageDocumentation": {
				"name": "systemParameters",
				"description": "Parâmetros de Sistema",
				"segment": "Foundation"
			},
			"productInformation": [
				{
					"product": "Protheus",
					"contact": "[email protected]",
					"description": "Cadastro de parâmetros",
					"adapter": "",
					"helpUrl": "link aqui",
					"note": "Essa API exige que seja configurada a segurança no servidor (SECURITY=1)."
				}
			]
		}
	},
	"paths": {
		"/systemParameters": {
			"get": {
				"tags": [
					"System Parameters"
				],
				"summary": "Retorna todos os parâmetros do sistema",
				"x-totvs": {
					"productInformation": [
						{
							"product": "Protheus",
							"available": true,
							"note": "Este verbo esta disponivel com todos os parametros",
							"minimalVersion": "12.1.23"
						}
					]
				},
				"description": "Retorna todos os parâmetros do sistema",
				"operationId": "getSystemParameters",
				"parameters": [
					{
						"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/parameters/Authorization"
					},
					{
						"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/parameters/Order"
					},
					{
						"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/parameters/Page"
					},
					{
						"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/parameters/PageSize"
					},
					{
						"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/parameters/Fields"
					},
					{
						"$ref": "#/components/parameters/Codes"
					},
					{
						"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/parameters/AcceptLanguage"
					},
					{
						"$ref": "#/components/parameters/Description"
					}
				],
				"responses": {
					"200": {
						"description": "Operação realizada com sucesso",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/schemas/SystemParameter_1_000.json#/definitions/PagedParameters"
								}
							}
						}
					}
				}
			},
			"post": {
				"tags": [
					"System Parameters"
				],
				"summary": "Inclui o parâmetro passado na requisição",
				"description": "Inclui o parâmetro passado na requisição",
				"operationId": "postParameter",
				"x-totvs": {
					"productInformation": [
						{
							"product": "Protheus",
							"available": true,
							"note": "Este verbo esta disponivel com todos os parametros",
							"minimalVersion": "12.1.23"
						}
					]
				},
				"parameters": [
					{
						"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/parameters/Authorization"
					}
				],
				"requestBody": {
					"content": {
						"application/json": {
							"schema": {
								"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/schemas/SystemParameter_1_000.json#/definitions/ParameterInfo"
							}
						}
					},
					"description": "Parâmetro para ser incluido"
				},
				"responses": {
					"200": {
						"description": "Operação realizada com sucesso",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/schemas/SystemParameter_1_000.json#/definitions/PagedParameters"
								}
							}
						}
					},
					"400": {
						"description": "erro no momento da Inclusão",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/definitions/ErrorModel"
								}
							}
						}
					}
				}
			}
		},
		"/systemParameters/{systemParameterId}": {
			"put": {
				"tags": [
					"System Parameters"
				],
				"summary": "Altera o parâmetro passado na requisição",
				"description": "Altera o parâmetro passado na requisição",
				"operationId": "postParameterId",
				"x-totvs": {
					"productInformation": [
						{
							"product": "Protheus",
							"available": true,
							"note": "Este verbo esta disponivel com todos os parametros",
							"minimalVersion": "12.1.23"
						}
					]
				},
				"parameters": [
					{
						"$ref": "#/components/parameters/ParameterId"
					},
					{
						"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/parameters/Authorization"
					}
				],
				"requestBody": {
					"content": {
						"application/json": {
							"schema": {
								"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/schemas/SystemParameter_1_000.json#/definitions/ParameterInfo"
							}
						}
					},
					"description": "Parâmetro para ser incluído"
				},
				"responses": {
					"200": {
						"description": "Operação realizada com sucesso",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/schemas/SystemParameter_1_000.json#/definitions/ParameterInfo"
								}
							}
						}
					},
					"400": {
						"description": "erro no momento da Inclusão",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/definitions/ErrorModel"
								}
							}
						}
					},
					"404": {
						"description": "Parâmetro não localizado na base",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/definitions/ErrorModel"
								}
							}
						}
					}
				}
			},
			"delete": {
				"tags": [
					"System Parameters"
				],
				"summary": "Exclusão de parâmetro da base",
				"description": "Exclusão de parâmetro da base",
				"operationId": "DeleteParameterId",
				"x-totvs": {
					"productInformation": [
						{
							"product": "Protheus",
							"available": true
						}
					]
				},
				"parameters": [
					{
						"$ref": "#/components/parameters/ParameterId"
					}
				],
				"responses": {
					"200": {
						"description": "Operação realizada com sucesso",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/schemas/SystemParameter_1_000.json#/definitions/ParameterInfo"
								}
							}
						}
					},
					"405": {
						"description": "Não disponivel",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/definitions/ErrorModel"
								}
							}
						}
					}
				}
			}
		}
	},
	"components": {
		"parameters": {
			"ParameterId": {
				"name": "systemParameterId",
				"in": "path",
				"required": true,
				"description": "Identificador Único representando o parâmetro",
				"schema": {
					"type": "string"
				}
			},
			"Codes": {
				"name": "codes",
				"in": "query",
				"description": "Códigos de parâmetros retornados pelo get separado por vírgula (,) ",
				"required": false,
				"example": "param1,param2",
				"schema": {
					"type": "string"
				}
			},
			"Description": {
				"name": "description",
				"in": "query",
				"description": "Busca de descrição do paramêtro",
				"required": false,
				"example": "Parâmetro de busca",
				"schema": {
					"type": "string"
				}
			}
		}
	}
}