@@ -120,7 +120,9 @@ def identify(self, distinct_id=None, properties=None, context=None, timestamp=No
120120
121121 return self ._enqueue (msg )
122122
123- def capture (self , distinct_id = None , event = None , properties = None , context = None , timestamp = None , message_id = None ):
123+ def capture (
124+ self , distinct_id = None , event = None , properties = None , context = None , timestamp = None , message_id = None , groups = None
125+ ):
124126 properties = properties or {}
125127 context = context or {}
126128 require ("distinct_id" , distinct_id , ID_TYPES )
@@ -136,6 +138,10 @@ def capture(self, distinct_id=None, event=None, properties=None, context=None, t
136138 "messageId" : message_id ,
137139 }
138140
141+ if groups :
142+ require ("groups" , groups , dict )
143+ msg ["properties" ]["$groups" ] = groups
144+
139145 return self ._enqueue (msg )
140146
141147 def set (self , distinct_id = None , properties = None , context = None , timestamp = None , message_id = None ):
@@ -172,6 +178,30 @@ def set_once(self, distinct_id=None, properties=None, context=None, timestamp=No
172178
173179 return self ._enqueue (msg )
174180
181+ def group_identify (
182+ self , group_type = None , group_key = None , properties = None , context = None , timestamp = None , message_id = None
183+ ):
184+ properties = properties or {}
185+ context = context or {}
186+ require ("group_type" , group_type , ID_TYPES )
187+ require ("group_key" , group_key , ID_TYPES )
188+ require ("properties" , properties , dict )
189+
190+ msg = {
191+ "event" : "$groupidentify" ,
192+ "properties" : {
193+ "$group_type" : group_type ,
194+ "$group_key" : group_key ,
195+ "$group_set" : properties ,
196+ },
197+ "distinct_id" : "${}_{}" .format (group_type , group_key ),
198+ "timestamp" : timestamp ,
199+ "context" : context ,
200+ "messageId" : message_id ,
201+ }
202+
203+ return self ._enqueue (msg )
204+
175205 def alias (self , previous_id = None , distinct_id = None , context = None , timestamp = None , message_id = None ):
176206 context = context or {}
177207
0 commit comments