Comment ICD développe un écosystème pour les clients des banques

Galina Savochkina, développeur en chef du centre de compétence des systèmes d'entreprise de la direction informatique de l'ICD

Aujourd'hui, nous allons parler de la façon dont nous avons travaillé sur l'automatisation du service «Offres personnelles pour les clients ICD - avec un cashback accru des sociétés partenaires».

Objectif du service


Les affaires nous ont confié la tâche - mettre en œuvre un produit logiciel avec une approche individuelle de chaque client dans le cadre du programme de fidélité. Après environ 2 mois de développement et environ 2,5 mois de tests dans la banque mobile de la Banque de crédit de Moscou, un nouvel onglet «Offres personnelles» dans la section «Privilèges» est devenu accessible à ses clients - particuliers. Ici, sur la base de l'activité transactionnelle des clients sur les cartes en rouble, des actions ont été collectées pour recevoir une remise en argent pour les achats auprès de partenaires proposés par l'agrégateur LLC Svitkard LLC. Pour chaque client, les stocks réels ont été sélectionnés spécialement pour lui afin d'obtenir la récompense maximale pour les achats. Voici les offres collectées dans les hypermarchés, les magasins, les pharmacies, les stations-service, les magasins en ligne, les cafés, etc. Parmi les partenaires du projet figuraient les détaillants Perekrestok-online, Utkonos, METRO, Leonardo, Kari, les pharmacies 36.6, Stolichki et Gorzdrav, stations-service ESA et bien d'autres. Dans ces réseaux et dans d'autres, une remise de 3% à 15% pour tous les achats sera disponible pour les clients ICD, et pour les premiers achats auprès de certains partenaires, les clients ont déjà pu (et ceux qui ne l'ont pas fait - peuvent toujours) rembourser jusqu'à 25% du montant du paiement .

Pour afficher les stocks actuels, les clients des banques doivent disposer de la dernière version de l'application mobile MKB Mobile.





Cette description n'est pas destinée à fournir des informations détaillées et exhaustives sur les caractéristiques techniques du développement de cette fonctionnalité, cependant, certains principes de base d'interaction seront pris en compte afin de partager l'expérience de développement de tels systèmes complexes. Il s'agit d'organiser l'interaction avec une société tierce, alors qu'il est très important de respecter les principes de sécurité du transfert de données, les réglementations pour travailler avec les données des clients, d'assurer un fonctionnement sans problème et de minimiser les risques de pannes techniques et de perturbations des performances globales du système.

Processus de développement


Le projet de développement d'un nouveau programme de fidélité a fait l'objet d'un processus d'approbation approfondi, car l'ICD est toujours responsable de la sécurité de ses clients et du maintien de la fidélité de leur part. Il était nécessaire de réfléchir au processus d'échange de fichiers avec les transactions des clients avec une organisation externe - Svitkard LLC. Bien entendu, toutes les données sont transmises sur un canal sécurisé et au format anonymisé.

Partage de fichiers avec Svitkard LLC


Pour une interaction rapide et pratique entre l'ICD et l'environnement logiciel de l'agrégateur, il a été décidé d'utiliser le format JSON pour l'échange. Comme de nombreux autres formats de texte, JSON est facile à lire par les gens, le format est considéré comme indépendant du langage et peut être utilisé avec presque tous les environnements de programmation. Cela est très pratique du point de vue de la mise en œuvre - il suffit de discuter d'un ensemble de champs avec un partenaire et il n'est pas nécessaire de coordonner en plus des séparateurs et d'autres paramètres supplémentaires, ce qui complique souvent l'interaction lors de l'échange de fichiers texte.

Un canal SFTP spécial a été configuré pour l'échange entre les parties. Les données sont chiffrées par le côté émetteur (ICD ou agrégateur, car l'échange bidirectionnel est configuré). Un échange régulier de fichiers a été mis en place, contenant la liste des clients ICD sous forme anonyme et les transactions par carte cryptées séparément. Les informations sont échangées une fois par jour: une telle périodicité pour le calcul du cashback suffit, car les données d'un jour déjà fermé sont transmises, et l'accumulation du cashback se fait une fois par mois.
Les types de fichiers à échanger ont été convenus - de l'ICD: une liste de clients, une liste de transactions au format anonyme avec un identifiant unique au sein de la banque. De Svitkard LLC: une liste des organisations partenaires, des actions indiquant la taille du cashback (3%, 5%, 15%, 25%, etc.), les conditions de facturation (pour le premier achat, pour tout achat), les périodes de validité les stocks (dans un mois, pour une autre période), les points d'action des stocks, c'est-à-dire des magasins spécifiques, des stations-service, etc. avec une adresse.

