diff --git a/packages/zendesk-client/src/constants.ts b/packages/zendesk-client/src/constants.ts index 2e5a977a266b1a..8575f281d9b4a3 100644 --- a/packages/zendesk-client/src/constants.ts +++ b/packages/zendesk-client/src/constants.ts @@ -1,4 +1,5 @@ export const SMOOCH_INTEGRATION_ID = '6453b7fc45cea5c267e60fed'; +export const SMOOCH_INTEGRATION_ID_STAGING = '63d2ab28dc6b88010e60f38c'; export const ZENDESK_SOURCE_URL_TICKET_FIELD_ID = 23752099174548; export const ZENDESK_SCRIPT_ID = 'ze-snippet'; export const ZENDESK_SUPPORT_CHAT_KEY = 'cec07bc9-4da6-4dd2-afa7-c7e01ae73584'; diff --git a/packages/zendesk-client/src/use-smooch.ts b/packages/zendesk-client/src/use-smooch.ts index 4280fd75c959ed..b9b33ff1617f15 100644 --- a/packages/zendesk-client/src/use-smooch.ts +++ b/packages/zendesk-client/src/use-smooch.ts @@ -1,7 +1,8 @@ import { recordTracksEvent } from '@automattic/calypso-analytics'; +import config from '@automattic/calypso-config'; import { useCallback, useState } from 'react'; import Smooch from 'smooch'; -import { SMOOCH_INTEGRATION_ID } from './constants'; +import { SMOOCH_INTEGRATION_ID, SMOOCH_INTEGRATION_ID_STAGING } from './constants'; import { UserFields } from './types'; import { useAuthenticateZendeskMessaging } from './use-authenticate-zendesk-messaging'; import { useUpdateZendeskUserFields } from './use-update-zendesk-user-fields'; @@ -51,6 +52,8 @@ const addUnreadCountListener = ( callback: ( unreadCount: number ) => void ) => }; export const useSmooch = () => { + const currentEnvironment = config( 'env_id' ); + const isTestMode = currentEnvironment !== 'production'; const [ init, setInit ] = useState( typeof Smooch.getConversations === 'function' ); const { data: authData } = useAuthenticateZendeskMessaging( true, 'messenger' ); const { isPending: isSubmittingZendeskUserFields, mutateAsync: submitUserFields } = @@ -60,7 +63,7 @@ export const useSmooch = () => { ( ref: HTMLDivElement ) => { if ( authData?.jwt && authData?.externalId && ! init ) { Smooch.init( { - integrationId: SMOOCH_INTEGRATION_ID, + integrationId: isTestMode ? SMOOCH_INTEGRATION_ID_STAGING : SMOOCH_INTEGRATION_ID, embedded: true, externalId: authData?.externalId, jwt: authData?.jwt,