Método: https://oms.tpl.com.br/api/put/ticket_attachments

Objetivo: Insere um ou mais anexos (em base64) a um chamado existente no Zoho Desk. Identifica o chamado via zoho_id, ticket_number ou chamado_id. Limite de 10MB por arquivo. Tipos aceitos: PDF, imagens (JPG/PNG/GIF), documentos Office, TXT, ZIP e RAR.
          
            
Método: PUT ou POST
URL: https://oms.tpl.com.br/api/put/ticket_attachments

Autenticação
Token base64 gerado pelo endpoint /api/get/auth (campo "auth")

JSON de Envio
{
"auth": "TOKEN_BASE64",
"zoho_id": "123456789012345678",
"ticket_number": "12345",
"chamado_id": "99",
"attachments": [
{
"nome_arquivo": "documento.pdf",
"tipo_arquivo": "application/pdf",
"arquivo_base64": "JVBERi0xLjQK..."
},
{
"name": "foto.jpg",
"contentType": "image/jpeg",
"base64": "/9j/4AAQSkZJRg..."
}
]
}

Obs: Informe ao menos um dos identificadores: zoho_id, ticket_number ou chamado_id.
Obs: O campo "attachments" também aceita o alias "anexos".
Obs: Para nome/tipo/base64 são aceitos aliases: nome_arquivo/name, tipo_arquivo/contentType, arquivo_base64/base64.

Campos obrigatórios: auth, attachments (array com pelo menos 1 item)
Limite por arquivo: 10MB
Tipos aceitos: application/pdf, image/jpeg, image/jpg, image/png, image/gif, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, text/plain, application/zip, application/x-rar-compressed, application/vnd.rar

JSON de Retorno (Sucesso - HTTP 200)
{
"success": true,
"zoho_id": "123456789012345678",
"uploaded": 2,
"failed": 0,
"results": [
{
"index": 0,
"name": "documento.pdf",
"contentType": "application/pdf",
"success": true,
"http_code": 201,
"error": null
},
{
"index": 1,
"name": "foto.jpg",
"contentType": "image/jpeg",
"success": true,
"http_code": 201,
"error": null
}
]
}

JSON de Retorno (Erro)
HTTP 400:
{ "success": false, "error": "attachments é obrigatório (array)" }
{ "success": false, "error": "Não foi possível identificar zoho_id (informe zoho_id ou ticket_number/chamado_id válidos)" }

HTTP 401:
{ "success": false, "error": "auth é obrigatório" }
{ "success": false, "error": "auth inválido" }
{ "success": false, "error": "Credenciais inválidas" }

HTTP 403:
{ "success": false, "error": "Cliente bloqueado" }

HTTP 405:
{ "success": false, "error": "Método não permitido" }

HTTP 500:
{ "success": false, "error": "Erro interno: ..." }