Une fois par mois, en fonction des transactions effectuées, l'organisation agrégatrice envoie au format JSON une liste de clients en référence à l'identifiant unique du stock (l'identifiant est fixé par Svitkard LLC). Autrement dit, la liste des actions et leur nombre est dynamique et est déterminée par de nombreux facteurs: l'activité du client utilisant des cartes ICD, la demande de certains services. Le programme de fidélité vise tout d'abord à augmenter le chiffre d'affaires des cartes MKB avec les partenaires des banques. Le fichier le plus important de l'échange est peut-être un fichier avec les montants de cashback accumulés pour les clients ICD. Les montants sont calculés du côté de l'agrégateur selon que les opérations du client sont adaptées aux conditions des actions, s'il utilise une banque mobile et des cartes roubles MKD.
De plus, les informations sur les utilisateurs de MKB Mobile sont transmises par ICD: les clients qui n'utilisent pas l'application ou qui utilisent des cartes de devises pour leurs achats ne peuvent pas recevoir de cashback accru. Une telle exigence a été avancée par l'entreprise et a ses propres raisons: attirer des utilisateurs supplémentaires de la banque mobile et utiliser la monnaie nationale.

Un canal de transfert de données assez rapide a été mis en place, car les offres ont été sélectionnées pour tous les clients existants de la banque, donc en fait un large éventail de données est transféré dans des fichiers JSON. Archivage automatique des données transmises, sauvegarde dans une archive électronique, protection des fichiers contre une copie incomplète via SFTP, vérification de la somme de contrôle des données transmises a été développée.

Partie serveur du système d'interaction


Comme pour la plupart des modules d'interaction modernes entre organisations tierces, l'architecture «Client-Serveur» a été mise en œuvre pour le projet «Offres personnelles». Dans ce cas, en plus de la partie serveur, il existe également une interaction avec l'agrégateur (Svitkard LLC). La partie serveur principale du programme est implémentée en PL / SQL dans des environnements de développement pour la base de données Oracle. Les versions modernes d'Oracle vous permettent de traiter rapidement et de manière flexible les données au format JSON à l'aide de la fonctionnalité intégrée: en utilisant JSON _table, chemin imbriqué, c'est-à-dire qu'il n'est pas nécessaire de travailler avec des fichiers JSON en tant que fichiers texte, et il devient possible d'utiliser un nouvel objet de données avec le même Fichiers XML Tous les aspects des principes de traitement du format par les versions Oracle JSON au-dessus du douzième peuvent être obtenus à partir de sources ouvertes - dans les descriptions de version, ce qui est très pratique et ne nécessite pas de coûts logiciels supplémentaires pour la mise en œuvre. La partie client a été créée par les développeurs de la banque mobile ICD, une interface conviviale est fournie, et les principes de vitesse d'affichage et de mise à jour des informations sont respectés. Ceci sera décrit plus en détail dans une autre section de la description du système.

Donc, le côté serveur du programme. En fait, le «cœur», dans lequel les opérations de base du système sont effectuées, à savoir le téléchargement d'un fichier depuis un dossier réseau vers des tables de base de données Oracle au format CLOB (par des services prédéfinis utilisant la protection cryptographique, les fichiers sont transférés d'un serveur SFTP vers la ressource réseau interne ICD), l'analyse JSON -fichiers, la sauvegarde du contenu du fichier est déjà décomposée par les champs des tables de base de données de la banque.
Les données sur les offres et promotions pour les clients sont téléchargées quelques jours avant la fin du mois en mode automatique, l'apparence des informations affichées dans l'application mobile dans la version de test est également contrôlée - le texte est converti au format HTML pour une expérience utilisateur optimale. Le fichier du partenaire est formé en tenant compte du fait que le texte doit être formaté pour les stocks dans un certain style, et des images thématiques sont disponibles pour plus de clarté pour chaque stock.

