Extrair dados do Kayako - auto refresh SOLVED

Use este forum para coisas que não tem nada a ver com Oracle.
  

Mensagemem Qua, 29 Jan 2020 2:18 pm

Alguns dias atrás eu tive que coletar estatísticas de suporte (tickets) da ferramenta KAYAKO.
Como essa ferramenta está na nuvem, não tenho como conectar via banco de dados e extrair o que eu preciso.
Também não existe uma API pra isso.

O melhor que tem é o KQL (que é um tipo de Kayako SQL). Só que é bem fraco!

Consegui solucionar meu problema da seguinte forma:
1. Criei um REPORT dentro do Kayako com as colunas que eu precisava exportar diariamente.
Algo do tipo:
Código: Selecionar todos
SELECT 'Users.User Organization',
'Users.Fullname',
'Tickets.Ticket Mask ID',
'Tickets.Status',
'Tickets.Priority',
'Tickets.Subject',
'Tickets.Ticket ID',
'Tickets.Department',
'Tickets.Last Activity',
'Ticket Posts.Ticket Post ID',
'Ticket Posts.Creation Date',
'Ticket Posts.Response Time',
'Ticket Posts.Email'
FROM 'Tickets','Ticket Posts', 'Users'
WHERE 'Tickets.Last Activity' = Last7Days()

Em outras palavras, ele pega tudo que foi alterado nos últimos 7 dias. (Pra garantir, hehehe)

2. Criei um SHELL no linux que passa meu login e senha pro Kayako e faz o request do meu report:
Esse script recebe nos parametros 1 e 2 o login e senha.
O report do Kayako é report 144, com saída CSV.
Código: Selecionar todos
LOGIN_URL="https://aaaaaaa.kayako.com/staff/Core/Default/Login"
REPORT_URL="https://aaaaaaa.kayako.com/staff/Reports/Report/Export/144/CSV"
COOKIE="/tmp/cookie_kayako.txt"
OUTFILE="/tmp/kayako.csv"
LOGINUSER="${1}"
LOGINPASSWORD="${2}"

echo "**************************************************************************"
echo "******************* Login using Parameter 1 and 2 and saves the cookie"
echo "**************************************************************************"
curl --data "username=$LOGINUSER&password=$LOGINPASSWORD" -c $COOKIE $LOGIN_URL
echo

echo "**************************************************************************"
echo "******************* Request for the report (using cookie)"
echo "**************************************************************************"
curl --data "" -b $COOKIE $REPORT_URL >$OUTFILE
echo


3. O arquivo CSV fica salvo no servidor Oracle.
4. Criei um EXTERNAL TABLE pra ler os dados dos CSV exportado.
Código: Selecionar todos
create table xxtg.xxtg_ext_kayako_csv (
  user_organization varchar2(50)
,  full_name varchar2(100)
,  ticket_mask_id  varchar2(50)
,  status  varchar2(50)
,  priority  varchar2(255)
,  subject varchar2(255)
,  ticket_id number
,  department  varchar2(50)
,  last_activity varchar2(50)
,  ticket_post_id  number
,  creation_date varchar2(50)
,  response_time varchar2(50)
,  email varchar2(255)
)
Organization external
(type oracle_loader
default directory tmp
access parameters (records delimited by newline
                   fields terminated by ','
                   OPTIONALLY ENCLOSED BY '"' and '"'
                   LTRIM
                   )
location ('kayako.csv'))
reject limit 1000;


5. Fiz um MERGE desses dados pra minha tabela real.

Pronto! Dessa forma posso ter dados atualizados do Kayako de forma automática.
dr_gori
Localização: Portland, OR USA

Thomas F. G

Você já respondeu a dúvida de alguém hoje?
http://glufke.net/oracle/search.php?search_id=unanswered


Voltar para Off-Topic

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante