Como o ICD está desenvolvendo um ecossistema para clientes bancários

Galina Savochkina, desenvolvedora chefe do centro de competência de sistemas corporativos da Diretoria de TI da CID

Hoje, falaremos sobre como trabalhamos na automação do serviço “Ofertas pessoais para clientes do CDI - com um aumento de cashback de empresas parceiras”.

Finalidade do serviço


Os negócios nos definiram a tarefa - implementar um produto de software com uma abordagem individual para cada cliente como parte do programa de fidelidade. Após cerca de 2 meses de desenvolvimento e cerca de 2,5 meses de testes no banco móvel do Moscow Credit Bank, uma nova guia "Ofertas pessoais" na seção "Privilégios" ficou disponível para seus clientes - pessoas físicas. Aqui, com base na atividade transacional dos clientes em cartões de rublo, foram coletadas ações para receber reembolso pelas compras de parceiros oferecidos pelo agregador LLC Svitkard LLC. Para cada cliente, os estoques reais foram selecionados especificamente para ele, a fim de obter a recompensa máxima pelas compras. Aqui são coletadas ofertas de hipermercados, lojas, farmácias, postos de gasolina, lojas on-line, cafés, etc. Entre os parceiros do projeto estavam os varejistas Perekrestok-online, Utkonos, METRO, Leonardo, Kari, farmácias 36.6, Stolichki e Gorzdrav, postos de gasolina da ESA e muitos outros. Nessas e outras redes, um reembolso de 3% a 15% para todas as compras estará disponível para os clientes da ICD e, nas primeiras compras de determinados parceiros, os clientes já poderão (e aqueles que ainda não o fizeram - ainda podem) retornar até 25% do valor do pagamento .

Para exibir os estoques atuais, os clientes bancários devem ter a versão mais recente do aplicativo móvel MKB Mobile.





Esta descrição não pretende fornecer informações detalhadas e exaustivas sobre os recursos técnicos do desenvolvimento dessa funcionalidade; no entanto, alguns princípios básicos de interação serão considerados para compartilhar a experiência do desenvolvimento de sistemas complexos. Trata-se de organizar a interação com uma empresa terceirizada, embora seja muito importante cumprir os princípios de segurança da transferência de dados, regulamentos para trabalhar com dados do cliente, garantir uma operação sem problemas e minimizar a possibilidade de falhas técnicas e interrupções no desempenho geral do sistema.

Processo de desenvolvimento


O projeto para desenvolver um novo programa de fidelidade passou por um processo de aprovação completo, uma vez que o CID é sempre responsável pela segurança de seus clientes e pela manutenção da lealdade de suas partes. Era necessário refletir sobre o processo de troca de arquivos com transações de clientes com uma organização externa - Svitkard LLC. Obviamente, todos os dados são transmitidos por um canal seguro e em formato anônimo.

Compartilhamento de arquivos com Svitkard LLC


Para uma interação rápida e conveniente entre o ICD e o ambiente do software agregador, foi decidido usar o formato JSON para troca. Como muitos outros formatos de texto, o JSON é fácil de ler pelas pessoas, o formato é considerado independente da linguagem e pode ser usado com praticamente qualquer ambiente de programação. Isso é muito conveniente do ponto de vista da implementação - basta discutir um conjunto de campos com um parceiro e não há necessidade de coordenar adicionalmente separadores e outros parâmetros adicionais, o que geralmente complica a interação ao trocar arquivos de texto.

Um canal SFTP especial foi configurado para troca entre as partes. Os dados são criptografados pelo lado transmissor (ICD ou agregador, porque a troca bidirecional está configurada). Uma troca regular de arquivos foi implementada, contendo a lista de clientes ICD em forma anônima e transações de cartão criptografadas separadamente. As informações são trocadas uma vez por dia: essa periodicidade para a tarefa de calcular o reembolso é suficiente, porque os dados de um dia já fechado são transmitidos e o acúmulo de reembolso é feito uma vez por mês.
Os tipos de arquivos para troca foram acordados - no ICD: uma lista de clientes, uma lista de transações em formato anônimo com um identificador único no banco. Da Svitkard LLC: uma lista de organizações parceiras, ações indicando o tamanho do reembolso (3%, 5%, 15%, 25% etc.), condições de cobrança (na primeira compra, em qualquer compra), períodos de validade ações (dentro de um mês, por outro período de tempo), pontos de ação das ações, ou seja, lojas específicas, postos de gasolina etc. com um endereço.

Uma vez por mês, dependendo das transações realizadas, a organização agregadora envia no formato JSON uma lista de clientes com referência ao identificador exclusivo do estoque (o identificador é definido pela Svitkard LLC). Ou seja, a lista de compartilhamentos e seu número é dinâmica e é determinada por vários fatores: a atividade do cliente usando cartões ICD, a demanda por determinados serviços. O programa de fidelidade, em primeiro lugar, visa aumentar a quantidade de rotatividade de cartões MKB com parceiros de bancos. Talvez o arquivo mais importante na troca seja um arquivo com os valores de reembolso acumulado para clientes do ICD. Os valores são calculados no lado do agregador, dependendo se as operações do cliente são adequadas às condições das ações, se ele usa um banco móvel e cartões de rublo MKB.
Além disso, são transmitidas informações sobre os usuários do MKB Mobile a partir do ICD: os clientes que não usam o aplicativo ou usam cartões de moeda para suas compras não podem receber um aumento de reembolso. Essa exigência foi apresentada pela empresa e tem seus próprios motivos: atrair usuários adicionais do banco móvel e usar a moeda nacional.

Foi criado um canal de transferência de dados razoavelmente rápido, porque as ofertas foram selecionadas para todos os clientes existentes do banco; portanto, uma enorme variedade de dados é transferida em arquivos JSON. Arquivamento automático dos dados transmitidos, salvando em um arquivo eletrônico, protegendo os arquivos de cópias incompletas via SFTP, foi desenvolvida a verificação da soma de verificação para os dados transmitidos.

Parte do servidor do sistema de interação


Como na maioria dos módulos modernos de interação entre organizações de terceiros, a arquitetura "Cliente-Servidor" foi implementada para o projeto "Ofertas pessoais". Nesse caso, além da parte do servidor, também há interação com o agregador (Svitkard LLC). A parte principal do servidor do programa é implementada em PL / SQL em ambientes de desenvolvimento para o banco de dados Oracle. As versões modernas do Oracle permitem processar dados de forma rápida e flexível no formato JSON usando a funcionalidade incorporada: usando _table JSON, caminho aninhado, ou seja, não há necessidade de trabalhar com arquivos JSON como arquivos de texto e torna-se possível usar um novo objeto de dados junto com o mesmo Arquivos XML Todos os aspectos dos princípios de processamento do formato pelas versões Oracle JSON acima da décima segunda podem ser obtidos de fontes abertas - nas descrições das versões, o que é muito conveniente e não requer custos adicionais de software para implementação. A parte do cliente foi criada pelos desenvolvedores do banco móvel ICD, uma interface amigável é fornecida e os princípios de velocidade de exibição e atualização de informações são observados. Isso será descrito em mais detalhes em outra seção da descrição do sistema.

Portanto, o lado do servidor do programa. Na verdade, o "núcleo", no qual as operações básicas do sistema são realizadas, ou seja, o download de um arquivo de uma pasta de rede para as tabelas de banco de dados Oracle no formato CLOB (por serviços predefinidos usando proteção criptográfica, os arquivos são transferidos de um servidor SFTP para o recurso de rede interno do ICD), análise JSON -arquivos, salvar o conteúdo do arquivo já está dividido pelos campos das tabelas de banco de dados do banco.
Os dados sobre ofertas e promoções para os clientes são baixados alguns dias antes do final do mês no modo automático, a aparência das informações exibidas no aplicativo móvel na versão de teste é controlada adicionalmente - o texto é convertido para o formato HTML para uma ótima experiência do usuário. O arquivo do parceiro é formado levando em consideração o fato de que o texto deve ser formatado para as ações em um determinado estilo e há imagens temáticas disponíveis para maior clareza para cada ação.

No meio do mês, um reembolso é acumulado para os clientes de acordo com os dados recebidos da Svitkard LLC: o débito é feito de uma conta especial aberta para o parceiro do banco, enquanto a exatidão das informações recebidas do parceiro é verificada automaticamente usando vários casos de teste (implementados em PL / SQL ) Se as informações estiverem corretas, as contas fechadas do cartão serão cortadas, pois não há como cobrar um reembolso. A precisão dos accruals é controlada adicionalmente pela equipe de contabilidade, para quem uma funcionalidade especial é implementada no programa ICD para funcionários administrativos - relatórios e livros de referência para verificação. Se todos os requisitos forem atendidos, o contabilista confirma a exatidão dos encargos e confirma a formação de transações. As postagens são enviadas para o lado do processamento e as mensagens SMS do formulário são enviadas aos clientes:
MKB: 17/05/19 você recebeu o reembolso de compras de parceiros do banco 545.41 RUB no cartão * 1111. O saldo de 1445,96 RUB. Detalhes mkb.ru/m
Assim, se o cliente preferir notificações por push, um alerta será enviado a ele. Tudo depende das configurações do ICD Mobile.

Para armazenar grandes quantidades de dados sobre compartilhamentos no contexto de cada cliente, o particionamento por mês foi usado para tabelas de informações no Oracle, durante as quais o estoque é válido e a indexação é idealmente pensada. Isso permite que você receba e exiba rapidamente dados, apesar de serem individuais para cada cliente e conterem informações de mídia.

Parte do cliente em um banco móvel


Os dados recebidos pelo servidor via PL / SQL são armazenados em um banco de dados e transmitidos ao cliente através de procedimentos armazenados. O formato de interação foi previamente acordado com os desenvolvedores do banco móvel (no ambiente de desenvolvimento C #): retorne o cursor com os dados do cliente para exibir os compartilhamentos na página do usuário. Transferir o local da rede dos arquivos de mídia - para o design de cada ação, também foi implementada a transferência imediatamente, levando em consideração a formatação do HTML para cada página da ação. Antes de ativar novas promoções para um cliente por um banco móvel, o armazenamento em cache é realizado na noite do primeiro dia do mês.





Graças à estrutura de interação organizada de maneira ideal, cada cliente do ICD vê instantaneamente uma lista para si mesmo em sua página de "Ofertas pessoais". Apesar de as listas serem individuais para cada cliente, o sistema funciona rapidamente, pelo qual, graças aos nossos administradores qualificados de banco de dados Oracle DBMS, bem, eu, como desenvolvedor do lado do servidor do sistema, também tento sempre pensar no desempenho))
Interação de departamentos no desenvolvimento e operação do sistema
Este projeto abrangeu vários departamentos de uma só vez: o departamento de desenvolvimento de software de back-office - para a implementação da proteção de dados criptográficos e a transmissão de arquivos SFTP via canal para o recurso interno do ICD - do agregador; grupo de desenvolvimento e automação em cartões bancários. Na verdade, a implementação do lado do servidor do programa - baixar arquivos, analisar arquivos, exibir ações e conteúdo de mídia para clientes, creditar um reembolso agrupado por cartões de clientes, debitar de uma conta especial e devolver saldos na conta da Svitkard LLC se a transferência for impossível devido ao fechamento a conta do cliente ao qual o reembolso foi creditado, enviando informações ao telefone do cliente. Do lado do cliente do banco móvel - exibindo dados retornados pelo servidor.