Au milieu du mois, le cashback est accumulé pour les clients selon les données reçues de Svitkard LLC: le débit est effectué à partir d'un compte spécial ouvert pour le partenaire de la banque, tandis que l'exactitude des informations reçues du partenaire est vérifiée automatiquement à l'aide d'un certain nombre de cas de test (implémentés en PL / SQL ) Si les informations sont correctes, les comptes de carte fermés sont coupés, car il n'y a aucun moyen de facturer un cashback. La précision des régularisations est également contrôlée par le personnel comptable, pour qui une fonctionnalité spéciale est mise en œuvre dans le programme ICD pour les employés de back-office - rapports et livres de référence pour vérification. Si toutes les exigences sont remplies, le comptable confirme l'exactitude des charges et confirme la formation des transactions. Les publications sont téléchargées du côté du traitement et les messages SMS du formulaire sont envoyés aux clients:
MKB: 17/05/19 vous avez été crédité du cashback des achats auprès des partenaires de la banque 545.41 RUB sur la carte * 1111. Le solde de 1445,96 RUB. Détails mkb.ru/m
En conséquence, si le client préfère les notifications push, une alerte lui sera envoyée. Tout dépend des paramètres d'ICD Mobile.

Pour stocker de grandes quantités de données sur les partages dans le contexte de chaque client, le partitionnement par mois a été utilisé pour les tables d'informations dans Oracle, pendant lesquelles le stock est valide, et l'indexation est pensée de manière optimale. Cela vous permet de recevoir et d'afficher rapidement des données, bien qu'elles soient individuelles pour chaque client et contiennent des informations sur les médias.

Partie client dans une banque mobile


Les données reçues par le côté serveur via PL / SQL sont stockées dans une base de données et transmises au côté client via des procédures stockées. Le format d'interaction a été convenu à l'avance avec les développeurs de la banque mobile (dans l'environnement de développement C #): renvoyez-leur le curseur avec les données sur le client pour afficher les partages sur la page de l'utilisateur. Transférer l'emplacement réseau des fichiers multimédias - pour la conception de chaque action, le transfert a également été mis en œuvre immédiatement, en tenant compte du formatage HTML pour chaque page de l'action. Avant d'activer de nouvelles promotions pour un client par une banque mobile, la mise en cache est effectuée la nuit du premier jour du mois.





Grâce à la structure d'interaction organisée de manière optimale, chaque client ICD voit instantanément une liste pour lui-même sur sa page «Offres personnelles». Malgré le fait que les listes soient individuelles pour chaque client, le système fonctionne rapidement, ce qui, grâce à nos administrateurs de base de données Oracle DBMS qualifiés, eh bien, en tant que développeur du côté serveur du système, j'essaie également de toujours penser aux performances))
Interaction des départements dans le développement et le fonctionnement du système
Ce projet couvrait plusieurs départements à la fois: le département de développement logiciel back-office - pour la mise en œuvre de la protection des données cryptographiques et la transmission des fichiers SFTP via le canal vers la ressource interne ICD - depuis l'agrégateur; groupe de développement et automatisation sur cartes bancaires. En fait, la mise en œuvre du côté serveur du programme - téléchargement de fichiers, analyse de fichiers, affichage des stocks et du contenu multimédia pour les clients, crédit d'un cashback groupé par cartes client, débit d'un compte spécial et retour des soldes sur le compte de Svitkard LLC si le transfert est impossible en raison de la fermeture le compte du client à qui le cashback a été crédité, en envoyant des informations au téléphone du client. Du côté client de la banque mobile - affichage des données retournées par le serveur.

