Loading
Experience Cloud
Índice de materias
Seleccionar filtros

          No hay resultados
          No hay resultados
          Estas son algunas sugerencias de búsqueda

          Compruebe la ortografía de sus palabras clave.
          Utilice términos de búsqueda más generales.
          Seleccione menos filtros para ampliar su búsqueda.

          Buscar en toda la Ayuda de Salesforce
          Utilizar el código de ejemplo de la API para otorgar insignias de reconocimiento

          Utilizar el código de ejemplo de la API para otorgar insignias de reconocimiento

          Puede utilizar la API para otorgar de forma programática insignias de reconocimiento a miembros del sitio de Experience Cloud.

          Asignar una insignia de reconocimiento y notificar a un miembro mediante Apex

          ID networkID = '0DBB0000000CdBaOAK';
          ID badgeDefintionID = '0W1B0000000ekuJKAQ';
          ID giverID = '005B0000003InDeIAK';
          ID recipientID = '005B000000483dDIAQ';
          String message = 'Welcome to the site';
          
          WorkThanks thanks = new WorkThanks (
          NetworkdID=networkID
          GiverID=giverID,
          Message=message
          );
          insert thanks;
          
          WorkBadge badge = new WorkBadge(
          DefinitionId=badgeDefinitionId,
          NetworkID=networkID
          RecipientId=recipientID,
          SourceId=thanks.id
          );
          insert badge;
          
          // optional: create a Chatter post on the user profile
          // showing the badge. The user will be notified through
          // the standard Chatter notification mechanisms.
          FeedItem feedItem = new FeedItem(
          NetworkScope=networkID,
          ParentId=recipientID,
          RelatedRecordId=thanks.id,
          Body=message,
          Type='RypplePost',
          Visibility='AllUsers'
          );
          insert feedItem;
          
          // Unfortunately, there is a limitation in the WDC API that
          // prevents these 2 lines from working:
          // thanks.FeedItemID = :feedItem.id;
          // update thanks;

          Asignar una insignia de reconocimiento cuando un miembro alcance un número de puntos de reputación

          Para evitar asignar dos veces la misma insignia, se agregó el campo “hasBadge_c” personalizado al objeto del usuario.

          trigger NetworkMemberTrigger on NetworkMember (after update) {
                        for (NetworkMember nm : Trigger.New) {
                             User user = [select ID, hasBadge_c from User where ID = 
          :nm. MemberID]; 
                   If (nm.ReputationPonts >= 40 && !user.hasBadge_c) {
                       WorkThanks thanks = new WorkThanks(
                       GiverId='005B00000036ukY',  
                       Message='inserted by trigger',
                       NetworkId=nm.NetworkId);
                       insert thanks;
          
                      WorkBadge badge = new WorkBadge(
                      DefinitionId='0W1B0000000T1QBKA0',
                      NetworkId=nm.NetworkId,
                      RecipientId=nm.MemberId,
                      SourceId=thanks.id);
                      insert badge;
          
                      user.hasBadge_c = true;
                      update user;
                }  
             }
          }
          

          Agregar automáticamente puntos de reputación cuando se asigne una insignia a un miembro

          Para evitar codificar el número de puntos de reputación que se asignan con la insignia, este ejemplo da por sentado que la entidad WorkBadgeDefinition se personalizó con el campo adicional "ReputationPoints__c".

          trigger WorkBadgeTrigger on WorkBadge (after insert) {
                       for (WorkBadge badge : Trigger.new) {
                           if (badge.DefinitionId == '0W1B0000000T1QBKA0') {
                               WorkBadgeDefinition badgeDefinition = [select Id,
          ReputationPoints_c from WorkBadgeDefinition where Id = 
          :badge.DefinitionId];
                      NetworkMember member = [select Id, ReputationPoints from
          NetworkMember where MemberID = :badge.RecipientId];
                      member.ReputationPoints = member.ReputationPoints + 
          badgeDefinition.ReputationPoints_c;
                      update member;
                }
             }
          }

          Asignar insignia de reconocimiento cuando un miembro crea un número de publicaciones o comentarios

          El objeto ChatterActivity contiene los siguientes campos:

          • CommentCount
          • CommentRecievedCount
          • LikeReceivedCount
          • PostCount

          Estos contadores pueden utilizarse para asignar insignias mediante programación en función de varios umbrales. Por ejemplo, los miembros pueden obtener una insignia cuando creen 100 publicaciones o cuando reciban 100 me gusta.

          trigger ChatterActivityTrigger on ChatterActivity (after update) {
                        for (ChatterActivity ca : Trigger.New) {
                            if (ca.PostCount >= 10) {
                                // TODO: assign badge to user if he hasn't received one already
                }
             }
          }
           
          Cargando
          Salesforce Help | Article