diff --git a/public/scripts/tarteaucitron/lang/tarteaucitron.fr.js b/public/scripts/tarteaucitron/lang/tarteaucitron.fr.js index 961ab3d051..bb6d84b737 100644 --- a/public/scripts/tarteaucitron/lang/tarteaucitron.fr.js +++ b/public/scripts/tarteaucitron/lang/tarteaucitron.fr.js @@ -81,6 +81,7 @@ tarteaucitron.lang = { floodlight: '
Finalité : Les campagnes d’informations gouvernementales permettent le partage d’informations utiles diffusées dans le cadre de grandes campagnes d’information, ou en cas de crise. Dans le détail : le traceur Googletagmanager est utilisé par la régie Floodlight.
Conséquences en cas de refus : En cas de refus, vos visites sur les pages concernés ne sont pas comptabilisés dans les statistiques de suivi de campagne.
Consentement : Oui nécessaire
Durée de conservation : 13 mois
', azerion: 'Finalité : Les campagnes d’informations gouvernementales permettent le partage d’informations utiles diffusées dans le cadre de grandes campagnes d’information, ou en cas de crise. Dans le détail : le traceur Azerion est utilisé par la régie Azerion.
Conséquences en cas de refus : En cas de refus, vos visites sur les pages concernés ne sont pas comptabilisés dans les statistiques de suivi de campagne.
Consentement : Oui nécessaire
Durée de conservation : 13 mois
', tiktok: 'Finalité : Les campagnes d’informations gouvernementales permettent le partage d’informations utiles diffusées dans le cadre de grandes campagnes d’information, ou en cas de crise. Dans le détail : le traceur Tiktok est utilisé par la régie Tiktok.
Conséquences en cas de refus : En cas de refus, vos visites sur les pages concernés ne sont pas comptabilisés dans les statistiques de suivi de campagne.
Consentement : Oui nécessaire
Durée de conservation : 13 mois
', + 'snapchat-custom': 'Finalité : Les campagnes d’informations gouvernementales permettent le partage d’informations utiles diffusées dans le cadre de grandes campagnes d’information, ou en cas de crise. Dans le détail : le traceur Snapchat est utilisé par la régie Snapchat.
Conséquences en cas de refus : En cas de refus, vos visites sur les pages concernés ne sont pas comptabilisés dans les statistiques de suivi de campagne.
Consentement : Oui nécessaire
Durée de conservation : 13 mois
', meta: 'Finalité : Les campagnes d’informations gouvernementales permettent le partage d’informations utiles diffusées dans le cadre de grandes campagnes d’information, ou en cas de crise. Dans le détail : le traceur Facebook est utilisé par la régie Meta.
Conséquences en cas de refus : En cas de refus, vos visites sur les pages concernés ne sont pas comptabilisés dans les statistiques de suivi de campagne.
Consentement : Oui nécessaire
Durée de conservation : 13 mois
', video: { details: 'Les services de partage de vidéo permettent d‘enrichir le site de contenu multimédia et augmentent sa visibilité.', diff --git a/src/client/dependencies.container.ts b/src/client/dependencies.container.ts index d81f3505a6..2230ca1dd7 100644 --- a/src/client/dependencies.container.ts +++ b/src/client/dependencies.container.ts @@ -39,6 +39,7 @@ import { MarketingService } from '~/client/services/marketing/marketing.service' import MetaMarketingService from '~/client/services/marketing/meta/meta.marketing.service'; import { NullMarketingService } from '~/client/services/marketing/null/null.marketing.service'; import SeedtagMarketingService from '~/client/services/marketing/seedtag/seedtag.marketing.service'; +import SnapchatMarketingService from '~/client/services/marketing/snapchat/snapchat.marketing.service'; import TiktokMarketingService from '~/client/services/marketing/TikTok/tiktok.marketing.service'; import { BffAlternanceMetierService } from '~/client/services/metiers/bff.alternance.metier.service'; import { MetierService } from '~/client/services/metiers/metier.service'; @@ -103,6 +104,7 @@ export type Dependencies = { amnetService: MarketingService metaService: MarketingService floodlightService: MarketingService + snapchatService: MarketingService } class DependencyInitException extends Error { @@ -134,6 +136,7 @@ export default function dependenciesContainer(sessionId?: string): Dependencies const seedtagService = new SeedtagMarketingService(cookiesService, googleTagManagerService); const floodlightService = new FloodlightMarketingService(cookiesService, googleTagManagerService); const tiktokService = new TiktokMarketingService(cookiesService); + const snapchatService = new SnapchatMarketingService(cookiesService); const azerionService = new AzerionMarketingService(cookiesService); const amnetService = new AmnetMarketingService(cookiesService); const metaService = new MetaMarketingService(cookiesService); @@ -204,6 +207,7 @@ export default function dependenciesContainer(sessionId?: string): Dependencies rechercheClientService, seedtagService, sessionStorageService, + snapchatService, stage3eEt2deService, stageDeposerOffreEtape1PersistenceService, stageDeposerOffreEtape2PersistenceService, diff --git a/src/client/services/marketing/snapchat/snapchat.marketing.service.ts b/src/client/services/marketing/snapchat/snapchat.marketing.service.ts new file mode 100644 index 0000000000..76db72c33c --- /dev/null +++ b/src/client/services/marketing/snapchat/snapchat.marketing.service.ts @@ -0,0 +1,71 @@ +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-nocheck +import { CookiesService } from '~/client/services/cookies/cookies.service'; +import { TarteAuCitron } from '~/client/services/cookies/tarteaucitron/tarteAuCitron.cookies.service'; + +import { MarketingService } from '../marketing.service'; + +export default class SnapchatMarketingService implements MarketingService { + private static SERVICE_NAME = 'snapchat-custom'; + private ready = false; + + constructor(private readonly cookiesService: CookiesService) { + this.cookiesService.addUser('snapchatId', 'd48efe29-caa9-4f0c-86e8-353fc35a8b3f'); + // eslint-disable-next-line @typescript-eslint/no-this-alias + const service = this; + // eslint-disable-next-line + type ConfigObject = any; + const config: TarteAuCitron.ServiceConfig