Les développeurs du côté agrégateur se sont également montrés positifs, ont corrigé toutes les divergences qui se sont produites avec le format de transfert, ont corrigé plusieurs fois l'ensemble des champs pour un échange de données plus pratique, se sont mis d'accord sur les règles d'interaction et ont défini la fréquence du transfert de données. De plus, la société d'agrégation est très fidèle aux clients de la banque: si, pour une raison quelconque, le client considère qu'il n'a pas été crédité par erreur d'un cashback. Il y a eu très peu de plaintes au cours de la période de test, et elles étaient principalement liées au fait que le client n'a pas vu de message sur l'accumulation de cashback ou a mal compris les conditions d'acquisition, par exemple, payé avec une carte de crédit, considérant que le cashback devrait lui arriver immédiatement après l'achat sur le stock (et il est facturé au milieu du mois), etc. Des clients, y compris les employés de la banque, des avis assez positifs ont été reçus sur cette offre. Ce programme de fidélité offre des opportunités pratiquement illimitées de recevoir des remises en argent pour les achats, par exemple, les vacances du Nouvel An, nous avons été heureux de voir comment les clients qui ont dépensé environ 50000 roubles à Rive Gauche en cosmétiques ont reçu leur honnête cashback de 5000 roubles, etc. e. 10% sur tous les achats. Et c'est immédiatement dans l'argent sur le compte de carte, pas de bonus.

RĂ©sumer


À l'automne 2018, un nouvel onglet «Offres personnelles» dans la section «Privilèges» est devenu disponible dans la banque mobile MKB Mobile; il a été plus largement diffusé auprès des clients de la banque dès 2019. Actuellement, de nombreux clients utilisant la banque mobile ICD ont découvert une augmentation du cashback pour les actions individuelles - de 3 à 25%, tandis que l'argent est crédité de manière stable au milieu du mois quel que soit le solde du compte et immédiatement, c'est-à-dire qu'il n'est pas nécessaire de transférer des points en argent, choisissez des catégories de rémunération, etc.

Après avoir vérifié les frais et le fonctionnement de la banque mobile sur les circuits de test, le test a été lancé sur une base productive pour un cercle restreint de personnes - sur un groupe de test d'employés de l'ICD qui est allé faire du shopping et a fait des achats de test. Toutes les lacunes et souhaits possibles ont été pris en compte, et à l'automne 2018, tous les clients de l'ICD qui n'avaient même pas de banque mobile connectée avant de recevoir des offres personnelles sur les actions des organisations partenaires. Autrement dit, tout client de la Banque de crédit de Moscou, s'il connecte la Banque mobile pour la première fois, constate que l'IBC a déjà pris en charge des offres individuelles pour elle.

Dans la version actuelle de l'entreprise, avec laquelle l'interaction est organisée via un agrégateur,
parmi les catégories suivantes:

  • alimentation, supermarchĂ©s;
  • Station d'essence;
  • cafĂ©s et restaurants;
  • pharmacies;
  • magasins en ligne;
  • la mĂ©decine;
  • divertissement;
  • vĂŞtements et chaussures.

Parmi les partenaires qui sont prêts à facturer le cashback, il y a des grandes entreprises telles que 5 Karmanov, METRO, Pharmacy 36.6, Leonardo, VICHY, Toy.ru, Gorzdrav, Hotel COSMOS, Kari, Utkonos, Rybolov Discount, SOHO, Line, Burger King, Detsky Mir, Kozlovitsa et bien d'autres. Et si, par exemple, vous achetez déjà quelque chose de nos partenaires, pourquoi ne pas en tirer un revenu de 10% voire 25%? Tentant, non?

Le temps ne s'arrête pas et le nombre de partenaires dans les stocks "Offres Personnelles" est en constante augmentation. Désormais, chaque client ICD peut gagner de l’argent sur ses achats et choisir lui-même des offres personnelles pratiques, l’essentiel est de se tenir informé et d’oublier d’utiliser l’application mobile de la banque. Maintenant, le temps passe où les gens ont peur d'utiliser constamment des cartes pour leurs achats et font plus confiance à l'argent. Il est évident qu'un remboursement est avantageux pour les banques et les magasins - et, bien sûr, pour les clients des banques. Le cashback a beaucoup plus d'avantages que, par exemple, les mêmes remises et coupons bonus qui vous obligent à revenir au magasin jusqu'à ce que les points accumulés soient épuisés, car il est psychologiquement plus agréable pour l'utilisateur non seulement d'acheter des produits moins cher, mais d'obtenir remboursement. Et si de nombreuses banques proposent d'obtenir une remise en argent pour une catégorie particulière de services ou de biens qui peuvent être utilisés plus en un mois et moins dans un autre, les offres personnelles de MKB vous permettent de choisir vous-même l'avantage de prix pour le service dont vous avez besoin en ce moment , alors que les catégories et les offres sont suffisantes pour faire ce choix.

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


All Articles