Aller au contenu
KAMOUniverse

Changelog

Ce qui est nouveau.

Chaque amélioration apportée à la plateforme, à mesure qu'elle est livrée.

  1. · SecurityService

    Les démos réservées sur une piste, en tête

    GET : La section des webinaires de la page chef d'orchestre s'appelle /api/webinar/leads/-id- puisque c'était écrit et que rien ne l'a jamais servi - l'API live répond 404, et le composant lit un 404 comme "la fonction webinaire est éteinte" et ne rend rien. Donc une démonstration réservée à partir du site de marketing, a créé une avance, a relié la réservation à celle-ci, et n'a jamais montré dessus. A servi ici plutôt que dans MediaService, qui possède les réservations, parce que la question a un appelant a pour passer d'abord est "Peut-vous lire cette piste": session valide, diriger dans l'organisation de l'appelant, puis LeadCommsReadGate - son propre chef n'a pas besoin de droit, un non-assigné a besoin de VEW-UNASSIGNED-LEADS, quelqu'un les besoins de l'autre VEW-LEAD-CONTACT-INFO-OTHERS, dieu contourne. La porte est celle de l'onglet communication utilise, appelés, non copiés. Les dénis sont enregistrés par PhiAccessAuditor; une lecture n'est pas, parce que le la réponse ne transporte pas de données de contact - la même ligne que le point d'extrémité /communications/comptages. LeadWebinarEntry est le titre, le début/fin, le nom du présentateur et les deux statuts. Rien à propos de la le départ ou le début de leur arrivée: le nom et l'adresse du visiteur sont les propres et déjà sur la page. Un visiteur qui s'annule et s'enregistre à nouveau produit un deuxième lien vers celui-ci la ligne des participants, et la section le montre une fois. Les cinq échecs dans la suite complète - qui battent les flagats - non pas ceci) échouent de manière identique sur l'origine/principal sans cela changement. Ce critère d'évaluation résout une session, de sorte que le cliquet ne le nomme pas. 2712 essais par ailleurs vert.

  2. · kamo-internal

    Une fenêtre que le membre apporte aux atterrirs avec une lumière que vous ne pouvez pas manquer

    Cliquer sur une tête d'hex, ou la bande d'une fenêtre debout derrière, amenait la fenêtre vers l'avant avec un une faible fleur d'ombre (bande) ou une luème verte de 600 ms (tête) facile à perdre pendant que les rangées se réarrangent Autour. Maintenant le cadre lui-même s'allume: un anneau à l'intérieur du bord de la fenêtre avec deux comètes en course autour de lui, ondulations s'étalant du cadre et une lueur qui tient, environ 2,4s, puis éteinte. - Lit par chaque geste de membre qui amène une fenêtre vers l'avant: un clic de strip, un clic d'houste ou restore (tool:focus), et tout ouvert que le membre a demandé. Resente reste tranquille. - Un à la fois: l'arrivée la plus récente s'estompe celle avant, donc la fenêtre éclairée est toujours celle de la membre vient d'appeler. - Le mouvement réduit maintient le signal et laisse tomber le mouvement : l'anneau et s'allumer sans bouger. - Sa propre paire de couleurs à : rachet (--arrivée à l'arrivée, --dock-arrival-ring); la barre de titre porte déjà la marque, et une bague de marque disparaît le long de celle-ci.

  3. · kamo-shared-library

    Un timbre de présentation, donc une session réservée peut les insoudre

    Le nombre de webinaires de l'icône de l'icône d'assistance lit WebinarAttendee.dateViewed. Un présentateur n'est pas un stator ménagère, donc une session réservée avec eux a été envoyée par courriel et n'a jamais été mentionnée dans l'application: le badge est resté à zéro pour la seule personne qui doit le faire fonctionner. (PRESENTER-DATE-VIEWED, null - non encore indiqué) est ce timbre pour les gains du presenter attribué et de la rubrique ScheduledWebinarRepository findUnreviewedForPresenter avec le prédicat des questions à la personne concernée: le présentateur lui-même sessions sans cachet. WebinarQueryParseTest analyse les deux contre la cartographie. DDL, déjà appliqué à la base de données en direct en tant que propriétaire du tableau: TABLEAU publique.schedulede.schedulede-webinar ADD COLUMN IF NOT EXISTS presenter-date-viewed timestamp(6) sans fuseau horaire; Les cinq échecs dans la suite complète (SystemBugCountContractTest, PhiServiceTypeMappingTest, StorageDomainCoverageTest, et ReportVisabilityTest) échoue à l'identique sur l'origine/principal sans ce changement.

  4. · kamo-marketing

    Un bouton de démonstration en direct à côté de Start Free Forever

    Le héros à domicile a proposé deux choses : commencer gratuitement, ou lire le prix. C'est maintenant aussi offre une demi-heure avec une personne. "Réserver une démo en direct", avec "30 minutes" sur un deuxième ligne, s'assoit à droite de Start Free Forever et ouvre /demo, le flux de réservation existant ("Demi-heure avec quelqu'un qui connaît le produit"). C'est le bouton en verre de la bande CTA, à la hauteur et au rayon de 56px de .héro-cta, donc Start Free reste la première. Les deux boutons sont regroupés avec un gap 12px, et la tarification suit. La longueur est sur sa ligne propre pour la largeur. D'une ligne, "Réserver un film de 30 minutes Live Demo" était de 291px et a chuté sous Start Free à 1280, 1366 et 1440 de large. Deux lignes le font 196px, et la paire correspond à la colonne de copie de 1280 en haut et à 768. Ce n'est qu'à 1024 (une colonne de 361px) et sur les téléphones qu'il s'empile en dessous. Mesurée en chrome à 390, 768, 1024, 1280, 1366, 1440 et 1920, sans déversée horizontale au niveau de l'un d'entre eux. View Pricing désormais s'enroule sur sa propre rangée au niveau de la largeur des ordinateurs portables, et cela expose ses limites. border-bottom: TouchOptimisé élève le lien vers 44px haut une fois la page est idil, donc la bordure s'est assise 18px sous le texte et lisait comme un séparateur. C'est une Le texte souligne maintenant, le texte étant centré dans son encadré. Les clés sont allées à la kamo-traduction-dictionnaire d'abord (7ed8a400).

  5. · kamo-marketing

    Une page pour des campagnes d'e-mail illimitées et des gouttes, reliées à partir de partout où elle appartient

    /email-marketing vend ce qui a été livré le 2026-09-16 (campagnes de radiodiffusion, goutte-à-goutte, domaines d'envoi): illimitée, et 100 % gratuite avec les entreprises et entreprises. Le seul élément en gras de la page est le curseur avec laquelle chaque page de prix de marketing d'e-mail s'ouvre ("Comment s'ouvre-t-il Beaucoup de contacts avez-vous?"), sauf que le fait de le déplacer ne change jamais la facture. Il ne cite personne le prix d'autref, par 206f9f3: l'argument est le modèle de comptage (niveaux de contact, octroi de quotas, l'automatisation maintenue pour des plans plus élevés), et le seul chiffre sur la page est notre 0. Tout ça les réclamations ont été vérifiées par rapport au produit: - 14 déclencheurs de goutte-à-goutte, envoyer des fenêtres dans le fuseau horaire du contact, et conditions d'ouverture/clic avec saut ou sortie (dripCatalog). - Cinq des dix recettes, dessinées avec leurs véritables déclencheurs, synchronisations et sorties (dripRecipes.ts). - Un échauffement de 14 jours avec un frein de sécurité sur des blocs et des rebonds (WarmupSettings, WarmupPlan). - Énumérer les raisons d'hygiène, la suppression des cas de rebond/plainte, un clic de désabonnement et des hôtes SMTP personnalisés. - "Inlimité" signifie pas de plafond plan: rien dans EmailServiceer un orge, et la page dit Cet échauffement et envoyer des fenêtres fixent le rythme. Liens dans: la navigation et le pied de page, une catégorie de caractéristiques, une carte de produit, un appel sous le titre /tarifs de fixation des cartes de plan, la feuille de route (les campagnes de courrier électronique en masse) sont mis à la liste), le plan du site et sitemap, et une neuvième carte dans la page d'accueil "Stop Paying for Nine Different Tools". Serveur strip (EmailMarketingStrip) passe sous la matrice de caractéristiques à chaque comparaison de concurrents, sous "Ce qui est effectivement fourni" sur chaque page de l'industrie, sur cinq conditions de glossaire et sur les deux ressources articles. PLATFORM-CAPABILITIES, qui s'appelle la liste de ce que KamoCRM fournit, liste maintenant marketing par courrier électronique. Quatre pages de l'industrie ont dit que les gouttes d'eau étaient demandables: cours en ligne, hôtels, les studios de remise en forme et le commerce électronique. Leur copie est corrigée, en gardant ce qui n'est pas encore construit (compression de course et de participation, synchronisation basée sur le séjour, segmentation LTV, SMS) pouvant être demandé, et chaque élément passe à une -r3 i18nKey. Vérifié sur une construction de production locale: chaque garde, une itinéraire prédateur, et un chrome sans tête sonde (42 contrôles) de large 390, 1440 et 2560 couvrant sans défilement horizontal, sans erreur de console, pas de touches de message brutes, utilisation du clavier du curseur et des onglets de recette, et un lien dans le corps de page de chaque page ci-dessus. Le côté du dictionnaire est kamo-translation-dictionary 3ecaefa5.

  6. · kamo-marketing

    Jouez à la bobine kamo14, et laissez-la s'arrêter

    La bobine de coupe (nouveau cliché de logo de fermeture, sinon image-identique, même 66s le temps d'exécution et les calendriers de chapitre) sont publiés sous son propre nom. Le kamo13 l'échelle est servie immuable et ses variantes de playlists et de segments gardent leur Les URL, quel que soit le maître dit, donc un remplacement sur place ne serait jamais atteindre un visiteur de retour. L'ouverture du héros offrait redémarrer et muet mais aucun moyen d'arrêter le film une fois C'était en train de jouer. Un contrôle de pause/jeu mène maintenant la ligne de contrôle, et tapotage l'image le bascule également; la reprise maintient la position. Le contrôle suit: les événements de jeu/pause de l'élément, de sorte qu'il reste juste quand la course se termine ou le navigateur met en pause la lecture lui-même. Il s'agit des deux pages qui intègrent le ouverture (page d'accueil et de surclassement); / regarder s'arrête déjà à travers le contrôles natifs.

  7. · KlusterServices

    Encoder la bobine kamo14

    La bobine de commercialisation a été redécoupée (nouveau cliché de logo de clôture) et téléchargée comme public/kamo14.mp4. Il obtient un nouveau nom au lieu de remplacer kamo13 en place parce que l'échelle est servie immuable: le maître n'atteint pas le des listes de lecture ou des segments de variantes, qui conservent leurs URL relatives. L'encode job construit maintenant le public/hls/kamo14/ et le kamo14-poster. MediaMTX boucle l'échelle kamo14. Le nom du chemin live/kamo13 est inchangé.

  8. · kamo-internal

    Fenêtres qui ne s'adaptent pas au stand de dock en rangées derrière elle

    Une fenêtre d'outil qui ne s'adapte pas à la rangée avant maintenant se trouve dans une rangée. une bande de titre plus haute par rangée: sa barre de titre de 42px et 10px de l'élément de corps ci-dessus la rangée avant, comme les onglets d'une pile de plieurs. Cette disposition remplace la en cascade, qui a placé chaque fenêtre au-dessus de la rangée et enterré la plupart d'entre eux. Les rangées sont l'ordre de fenêtre agencé en première habillage (toolDockPlacement, dispositionDockStack): une fenêtre va dans la rangée la plus en avant avec de la place pour elle, donc la rangée avant n'est jamais laissée à moitié vide alors qu'une fenêtre qui convient attend derrière. Chaque ligne partage une hauteur. Lorsque la bande la plus en arrière passerait le haut marge, chaque fenêtre cède ensemble, et la hauteur revient comme le les rangées se vident. La rangée, la levée et la hauteur de la bande sont inscrites sur chaque une fenêtre dans le même relais que dockX (dockRows), et ne sont jamais persistance. Qui se tient devant est un réordonneur (toolDockTiers): - Un clic sur une bande échange les places avec la fenêtre avant le membre utilisé le plus récemment. La récépissé est suivie uniquement des gestes des membres (dockMemberUse), parce que le compteur z monte également pour les augmentations. - Une fenêtre que le membre ouvre, restaure de son tête de poupil, retombe de la les volets, quais ou levages à partir d'une notification sont assis à l'avant, en négociant avec la fenêtre avant utilisée LE MOINS récemment. Windows soulevées par les messages entrants Allez là où il y a de la place, donc ils ne prennent jamais la place de celui qui est utilisé. - Une goutte dans le quai garde l'endroit où il a été largué; le moins récemment les vitres avant usagées prennent du recul pour faire de la place. - Une fenêtre avant fermée ou minimisée est remplacée par la fenêtre debout près de lui, et rien d'autre ne bouge. - Une fenêtre plus large venant en avant en arrière les moins bien utilisées jusqu'à ce qu'il s'adapte. Sur écran (ToolWindowShell, ToolDock): - Une fenêtre derrière est coupée sur sa bande, qui est aussi sa zone de frappe. C'est le corps est inerte, donc il ne prend pas de concentration ou de frappe et ne peint aucune barre de défilement. Il peint sous toutes les fenêtres et ne se dit jamais qu'il est concentré. - Le titre de la bande est un bouton (aller vers l'avant, clavier jouxtant), montre le compte non lu, et s'estompe avec chaque ligne plus en arrière. - Ses boutons proches, minimisent, maximisent et flottent agissent sur lui à l'endroit où il se trouve. Une traînée qui commence sur une bande n'est pas aussi un clic, et ni l'un ni l'autre n'est a double-clic. - En avant, la fenêtre tombe et se déploie dans la fente pendant que les transactions un plie et s'élève derrière. Les deux courent sur la courbe du dock de 340 ms, puis a fleur de l'ombre et un balayage léger marquent l'arrivée. Passage d'une bande le soulève et en découvre un peu plus. Une fenêtre née derrière des yeux vers l'arrière la rangée en avant; un né en avant s'élève du bord inférieur, opaque. - Un mouvement réduit maintient les rangées et l'ombrage et laisse tomber tout mouvement. - Les coutures redimensionnées ne sont qu'à la tête. La couture de hauteur s'arrête là où le plus en arrière bande rencontre la marge supérieure et annonce ce plafond. Trouvé sur le chemin, et fixé: le quai rendu les fenêtres dans l'ordre du magasin, donc n'importe quel réordonné (y compris la réordonnée-réaction, avant ce changement) éléments autour du document. Un élément déplacé perd l'état DOM: un log-boîte défilée à 300 est revenu à 0, un élément de jeu de média est en pause, et la transition porter une fenêtre jusqu'à son nouveau créneau est largué. ToolDock rend désormais les fenêtres dans l'ordre de création, qui est sûr parce que chaque fenêtre est fixée à sa propre à niveau peint. Vérifié en chrome réel avec toute la dock sur des corps de fenêtres éteintes: 64 les contrôles mesurés. Ils couvrent les rangées, les clips et les essais de frappe, les corps inertes et les barres de défilement, la mise au point, le survol, les deux directions d'échange, le clavier, les boutons de bande, la hauteur donne-et-take, la traînée à partir d'une bande, le mouvement réduit, maximise et restaure, refluage de la bande de vue, chute au-delà de la rangée avant, plafond de la couture et conservé des positions de défilement, plus des criblage en temps réel de chaque transition. Les nouveaux tests unitaires et fournisseurs couvrent la configuration, les réordonnées, l'empilage, la coque et le quai.

  9. · kamo-marketing

    Sept ensembles de liens qui correspondent au nav, et les carrières vont au site des carrières

    Le bas de page répertorie maintenant les caractéristiques, les services, les prix, l'entreprise, les ressources, Solutions et juridiques, dans cet ordre. C'est le top nav les cinq quinquies plus les deux qu'il niche sous Ressources, et chaque ensemble détient le Liens de nav sous les étiquettes de la nav. Les étiquettes proviennent du 'nav' espace de noms, qui est traduit dans chaque local, donc cela n'ajoute aucune copie. Les traductions du pied de page étaient de toute façon la clé identique pour la clé. Deux liens n'existent qu'en bas: regarder le film sous les caractéristiques, et le Cookie Bouton de réglages sous Legal. Le produit était l'ancien titre et a disparu. La tarification et les solutions obtiennent des ensembles qui leur sont propres, et la loi ne s'enroule plus seuls sur une deuxième rangée. Carrières est https://careers.kamocrm.com/ partout il apparaît: la nav's Menu d'entreprise (ordinateur de bureau et mobile), le pied de page, la carte de la page de l'entreprise et le plan du site. L'URL vit dans app/lib/careers-site.ts. /careers est maintenant un redirection permanente là, comme /vs, donc les résultats de recherche, les signets et les liens extérieurs atteignent également les rôles ouverts. La page marketing qu'elle remplace a déclaré qu'il n'y avait pas d'ouvertures alors que le site de carrière en liste un. La page, son composant client, sa présentation et son image OG sont supprimés. L'itinéraire est à l'écart du sitemap (SITEMAP-EXCLUDED, avec la raison), hors page-vue contre-pouvoir (Mesures-marques-roi-radus) et des pages de chasse, parce qu'a une étape ne peut pas se cacher sur une page qui redirige le site. Les cueillettes de chasse pages par index modulo la liste, donc les pages d'étape d'aujourd'hui reboursent une fois sur déployer, comme lors d'un retournement de jour. Le lien n'est pas réhéméré par locataire la façon dont les liens sont enregistrés./login. Seul www.kamocrm.com sert ce site aujourd'hui. Cinq des huit locataires Les domaines que j'ai vérifiés n'ont pas de carrière. DNS du tout, donc les carrières. être un lien mort sur eux. Dissimulation: le pied de page utilise la largeur pleine au lieu de la colonne 1280px, et la ligne de marque (logo et slogan, icônes sociales et téléphone) se trouve au-dessus du ensembles. Les ensembles sont 2 colonnes sur un téléphone, 3 à partir de sm, 4 dem et une ligne de 7 à partir de xl. Les titres et les étiquettes peuvent s'effondrer à l'intérieur d'un mot. Une traduction le mot peut être plus large qu'une colonne de 149px (de "Dienstleistungen", "Anwendungsentwicklung"), et sans "max-w-plexe" un lien de bloc en ligne atteint son mot le plus long et passe devant la colonne. Vérifié par la page en cours d'exécution, pas la source. On /en/about enchaînés, et chaque lien se résout avec son itinéraire /en, sauf Carrières, qui est https://careers.kamocrm.com/. Clics réels sur Carrières en la liste déroulante de l'entreprise de bureau, le menu mobile et le pied de page naviguent chacun à https://careers.kamocrm.com/.. /en/careers et /de/carrières répondent 308 à et/les carrières passent par /en/carrières. J'ai mesuré chaque colonne à 390, 768, 1024, 1280, 1440, 1920 et 2560px en, à 390, 768 et 1280 in de, ru et fr, et à 768 et 1280 en ta: aucun élément ne déborde sa colonne et il n'y a pas de défilement de page horizontale. check-i18n-keys a été testée en cas de mutation contre la nouveau bas de page (une clé de la fausse nav qui le fait échoue). test de npm, tri, tsc et npm run build (avec ses gardes avant et post-construction) sont propres.

  10. · kamo-internal

    Campagnes de goutte-à-goutte sur /marketing/email - triggers, un constructeur visuel, des personnes et des performances

    /marketing/email reçoit un commutateur Broadcasts / Drips (?view-drips). La vue des gouttes énumère chaque goutte-à-goutte comme un goutte-à-goutte carte avec son déclencheur, sa séquence et son nombre en direct, les KPI et les onglets d'état, la recherche et le tri, et commence un nouveau goutte-à-goutte en blanc ou à partir de dix recettes (venez chez vous de nouvelles pistes, salutations d'anniversaire, rencontrez votre nouvel agent, revenez introduction, entretien du statut, réengagement des non-ouvertures, suivi du lien cliqué, membre de l'équipe et membre l'intégration, et plus encore). /marketing/email/drip est le constructeur: - Déclencheur : un nouveau plomb (en main, importé, intégrations; marchés, vendeurs, produits), un statut ou le changement de sous-état de compte ou vers une réaffectation, une réclamation de crédit ou de l'annulation, des anniversaires et des anniversaires, un compte membre de l'équipe ou membre créé, un e-mail de campagne envoyé / ouvert / liant cliqué, pas d'engagement avec une campagne après N jours, en terminant un autre goutte-à-goutte, ou des gens ajoutés à la main. - Courriels sur une toile : ajouter, dupliquer, faire glisser pour réordonner, attendre avant chacun (minutes à des semaines, à partir du e-mail avant lui), une fenêtre d'envoi par e-mail ou pour le goutte-à-goutte (jours, heures, le contact ou le l'heure de l'organisation), et une condition (uniquement si le courriel précédent a été ou n'a pas été ouvert ou cliqué, sinon sautez-le ou laissez le goutte-à-goutte). - Paramètres : De et Répondre - Exercice exactement à une campagne (les sélectionneurs partagés), le modèle de signature, qui peut rejoignez la jonction (une fois, après avoir quitté un délai de recharge, ou redémarrer), et quand les gens partent (un changement de statut, une réaffectation, un clic). - Une bande de préparation, Save (Ctrl/Cmd-S), Activation avec une rafale, Pause, Archive, Duppliate, Delete; non sauvegardée les édictions sont gardées et le changement d'un collègue arrive en direct. - Les gens: qui sont dans le goutte-à-goutte, où ils sont et quand leur prochain e-mail va, la chronologie de chaque personne, ajouter les gens à la main, enlèvent quelqu'un. Performance: reliure / en cours / terminé / gauche, un entonnoir d'e-mail, et l'activité vivante. Un nouveau goutte-à-goutte, en blanc ou à partir d'une recette, n'est pas créé jusqu'à sa première épargne, comme avec une nouvelle campagne, donc chaque e-mail est stocké avec le modèle et le pied de page de conformité. Modèle et en-tête de l'éditeur de campagne Le contexte est passé à l'utilisationCampaignEmailTemplate, partagé avec le constructeur (sauver des corps et des demandes Comparaison identique avant et après). CountUp écrit maintenant une première cible de 0 au lieu d'un tiret. EmailService dessert /api/email/drips et "drip" sur le sujet des campagnes; l'anglais est dans le Dictionnaire.

  11. · kamo-marketing

    Chaque page montre combien de fois elle a été consultée

    Un compteur de vue se trouve maintenant au pied de chaque page, dans la rangée du bas de page du bas de page à côté de Sitemap et Back to top: un œil dont l'iris est l'hexagone du site, et la figure sur les virages du compteur dans les propres chiffres du lecteur (Bengali, Arabe, Groupement hindi). La première fois que la pilule est à l'écran, les bobines se tordent place de la gauche, et quand cette visite était celle qui vient de compter la dernière la bobine se retourne d'une seule fois en -1 la quitte. Le pointage ou le clavier ouvre une carte avec la figure et ce qu'elle mesure; un robinet l'ouvre au toucher; un clic fait tourner les bobines à nouveau. Le mouvement réduit obtient le chiffre et la carte, et Rien qui circule. Il ne coûte rien de payer sur le page: - Rien à propos d'une vue n'est lu pendant qu'une page rend. Chaque itinéraire est toujours pré-rendu (routes statiques de contrôle: 247, sentinelles intactes); le HTML porte un espace réservé, de sorte que le swap ne déplace pas la ligne. - Le nombre est un POST par le biais de la file d'attente d'inactivité partagée, après que la page a Charge, et il compte et répond dans la même demande. Un lecteur qui part avant que le créneau ne marche toujours compte: pagehide et navigation dans le site envoyer un la balise pour une vue indentée. - Les bobines, leur mouvement et leur feuille de style sont un morceau séparé, récupéré uniquement lorsque le pied de page arrive à 800px de l'écran. - "Pas de chiffre" répond 200 avec des vues nulles, jamais 404 ou 503, donc un KBService redémarrer ne peut pas mettre une erreur de console sur chaque page. Lorsqu'une vue compte - un article de base de connaissances compte sur l'article, par guid, de sorte que le chiffre fait partie des données de l'article dans KBService et le suit en renommant et bouge; toutes les autres pages comptent sur son chemin sans la localisation, ainsi /en/pricing et /fr/primcing un chiffre. Un chemin ne compte que si ce site le desservait: l'itinéraire existe et son limace nomme un vrai concurrent, terme glossaire, service, billet de blog, publié article (sur son chemin canonique) ou entrée de changelog. Chipants, dépliants de liaison, les audits et le pilote web sont représentés le chiffre sans y ajouter, et le même Un navigateur envoyant la même page deux fois dans cinq secondes est une vue. Chaque compteur part d'un chiffre compris entre 312,384 et 1 200,384 lorsque son ligne est créée, placée par la priorité sitemap de la page de base de sorte que la page d'accueil commence élevée et une entrée de change inférieure. Les priorités en ligne du sitemap sont passées SITEMAP-PRIORITY de sorte que les deux lisent une liste; kb-sections.ts remplace les deux exemplaires de la vérification KB-SECTIONS, sinon le compteur en aurait fait trois. La rangée du bas de page empile la marque en place sous la ligne de droits d'auteur: avec le compteur ajouté, les trois côtés ne s'adaptent plus à 1440px. check-page-views.ts (prébuild et test) échoue dans la construction lorsqu'une route dynamique est pas dans les routes, lorsqu'une disposition ou le bascule s'arrête de monter le comptoir, ou alors que tout ce qui va à l'encontre de son servomoteur importe le résolveur. Prouvé par la suppression une entrée de route, le monte et l'invention d'une entrée périssée: chacun échoue. Besoins KBService 167981e (les critères d'évaluation /internes/page-views) et le dictionnaire footer.pageViews (5909948c); jusqu'à ce que KBService soit en direct La pilule n'apparaît tout simplement pas.

  12. · KBService

    Compter les pages vues du site de marketing, sur l'article ou sur la page

    KBService répond maintenant au tableau de bord du compteur de vue kamo-marketing en cliquant sur le tableau de chaque page. Deux critères d'évaluation, les deux "views" : n' avec la vue à juste titre y compris : POST : « importance, dénombrer » POST /internal/pages/pages 'chemin, importance, comptez Un article de base de connaissances est sur l'article lui-même (KB-ARTICLE-VIEWS, par uid), donc son comptage le suit à travers des renommes et se déplace en /kb; le guid doit nom d'un article publié, public, par la même règle, l'article du public les critères d'évaluation de l'utilisation. Toutes les autres pages comptent sur son chemin sous le préfixe local (MARKETING-PAGE-VIEWS). Chaque écriture est un upsert natif avec la lecture totale Retour dans la même transaction, rejugée sur un conflit de Yugabyte. Sous /interne, non /api/kb/public: APIService transmet l'ensemble de /api/kb/ api.kamocrm.com et la chaîne de sécurité de ce service permet tout, donc a le comptage du point d'extrémité, il y aurait une boucle publique à distance de n'importe quelle figure. Le un nouveau service InternalAuthpâts nécessite X-Internal-Auth (mlos-internal-auth, maintenant monté éventuellement) sur l'ensemble du préfixe interne, décidé sur le chemin de servlet décodé, et répond à 503 plutôt qu'à s'ouvrir lorsque le secret manque. Le Le gestionnaire de route du site de commercialisation est le seul appelant et prend toutes les décisions sur ce qui compte: pages réelles seulement, les robots montrent la figure sans ajouter à lui, une répétition à partir d'un navigateur à l'intérieur de cinq secondes comptée une fois. La figure de départ d'un compteur est tracée une fois, lorsque sa rangée est créée, entre 312 384 et 1 200 384. L'appelant transmet une importance de 0 à 1 (la page sitemap priorité) et PageViewSeed place le tirage au sort dans une bande autour, donc le la page d'accueil commence haut et une entrée de change est faible; les extrêmes atterrissent exactement sur la gamme se termine sans serrage. La graine est stockée à part du décompte. Les vues, donc le vrai trafic reste lisible. Les rangées apparaissent à la première demande; count-faux crée un sans compter, pour les chenilles et pour l'ensemencement. create-page-views.sql est la DDL, appliquée à la tête à la base de données en direct avant cette poussée et l'appariement de ce que Hibernate génère pour la bibliothèque partagée entités (contrôlées aux 6.2 et 6.5). La ConfigMap gagne interne.auth.secret, Il en va de même pour la copie de la demande de prise. 23 nouveaux essais: la gamme de semences et les bandes, les chemins canoniques et les guidés, qui une vue s'exécute, et les points d'extrémité à travers le filtre réel (pas de secret, un mauvais secret, un secret intact, un mauvais chemin, un article inconnu). Retirer le filtre le contrôle de préfixe et l'inversion du drapeau de comptage les rendent chacun rouge.

  13. · kamo-shared-library

    Compteurs de pages pour le site de commercialisation

    Deux tableaux derrière le nombre de vues kamo-marketing montrent maintenant au pied de chaque page, écrite par les points d'extrémité /internal/views de KBService. KbArticleView (KB-ARTICLE-VIEWS) compte des points de vue d'un article de base de connaissances sur l'ARTICLE, saisi de son uid, de sorte que le compte fait partie de l'article et suit lorsqu'il est renommé ou déplacé en /kb. C'est une table qui lui est propre plutôt qu'une colonne sur KB-ARTICLES: la ligne de l'article est sauvegardée entière par JPA, donc un compteur sur il serait lu lorsqu'un éditeur ouvrirait l'article et serait écrit lorsqu'il Sauvegarder, éliminer chaque vue entre les deux. Les cascades-clés étrangères dans le base de données, parce que KbArticle ne cartographie pas cette ligne et une suppression Hibernate d'un Un article y manquerait autrement. MarketingPageView (MARKETING-PAGE-VIEWS) compte toutes les autres pages sur son chemin au-dessous du préfixe local, ainsi /en/prix et /fr/prix partagé un compte. Les deux gardent SURE et COUNT, la figure de départ d'une ligne est créée avec, en dehors de VOIR-COUNT, les points de vue ont effectivement compté; la page montre leur somme, et réel le trafic reste lisible à partir du tableau. Les référentiels ne révèlent que les trois déclarations dont un point de vue a besoin: un natif upsert qui compte, un qui graine sans compter, et le total, lu après l'écriture dans la même transaction. Pas d'enregistrement(): un compteur chargé, incrémenté et sauvés le dos perd des vues concurrentes. Enregistrée hors ligne: une usine de session construite sur les onze entités de la KB plus ceux de Hibernate 6.2.13 (KBService, et les autres services d'amorçage 3.1) et 6.5.3 (Boot 3.3), et le schéma qu'il écrit correspond à la DDL appliquée par main, y compris sur le CASCADE DE DELETE. ddl-auto n'est rien partout mais le initialiseur, donc aucun autre service ne touche les tables.

  14. · kamo-internal

    Le logo Lifestyle, un quatrième logo par marque et le filigrane de fond par défaut

    Behavior and Labeling gagne une fente de style de vie à côté du logo complet, du logo simple et de l'icône de l'onglet, à la fois dans les lignes de l'entreprise et du logiciel (label blanc). Il prend des illustrations de pixels et des vecteurs: un SVG ou un ster est conservé exactement comme choisi, un EPS/AI/PDF est converti sur la voie (aucun navigateur ne peut dessiner one), et une trame offre "Convert to vector", qui ouvre le partage ImageToSVGConverter uniquement lorsque le Un membre demande. Comme l'icône de l'onglet, chaque emplacement a un commutateur (un téléchargement l'allure aussi, côté serveur) et un une légende qui dit ce qu'une surface de style de vie va en fait tirer, de la forme non sauvée. Le logo du style de vie est par défaut du logo complet lorsqu'il n'est pas défini. Pour chaque marque, resolveLogoVariant en theme/brand.ts est la chaîne: le logo du style de vie du logiciel lorsqu'il est utilisé, sinon le logo complet du logiciel quand il emporte le logo de l'entreprise, d'autre part, le logo de l'entreprise, lorsqu'il est utilisé, sinon le logo complet de l'entreprise. lifestyleLogo.ts indique la même chaîne que les légendes; un test passe dans les deux dans l'ensemble des 32 états de forme. Le filigrane offre d'abord le logo de style de vie, et c'est la valeur par défaut: la résolution des valeurs nulles et inconnues à LIFESTYLE, qui tire le logo complet jusqu'à l'existence d'un logo de style de vie, donc pas de changement de filigrane d'org jusqu'à ce qu'il en télécharge un. Chaque endroit qui peint le filigrane (BackgroundWatermark, Backdrop, l'erreur et pages non trouvées) passe maintenant par resolveWatermarkVariant / watermarkLogoFile. - /réseau/création: un groupe de logos de style de vie avec la même prise, téléchargé après l'existence de l'orge que type-style de vie; le filigrane offre d'abord Lifestyle et la forme est par défaut. - Assistant de configuration : Logos obtient des créneaux de style de vie de marque blanche (en montrant le mode de vie en direct lorsqu'il est utilisé), Les arrière-plans offrent le filigrane Lifestyle, et les orgDetails résolvent la même manière par défaut. - Le schéma de l'itinéraire de l'organisation lit bgWatermark comme une corde ordinaire. Il .parse()s, donc le vieux ["NON", "FULL", "SIMPLE" enum aurait jeté sur l'ensemble de l'enregistrement d'une ligne LIFESTYLE; Organization.from JSON résout plutôt des valeurs inconnues. Les quatre domaines du mode de vie passent le record de l'ordre public par OrgContext, et DynamicMetaLoader keeps - de config.json. Besoignant kamo-shared-library f22a867d et types de téléchargement de services de sécurité (poussés en premier), et clés du dictionnaire (poussées en premier, dans chaque local).

  15. · SecurityService

    Téléchargements de logos de style de vie, clés config.json et filigrane LIFESTYLE

    Le logo du style de vie est un quatrième logo par marque (compagnie et marque blanche), le rendu décoratif Le filigrane de fond tire maintenant par défaut. Son repli est le logo complet. - le upload-logo prend le type de vie et le type de logiciel de style de vie. Le fichier conserve son extension réelle (L'illustration photographique est la bienvenue, le traçage d'une trame est le choix du membre à l'heure de téléchargement) sous - la colonne ext l'enregistre, et le téléchargement active le logo, sur le contrat de l'icône de l'onglet. Une trame est également reflétée sous le nom .svg comme un stand-in, comme le plein des logos, donc une surface qui n'a pas lu l'extension montre toujours la propre œuvre d'art de l'orge. - config.json noms logoLifestyleExt / logoLifestyleSoftwareExt uniquement pendant l'utilisation de ce logo (combiné ET allumé); en l'absence, le logo complet se trouve. - La charge utile de création maintient bgWatermark LIFESTYLE au lieu de la laisser tomber nulle. Ajouter les quatre colonnes annulables. Appliqué à la main en direct cluster sur 2026-09-16, avant le changement d'entité de la kamo-shared-library a été poussé.

  16. · kamo-shared-library

    Colonnes de logo de style de vie, et LIFESTYLE en tant que filigrane par défaut

    Le logo du style de vie est une quatrième pièce d'œuvre d'art de marque par marque, à côté du logo complet, le simple Logo et l'icône de l'onglet: l'ensemble décoratif tire le filigrane du fond par défaut. C'est en forme exactement comme la paire d'icônes d'onglet: logo-lifestyle-ext (et son double logiciel) n'est écrit que par le point d'extrémité de téléchargement du service de sécurité à partir du fichier qu'il stocke, et sert à tel point que l'on existe un marqueur; L'interrupteur à côté de l'alumidité est l'interrupteur à côté. PUT /org/-id- peut patcher les deux commutateurs, jamais extensions. bg-watermark documente maintenant LIFESTYLE, auquel chaque client résout null. C'est le logo complet pour tant qu'une org n'a pas de logo de style de vie en service, donc personne ne voit de changements jusqu'à ce que l'on soit téléchargé. Les quatre colonnes proviennent de l'A appliqués à la main brouillon en direct avant cette poussée: tout service Java construit après qu'il les SELECT les sur chaque lisse.

  17. · EmailService

    Campagnes d'arrache-goutte

    Un goutte-à-goutte est une séquence automatisée d'e-mails qu'une personne entre quand quelque chose se produit: un plomb arrive (à main, importé ou à partir d'une intégration), un lead's changement de statut ou de sous-état d'avancement, un plomb est réaffecté ou réclamé avec un crédit, a L'anniversaire ou l'anniversaire de l'appel d'orchestre arrive, un compte membre de l'équipe ou un compte membre est créé, un e-mail de campagne est envoyé, ouvert, cliqué ou reste sans réponse, quelqu'un termine un goutte-à-goutte, ou un membre les ajoute à la main. Chaque e-mail a son propre attendre, envoyer la fenêtre (dans l'ordonnance ou le fuseau horaire du contact) et condition sur comme l'a fait l'e-mail précédent. Envoi. Un courriel glissant est mis en file d'attente sur une campagne d'édition cachée par (étape, cycle) Par le biais de - donc ça s'éteint exactement comme la campagne courrier: les contrôles de l'opt-out et de l'éligibilité, les hôtes du livreur de main, l'échauffement et l'envoi Window, DKIM, suivi, désabonnement, rebondissent et boîte de table ronde. Les éditions sont laissés de côté de la liste des campagnes, l'instantané, le widget à domicile et les progrès et les cadres d'engagement, et les critères de campagne répondent à 404 pour un. Moteur (goutte-à-goutte/dripEngine): tous les 5 s sur son propre fil sous location e-mail-drip-moteur, il draine les e-mails-drip-triggers (sortie d'abord, puis les inscriptions), balaye les anniversaires et les anniversaires une fois par jour ougo-local, et déplace chaque personne due sur: attende compte à partir du moment où le courriel précédent était effectivement envoyé, un rebond ou un opt-out met fin à l'exécution, une personne est relue avant chaque e-mail (jetons de fusion: premier nom, agent-nom, marché et autres), et une course finale laisse les gouttes enchaînées commencer. La rentrée est, à nouveau après la fin de la période (avec un refroidir) ou redémarrer; les règles de sortie prennent les gens sur un changement de statut, a réaffectation ou clic sur un lien de goutte-à-goutte. API: /api/email/drips (liste, options, CRUD, active, pause, archive, unarchive, duplicata, des personnes, inscription manuelle, éloignement, calendriers, activités), VEW-BULK-EMAIL à lire et à utiliser pour changer. Entité: type "goutte-à-goutte" des cadres sur le thème des campagnes, coalescés par seconde. Les envois de campagne, les premiers ouvertures et les clics de lien (maintenant avec l'URL) sont remis à DripTrigerRecorder de la bibliothèque kimo-sacroyée. Les tableaux et les colonnes d'édition étaient appliqué à la main - avant cela.

  18. · SecurityService

    Un plomb importé est enregistré en tant qu'importation

    LeadImportController a créé chaque ligne avec le double argument createLead, donc a L'histoire de plomb dit source API avec personne agissant, exactement comme celui envoyé en par l'intermédiaire de l'API d'admission du fournisseur. Rien ne peut dire une importation d'une intégration, et des campagnes au goutte-à-goutte qui commencent sur "une nouvelle arrivée de plomb" offrent le choix entre des pistes ajoutées à la main, importées ou à partir d'intégrations. Les rangées sont maintenant créées avec la source IMPORT. Construit contre kamo-shared-library b5b56d6d, dont l'histoire principale est également à la tête de file, de nouveaux changements de statut, des réaffectations, les créances sur le crédit et les nouveaux comptes de membres au moteur goutte-à-goutte.

  19. · kamo-internal

    Le réparti de la campagne est un choix - NoReply, e-mail du membre ou Custom, NoReply par défaut

    Le texte libre Reply-To under the From devient CampaignReplyToPicker, trois choix que chacun dit où les réponses atterrissent: - NoReply (par défaut) : NoReply - la campagne From domain, par ex. NoReply.hello.kamocrm.com, "qui ne reçoit pas e-mail" - Courrier électronique du membre : l'édition par le membre, indiquée par adresse. Une campagne dont les réponses vont déjà à un coéquipier montrer le coéquipier jusqu'à ce que quelqu'un choisisse à nouveau l'option. Un membre qui n'a pas reçu d'e-mail sur son profil ne peut pas le choisir. - Custom: une case cochée au fur et à mesure de son dactylographie, la manière dont EmailService le vérifie. La logique est - lire une campagne (l'une d'avant le choix est Custom quand il a un adresse, NoReply quand ce n'est pas le cas), sélectionner, afficher l'adresse, et construire les champs de sauvegarde (répondre To, replyToMode, répondToMemberId). Une adresse personnalisée inachevée freine Save et apparaît dans la liste de contrôle d'envoi. L'aperçu montre la réponse au destinataire sera reçue.

  20. · kamo-shared-library

    Déclenchement de la campagne d'ondulation, enregistrés où les pistes et les membres changent

    Les campagnes de goutte-à-goutte commencent quand quelque chose arrive dans le CRM, donc les endroits qui changer les pistes et les membres remettent maintenant ces événements au moteur goutte-à-goutte d'EmailService: - LeadHistoryService: un plomb créé (avec la façon dont il est arrivé: à la main, importé, ou à partir d'une intégration ou d'une forme), un statut ou un changement de sous-état avec les deux et une réaffectation d'un membre de l'équipe à un autre. - - un chef de réserve revendiqué en dépensant une le crédit (payé ou gratuit), qui n'enregistre pas d'antécédents principaux. - MemberService: création d'un compte membre ou membre de l'équipe. Le rétroviseur de la plate-forme rang n'est pas un nouveau membre de l'organisme de fournisseur et ne commence rien. DripTriggerRecorder les écrit à - que le les vidanges du moteur. Il n'écrit que pour un gis dont les gouttes ACTIVEs écoutent ce genre (règle de déclenchement ou de sortie, lire au plus toutes les années 30), main après la cause transaction s'engage, et écrit sur son propre fil et connexion, donc une avance l'écriture ne peut jamais échouer ou revenir en arrière à cause d'un goutte-à-goutte. Un plomb créé Vid (un test lead ou un duplicata) n'est pas quelqu'un à accueillir. EmailCampaignEntity maps drip-id, drip-step-id et goutte-rip-cycle: un e-mail goutte-à-goutte envoie à travers une campagne d'édition cachée par (étape, cycle), de sorte qu'il garde chaque l'envoi d'une garantie par une campagne. Les colonnes et les tableaux ont été appliqués à la main avant cet engagement (e-mail service

  21. · kamo-marketing

    Ouvert sur mensuels et vente de durée d'un et de 3 ans en tant que verrouillage à la date d'aujourd'hui

    La plupart des acheteurs viennent comparer ce qu'ils paieraient sans engagement, donc La bande de planification, le plan de la page d'accueil,/calculateur et la balisage du produit est toujours ouverte sur le même terme ensemble. Les conditions plus longues sont ce que le rail vend à partir de là: un taux par siège inférieur, bloqué à le prix d'aujourd'hui pour l'ensemble du terme. - Le sourcil du rail se lit comme suit : "Le soquet d'aujourd'hui pendant 1 ou 3 ans", et un La phrase dans le cadre du rail dit ce que fait le terme choisi: mensuel n'a pas engagement; prix annuel de 3 ans et 3 ans d'aujourd'hui pour 12 mois ou 3 années, même si nos prix augmentent. Les trois notes partagent une maille de grille, donc choisir un terme ne déplace jamais les cartes ci-dessous, dans n'importe quelle langue (mesuré en, de et ja). Les deux lignes sont équilibrées, donc un téléphone n'enclenche jamais un mot. - Lignes à terme pour cartes et calculatrices avec "Taux verrouillés pendant N mois". - Sur le mensuel, la ligne sauvegardée de la carte tombe "au-dessus du terme", qui en un seul. Le mois n'a répété que le chiffre mensuel à côté. - La bande de la page d'accueil a sous-titré son prix "par siège sur la période d'un mois d'année", qui, le mois, se lirait comme un mandat de 0,083 an; il est maintenant dit facturé mensuelle, avec l'écluse de 1 et 3 ans à côté. - /la description de la demande de recherche désigne le prix de trois ans comme un verrouillage, et les points de page de l'offre périmées au même point. les offres de contrôle ont supporté le défaut de trois ans (49, 32,83 dollars). Il s'enfonce maintenant mensuel (69, 46,23), donc un changement silencieux de défaut échoue toujours dans la construction. L'exemplaire est en dictionnaire kamo-traduction-diction, écrit à la main dans l'ensemble des 20 traduction des locaux. La même poussée restaure 340 valeurs de synchronisation d'aujourd'hui brisée. qui avait échoué à la garde de la copie avant la construction de ce repo pour chaque construction depuis.

  22. · EmailService

    Les réponses d'une campagne vont à NoReply, le courrier électronique du membre, ou une adresse personnalisée.

    La réponse de l'éditeur devient trois choix (CampaignReplyTo), conservés dans la colonne de la réponse existante. Pas de DDL. - NON- RÉPÉtré (pilier vide, par défaut): Réponse à: NoReply - le domaine From, orthographié par NoReplySenderService comme toutes les autres adresses NoReply. Le destinataire voit avant d'écrire que personne ne le lit, et postfix-k3m1-inbound refuse ce qui y est envoyé. - MEMBRE (membre: id-id): le courrier électronique du membre qui l'a choisi, a levé les yeux lorsque chaque message est composé (CampaignReplyToMembers, tenu cinq minutes), donc une adresse modifiée est suivie. Un membre sans envoi de courrier électronique tombe Retour à NoReply plutôt que de nommer une adresse que personne ne reçoit. - CUSTOM (une adresse): vérifiée à l'exception, à nu et avec un domaine en pointillés; tout autre chose est un 400 dictent pourquoi. Les sauvegardes portent la réponseToMode et la réponseToMemberId. Les réponses peuvent aller à l'épargne du membre, ou rester avec le membre déjà choisi quand un coéquipier sauve, mais jamais à un autre membre choisi par id. Un éditeur d'avant l'envoi du choix Seule une adresse: une adresse est PERSONOM, aucune n'est NO-REPLY. Le modèle de lecture de la campagne ajoute replyToMode et replyToMemberId, et répondTo devient l'adresse indiquée par l'éditeur (l'adresse personnalisée ou le courrier électronique du membre).

  23. · kamo-internal

    Les hôtes de messagerie électronique sortants montrent les relais en vrac comme les serveurs récepteurs les voient

    Une carte "Réglaises en masse" au-dessus des hôtes de la plate-forme: le relais partagé des domaines d'envoi de chaque organisation par l'intermédiaire (contact.kamocrm.com, 47.181.8.86) et la propre organisation de la plate-forme (hello.kamocrm.com, 47.181.887. - Faits : à partir duquel le courrier de chaque relais, où EmailService l'atteint dans le groupe, et pour le partage relayer si son signe est configuré et combien de domaines vérifiés l'envoient à travers lui. - Vérifications, à droite, différentes, manquantes ou non auxquelles il a été répondu: l'adresse du nom (A), sa politique d'expéditeur (SPF); où vont les rebonds (MX, qui pour le relais partagé doit revenir à sa propre adresse), l'inverse de l'adresse DNS (PTR) et la clé de signature du relais de la plate-forme (DKIM). Un enregistrement qui n'est pas juste montre ce qu'il devrait être à côté ce que le DNS a. - Le DNS inversé dit qu'il est fixé par le fournisseur d'accès qui possède l'adresse, donc personne ne le cherche au DNS hôte. Une recherche qui n'a pas reçu de réponse est "Ne pas vérifier", jamais "mauvais". - Lire à partir de GET - quand l'onglet s'ouvre et sur "Vaincher maintenant". Ce n'est jamais Sondage, un re-contrôle raté garde ce qui est à l'écran, et sans MANAGE-OUTBOUND-EMAIL-HOSTS, il ne rend rien.

  24. · KlusterServices

    Les rebonds pour les domaines d'envoi des organisations parviennent à EmailService par l'intermédiaire de postfix-k3m1-inbound

    Une campagne envoyée par l'intermédiaire du relais partagé a son domaine d'envoi From of the organization comme enveloppe l'expéditeur, et ce domaine est un CNAME à contacter.kamocrm.com, dont MX est 47.1811,8,86 x ce groupe. Donc a recevoir un serveur acceptant un message et n'a pas pu le délivrer après que tout a écrit son rapport de livraison Ici, et jusqu'à présent, il a été refusé. - Les domaines d'envoi proviennent d'EmailService (relay-enders?format-domains: VERIFIED et FAILING), lire à l'adresse suivante: commencer et chaque minute. Seuls les noms d'hôtes simples atteignent une table, et une recherche sans réponse garde la dernière liste. - Chaque domaine prend uniquement l'émetteur nul, c'est-à-dire les rebonds et les serveurs qui vérifient l'existence de l'adresse. Toute personne d'autre v. L'on obtienne 550 "Cette adresse envoie un e-mail mais ne le reçoit pas". - Ce qui est pris va sur un tuyau "bounces" (la commande principale de la bobine de postfixe, avec sa propre bobine) et une reunces-mail sidecar, le principal unsubscribe-mail.py avec INCLUDE-RAW, le poste unsou de la poste. - - stack.loans, mail.stack.loans et contact.kamocrm.com fonctionnent exactement comme avant, et rien ici n'envoie à l'internet. Testé dans une gousse alpine jetable avec le même script: émetteur nul 250, une personne 550, maître de poste et abus 250, autres domaines et ressemblant à l'apparence 554, un DSN boucillé avec son jeton et la file d'attente vide, un changement de liste appliqué en une minute, et un foutien sans réponse cherche à conserver la dernière liste.

  25. · EmailService

    Les rebonds sur les domaines d'envoi d'orge rentrent à la maison, les envois de test sont signés, et le DNS des relais est lu

    Async rebondit. L'enveloppe d'une campagne est son domaine d'envoi From at the organization, dont MX (par l'intermédiaire du CNAME pour contacter.kamocrm.com) est l'adresse du relais partagé. l'envoi de rapports là-bas et les afficher sur POST - la forme de l'admission de la plainte: DeliveryStatusReport lit un véritable rapport de la RFC 3464 (message/état de livraison) et les jetons dans le message retourné. Un rebond en prose n'est jamais deviné. - BounceMailService enregistre un échec permanent (action: échec, 5.x.x) comme étant BOUNCED sur la ligne du destinataire les noms de jetons, par le chemin d'événement de livraison, les relais utilisent déjà. Un retard, une prise en charge automatique ou un rapport sans que jeton ne change rien, et un rapport de plainte est remis à la plainte. - les réalisateurs de relais?format-domains répertoriaux répertoriaux répertoriaux acceptent les rapports pour lesquels Les essais envoyés à partir des paramètres et l'envoi sont signés par DKIM avec la clé From, exactement comme la campagne le courrier est (DkimSigning, partagé avec CampaignRecipientSender), de sorte qu'un test à travers le relais partagé montre ce qu'a un campagne. Le DNS des relais. Lire et lire (MANAGE-OUTBOUND-EMAIL-HOSTS) pour chaque relais, son nom A enregistrement et SPF, son MX (pour le relais partagé, revenant à sa propre adresse), le DNS inverse de son adresse, et la clé DKIM du relais de la plate-forme. Le résolveur DNS obtient des recherches PTR.

  26. · KlusterServices

    Le nom du relais partagé reçoit ses chèques.

    contact.kamocrm.com est le nom du relais d'org commun (47.181.8.86's PTR, MX contact.kamocrm.com), et son MX est de 47,181,8,86 k3m1, où postfix-k3m1 répond. Les fournisseurs de boîtes aux lettres autorisent l'utilisation d'une propriété intellectuelle par l'intermédiaire de postmaster/abus de son domaine PTR, donc ceux qui sont maintenant au-dessous: postmaster dans la boîte aux lettres du maître de poste, abusif et fbl à l'adresse abuse.hello.kamocrm.com, que le principal facteur est à la source d'EmailService prise avec un exemplaire pour l'état-f. Relance du postfix-k3m1-inbound approuvé par Sage.

  27. · kamo-internal

    Bulk Email obtient Domain Setup et sous-tabings, /marketing/email explique ce qui manque, les campagnes obtiennent un picker From

    Paramètres et adresse électronique et courrier électronique en vrac est maintenant à quatre sous-onglets dans ?sub: Configuration du domaine Délivrabilité. Le membre atterrit sur la configuration du domaine jusqu'à ce qu'un domaine d'envoi soit vérifié et sur l'envoi après. Jusqu'alors, les autres sous-onglets montrent une serrure et restent à la recherche; l'ouverture l'une explique ce qu'il C'est pour, dans quelle mesure le meilleur domaine est venu, et les liens en arrière. Opt Out et la délivrabilité gardent leur (MANAGE-EMAIL-OPT-OUTS ou propriétaire) et déménagez inchangé; l'ancien taux d'opt-out et Les liens de relivrabilité reglissent vers leur sous-onglet, et la carte de menu et de débarquement suivent. Chaque sous-onglet met ses propres mots dans le rail d'aide. Domain Setup est construit pour quelqu'un qui n'a jamais édité DNS: un héros avec les trois étapes et le un sur lequel ils sont (ou "L'e-mail en vrac est prêt à envoyer"), une carte par domaine avec des points d'enregistrement en direct et "Vaincreri il y a 8 secondes - en vérifiant automatiquement", et un flux en ligne add-a-domain (le domaine d'orgeg pré-remplies et eniliés sur flou avec le changement expliqué, en un clic en envoyant des noms, un aperçu en direct, et une recherche débounceuse qui dit pourquoi un nom ne peut pas être utilisé avant Continuer). Configuration d'un domaine (?domaine) montre les étapes du fournisseur DNS détecté, chaque enregistrement en mots simples avec des boutons de copie et son état vivant ("nous voyons X, il devrait être Y", le correctif pour chaque code d'indice), copier tout comme instructions, l'alternative non-CNAME derrière une divulgation, Vérifiez maintenant, Remove (refusé à l'avance) en cours d'utilisation, avec la raison du serveur montré s'il refuse toujours), et un moyen réduit-sensible moment de réussite conduisant à "Choisissez votre adresse From". Tout lit GET - par l'intermédiaire de l'indicateur de mandataire existant et des séjours Vivez - pas de sondage, de re-lectures silencieuses, d'écrits d'adopter le un état entier, et une lecture en échec ou refusé est une erreur ou une note d'accès, jamais une liste vide. /marketing/email: sans campagne et sans domaine vérifié, l'état vide est un exhalateur (pourquoi, trois étapes, "Réaliser mon domaine", ou qui peut le terminer sans MANAGE-EMAIL-SETTINGS); une campagne liste obtient une bannière compacte qui absorbe la ligne sans hôte, et un domaine FAILING est nommé en rouge avec un lien vers sa configuration. Rien ne montre lors du chargement ou sur une lecture ratée. La bannière de l'expéditeur-bloqueur Liens NON-ENDING-DOMAIN et DE DOMAIN-NOT-VERIFIED à la configuration du domaine. L'éditeur de campagne From est un sélecteur: l'expéditeur par défaut, ou une adresse sur un domaine vérifié (partie locale, domaine, à partir du nom), sauvegardé à partir deEmail/fromName; un domaine enregistré sur un domaine non vérifié est mis en garde avec un lien avec sa configuration. settingsMenuTabCoverage apprend «sub» et vérifie chaque sous-onglet lié existe.

  28. · EmailService

    Le courrier de campagne est signé au fur et à mesure, envoyé à partir de son domaine d'envoi vérifié.

    Une campagne peut nommer elle-même From on a vérifiée, sinon elle se présente comme l'expéditeur en nombre brut de l'ordre, qui doit lui-même être sur un domaine vérifié (saveverSender refuse quoi que ce soit d'autre). CampagneDe la sélection du relais par ce domaine, parce que SPF est décidé par l'adresse un relais quitte: un domaine vérifié d'un org uniquement par l'intermédiaire du relais d'org commun (47.181.8.86), le hello.kamocrm.com de KamoCRM uniquement par l'intermédiaire du relais de la plate-forme (47.181.8.87), tout autre hôte pour l'un ou l'autre, et un non vérifié de nulle part. Le libérateur prend le titre d'abord, puis un hôte prêt, sa campagne peut utiliser; une campagne sans qu'il soit attendu pendant que l'organisation d'autres campagnes. Le courrier en tant que domaine vérifié d'une orge est DKIM-signsigned après son dernier sauvetageChanges, la session étant interdite à partir de le convertir en 8 bits en chemin. Nouveaux bloqueurs d'envois NON-DOMAIN et DE DANEMAGNEMENTS. Les rapports de livraison comptent contre l'échauffement du relais de la campagne. La campagne d'envoi de KamoCRM n'est pas affectée: noreply.hello.kamocrm.com est géré par la plate-forme, donc il garde en sortant de .87, et le relais partagé est éteint dans la rotation de KamoCRM.

  29. · EmailService

    L'API de Domain Setup, la carte de l'expéditeur du relais partagé, et un balayage qui confirme les enregistrements en direct

    - OBTENIR l'onglet (VIEW-BULK-EMAIL), GET look up for add form, POST ajouter, POST 'id'/check, DELETE (MANAGE-BULK-EMAIL); chaque réponse d'écriture avec l'onglet entier et un refus donne postfix-orgs son domaine vérifié Carte. La vision d'ensemble en vrac gagne des domaines (prêts, vérifiés, en attente, défaillants) pour la porte. SendingDomainSweep relit le DNS sur la cadence (15 s while a-s quater) sous le titre de bail, sur une fil de discussion propre: chaque tâche programmée ici partage le fil unique de planification de Spring avec le libérateur qui envoie le courrier de campagne chaque seconde, et attendre sur les serveurs de noms là-bas s'effondrerait.

  30. · EmailService

    Envoi de domaines - ajouter un, lire son enregistrement DNS par enregistrement, vérifier, savoir ce qu'une adresse peut faire

    Un domaine émetteur (news.acme.com) est conservé dans le blob combiné de l'orge avec sa clé DKIM. SendingDomainChecker indique ce que les récepteurs verront et SPF évalué pour l'adresse du relais partagé, notre clé à son sélecteur, une politique DMARC dans le domaine ou un parent pour les enregistrements recommandés (un CNAME à contact.kamocrm.com, le DKIM TXT, DMARC) et l'alternative SPF TXT et MX, et nomme les erreurs habituelles: un nom de zone doublé, un Cloudflare CNAME, un nom qui a déjà des enregistrements, un CNAME ailleurs, deux SPF enregistre, trop de recherches, un short timide, une politique mal formée ou héritée, et "vos enregistrements est A droite, le côté de KamoCRM n'est pas encore en vie". SendingDomainService ajoute (nettoyage d'une URL ou d'une adresse collée, refusant kamocrm.com aux locataires), contrôles, supprimer (non s'il s'agit de l'expéditeur par défaut ou d'une campagne active), et déplace le statut: PENDING/FAILING VÉRIFIÉ sur un laissez-passer; VÉCIDÉ ET FAILING seulement après deux échecs à six heures d'intervalle; une panne DNS change Rien. Il répond au chemin d'envoi - ORG-VERIFIED (avec la clé de signature), PLATFORM-MANAGED (hello.kamocrm.com, pour KamoCRM uniquement) ou non VÉTÉ domaines. Modifications publiées

Votre univers vous attend.

Commencez gratuitement en quelques minutes. Ajoutez des produits quand vous êtes prêt. Pas de migration, pas de nouvelles connexions.

Gratuit pour toujours — aucune carte de crédit requise