Os desenvolvedores do lado agregador também se mostraram do lado positivo, corrigiram todas as discrepâncias que ocorreram com o formato de transferência, corrigiram o conjunto de campos várias vezes para uma troca de dados mais conveniente, concordaram com as regras de interação e configuraram a frequência da transferência de dados. Além disso, a empresa agregadora é muito leal aos clientes do banco: se, por algum motivo, o cliente considerar que não foi creditado por engano com um reembolso. Houve muito poucas reclamações durante o período de teste, e estavam principalmente relacionadas ao fato de o cliente não ter visto uma mensagem sobre o acúmulo de reembolso ou ter entendido mal as condições de acúmulo, por exemplo, pagas com cartão de moeda, considerando que o reembolso deveria ser recebido imediatamente após a compra sobre as ações (e é cobrado no meio do mês) etc. Entre os clientes, incluindo os funcionários do banco, foram recebidas críticas bastante positivas sobre essa oferta. Este programa de fidelidade oferece oportunidades praticamente ilimitadas para receber reembolso em compras, por exemplo, nas férias de Ano Novo. Ficamos felizes em ver como os clientes que gastaram cerca de 50 mil rublos na Rive Gauche em cosméticos receberam seu honesto reembolso de 5 mil rublos, etc. 10% em todas as compras. E isso está imediatamente no dinheiro da conta do cartão, não nos bônus.

Resumir


No outono de 2018, uma nova guia "Ofertas pessoais" na seção "Privilégios" ficou disponível no banco móvel MKB Mobile; era mais amplamente distribuída entre os clientes do banco em 2019. Atualmente, muitos clientes que usam o banco móvel ICD descobriram um aumento no reembolso de ações individuais - de 3 para 25%, enquanto o dinheiro é creditado de forma estável no meio do mês, independentemente do saldo da conta e imediatamente, ou seja, não há necessidade de transferir pontos em dinheiro, escolha categorias de remuneração, etc.

Após verificar as cobranças e o funcionamento do banco móvel em circuitos de teste, o teste foi iniciado de forma produtiva para um círculo limitado de pessoas - em um grupo de teste de funcionários do ICD que foram às compras e fizeram compras de teste. Todas as possíveis deficiências e desejos foram levados em consideração e, no outono de 2018, todos os clientes da CID que nem sequer tinham um banco móvel conectado antes de receber ofertas pessoais de ações de organizações parceiras. Ou seja, qualquer cliente do Moscow Credit Bank, se conectar o Mobile Bank pela primeira vez, vê que o IBC já cuidou de ofertas individuais para ele.

Na versão atual da empresa, com a qual a interação é organizada por meio de um agregador,
das seguintes categorias:

  • comida, supermercados;
  • Posto de gasolina;
  • cafés e restaurantes;
  • farmácias;
  • lojas online;
  • medicina;
  • entretenimento;
  • roupas e sapatos.

Entre os parceiros que estão prontos para cobrar o reembolso, existem empresas grandes como 5 Karmanov, METRO, Pharmacy 36.6, Leonardo, VICHY, Toy.ru, Gorzdrav, Hotel COSMOS, Kari, Utkonos, Rybolov Discount, SOHO, Line, Burger King, Detsky Mir, Kozlovitsa e muitos outros. E se, por exemplo, você já compra algo de nossos parceiros, por que não obter renda com isso, digamos, 10% ou mesmo 25%? Tentador, não é?

O tempo não pára e agora o número de parceiros nas ações "Ofertas pessoais" está em constante crescimento. Agora, todo cliente do ICD pode ganhar dinheiro com suas compras e escolher ofertas pessoais convenientes, o principal é manter-se atualizado e não se esqueça de usar o aplicativo móvel do banco. Agora, o tempo passa quando as pessoas temem usar constantemente cartões para suas compras e mais confiança em dinheiro. É óbvio que um reembolso é benéfico para bancos e lojas - e, é claro, para clientes bancários. O reembolso tem muito mais vantagens do que, por exemplo, os mesmos descontos e cupons de bônus que obrigam você a ir à loja novamente até que os pontos acumulados sejam esgotados, porque é psicologicamente mais agradável para o usuário não apenas comprar mercadorias por menos, mas obter dinheiro de volta. E se muitos bancos oferecerem um reembolso por uma categoria específica de serviços ou bens que podem ser usados ​​mais em um mês e menos em outro, as ofertas pessoais da MKB permitirão que você escolha a vantagem de preço do serviço necessário no momento , enquanto as categorias e ofertas são suficientes para fazer essa escolha.

Source: https://habr.com/ru/post/pt469211/


All Articles