2828
2929# Import from local nylas package
3030from nylas import Client
31- from nylas .models .errors import NylasAPIError
31+ from nylas .models .errors import NylasApiError
3232
3333
3434def get_env_or_exit (var_name : str , required : bool = True ) -> Optional [str ]:
@@ -59,14 +59,14 @@ def create_draft_with_metadata(
5959 print (f"✓ Created draft with ID: { draft .id } " )
6060 print (f" Request ID: { request_id } " )
6161 return draft .id
62- except NylasAPIError as e :
62+ except NylasApiError as e :
6363 print (f"✗ Failed to create draft: { e } " )
6464 sys .exit (1 )
6565
6666
6767def send_message_with_metadata (
6868 client : Client , grant_id : str , metadata : Dict [str , Any ], recipient : str
69- ) -> None :
69+ ) -> str :
7070 """Send a message directly with metadata fields."""
7171 try :
7272 message_request = {
@@ -82,7 +82,9 @@ def send_message_with_metadata(
8282 )
8383 print (f"✓ Sent message with ID: { message .id } " )
8484 print (f" Request ID: { request_id } " )
85- except NylasAPIError as e :
85+
86+ return message .id
87+ except NylasApiError as e :
8688 print (f"✗ Failed to send message: { e } " )
8789 sys .exit (1 )
8890
@@ -115,10 +117,21 @@ def main():
115117
116118 # Send a message with metadata
117119 print ("\n 2. Sending message with metadata..." )
118- send_message_with_metadata (client , grant_id , metadata , recipient )
120+ message_id = send_message_with_metadata (client , grant_id , metadata , recipient )
119121
120122 print ("\n Example completed successfully!" )
121123
124+ # Get the draft and message to demonstrate metadata retrieval
125+ draft = client .drafts .find (identifier = grant_id , draft_id = draft_id )
126+ message = client .messages .find (identifier = grant_id , message_id = message_id )
127+
128+ print ("\n Retrieved Draft Metadata:" )
129+ print ("-------------------------" )
130+ print (draft .data )
131+
132+ print ("\n Retrieved Message Metadata:" )
133+ print ("---------------------------" )
134+ print (message .data )
122135
123136if __name__ == "__main__" :
124137 main ()
0 commit comments