...
Aviso |
---|
|
Após a reorganização da API pode ser necessário excluir a versão anterior e neste caso, a depreciação deve ser feita conforme politica de cada linha de produto. |
Tipos de Conteúdo
Âncora |
---|
| tipos-conteudo |
---|
| tipos-conteudo |
---|
|
JSON
Âncora |
---|
| conteudo-json |
---|
| conteudo-json |
---|
|
O formato padrão e recomendado de tipo de conteúdo, ou "Content-Type", a ser trafegado via APIs é "application/json".
É representado da seguinte maneira:
Bloco de código |
---|
|
"content": {
"application/json": {
"schema": {
"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/schemas/SomeJsonSchema_2_006.json#/definitions/SomeObject"
}
}
} |
XML
Em alguns casos pode existir a necessidade de utilizar "application/xml" , por ex: quando é exigido por legislação. Nessa situação, as mesmas regras definidas nos tópicos anteriores continuam valendo, visto que estas estão relacionadas ao schema. (Se possível, evitar esse uso e sempre priorizar o JSON).
É representado de maneira muito similar ao JSON, porém trocando a notação do ContentType por "application/xml".
Bloco de código |
---|
|
"content": {
"application/xml": {
"schema": {
"$ref": "https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/schemas/SomeJsonSchema_2_006.json#/definitions/SomeObject"
}
}
} |
Arquivos Binários
Âncora |
---|
| conteudo-binario |
---|
| conteudo-binario |
---|
|
Para endpoints de arquivos binários, é obrigatório que o schema siga a seguinte estrutura (Com "type": "string" e "format":"binary") (https://swagger.io/docs/specification/describing-request-body/file-upload/)
A notação do ContentType é sempre referente ao tipo de arquivo que o mesmo lida. No exemplo abaixo, um endpoint que resolve um arquivo de extensão ".png":
Bloco de código |
---|
|
"content": {
"image/png": {
"schema": {
"type":"string",
"format": "binary"
}
}
} |