From f625c6199fb9740ebc860b5b5aec52beee040992 Mon Sep 17 00:00:00 2001 From: nalanj <5594+nalanj@users.noreply.github.com> Date: Thu, 5 Dec 2024 13:08:47 -0500 Subject: [PATCH] feat(cli): Take request headers, params, and body into account when saving responses (#3098) **Important: This should merge after an as-yet non-existent change in integration-templates.** When running the cli with --save-responses we currently only take the method and url into account. This PR adds support for recording the response with a request identity into a hash based file. It currently does not support Stream based request bodies (`data`). One major downside of this technique is that the hash based filenames aren't the easiest to read. That said, the data in the files makes it pretty straightforward to see what's going on. See https://linear.app/nango/issue/NAN-1902/fix-integration-unit-test-pagination ## How I tested it - Make sure you're local dev env is set up so that CLI from your `nango` repo works in `integration-templates` - Make sure this code is all built - Run a dry-run. You'll see new requests outputs appear with hash based filenames. ## Format Here's how the resulting cached requests look. They're definitely not perfect yet, but give us enough to improve our tests. Note: There are recordings of me staring at my camera trying to generate enough recordings to get the Zoom API to paginate here. Great videos!
Example cached file ``` { "requestIdentityHash": "1bef948570eee4ad73984e2cbb86077093cfc5b0", "requestIdentity": [ [ "headers", [ [ "Accept", "application/json, text/plain, */*" ], [ "Base-Url-Override", "" ], [ "Connection-Id", "03d80504-def8-45d1-b835-c9de8a467967" ], [ "Content-Type", null ], [ "Nango-Activity-Log-Id", "" ], [ "Nango-Is-Dry-Run", "true" ], [ "Nango-Is-Sync", "true" ], [ "Provider-Config-Key", "zoom" ] ] ], [ "method", "get" ], [ "params", [ [ "from", "2024-11-03" ], [ "to", "2024-12-03" ] ] ], [ "url", "http://localhost:3003/proxy/users/me/recordings" ] ], "response": { "from": "2024-11-03", "to": "2024-12-03", "page_count": 1, "page_size": 30, "total_records": 30, "next_page_token": "", "meetings": [ { "uuid": "2jQ60QnYThiV9cm+fdIbZQ==", "id": 82205654575, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:51:20Z", "timezone": "", "duration": 0, "total_size": 460381, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/cRp_uXaaR1nj7yaPydNH9iJ9T4B6l4WTXo2Kg32I_ufn2zvqHvgpsLg6QeVPnVHB.NW6Gm5PcK3eY6SJe", "recording_files": [ { "id": "1ec4ad5a-fba9-4866-b71b-099b38a3e702", "meeting_id": "2jQ60QnYThiV9cm+fdIbZQ==", "recording_start": "2024-11-29T16:51:28Z", "recording_end": "2024-11-29T16:51:35Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 342924, "play_url": "https://us06web.zoom.us/rec/play/79KMn4cdm68Lkdgu8iMFmNMlm-EO46sJHYVc91qCUfZNswvIi88GZTKIMDF2KbiDWVljjuKcCeKbB-i4.2HnKYzKCeaVREbZv", "download_url": "https://us06web.zoom.us/rec/download/79KMn4cdm68Lkdgu8iMFmNMlm-EO46sJHYVc91qCUfZNswvIi88GZTKIMDF2KbiDWVljjuKcCeKbB-i4.2HnKYzKCeaVREbZv", "status": "completed", "recording_type": "shared_screen_with_speaker_view" }, { "id": "3f9be9f0-577b-4ae7-a450-ac1a5eaa21f1", "meeting_id": "2jQ60QnYThiV9cm+fdIbZQ==", "recording_start": "2024-11-29T16:51:28Z", "recording_end": "2024-11-29T16:51:35Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 117364, "play_url": "https://us06web.zoom.us/rec/play/7L-kq79n5LAI-ppuTI0K-wVzuSfMi1qQXLNTUfvuBowUg_MBn4rVwQxLaFGouzhbrAcoQKbEsnia2msD.0_wLUNVYbP_pr_MU", "download_url": "https://us06web.zoom.us/rec/download/7L-kq79n5LAI-ppuTI0K-wVzuSfMi1qQXLNTUfvuBowUg_MBn4rVwQxLaFGouzhbrAcoQKbEsnia2msD.0_wLUNVYbP_pr_MU", "status": "completed", "recording_type": "audio_only" }, { "id": "2051feea-4e6e-4b8f-b679-9efded8a0af5", "meeting_id": "2jQ60QnYThiV9cm+fdIbZQ==", "recording_start": "2024-11-29T16:51:28Z", "recording_end": "2024-11-29T16:51:35Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/jht5wUiA4bW4gqWROnakF7ta4eZGC8Lcfi7w7m9hHDqSCCJoxFGN3u2sioDoO0-j3oIMHR8NmsY3NYxd.pUqno45G0r-IDHbR", "status": "completed", "recording_type": "timeline" } ], "recording_play_passcode": "2J1cRGLck-pC8ClqDUgrluOzDT5I7jaD" }, { "uuid": "+gCB2Z5RS++JtabKun0eCg==", "id": 85309856990, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:51:01Z", "timezone": "", "duration": 0, "total_size": 410959, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/XZQFO4hc1EkEbkzCE9cuDg2p-1L5vVNHdaweoMdDFdcqShp8NIGH4pvzVZH15ar8.kNF75Zyu-CpOKQcf", "recording_files": [ { "id": "3705b311-9a2e-4677-9f40-46eaaa36efe8", "meeting_id": "+gCB2Z5RS++JtabKun0eCg==", "recording_start": "2024-11-29T16:51:11Z", "recording_end": "2024-11-29T16:51:16Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 316423, "play_url": "https://us06web.zoom.us/rec/play/celRtje7sDJAo4LDHO92k7gN_kSz-XQJwEaYkoV0uz5poEIL--ns2FV23cD7iMq1yFN7eZsS6e7Plifz.XXHaJqcwZaL_CmWU", "download_url": "https://us06web.zoom.us/rec/download/celRtje7sDJAo4LDHO92k7gN_kSz-XQJwEaYkoV0uz5poEIL--ns2FV23cD7iMq1yFN7eZsS6e7Plifz.XXHaJqcwZaL_CmWU", "status": "completed", "recording_type": "shared_screen_with_speaker_view" }, { "id": "c6a3d6ae-6add-4a0f-8646-df8df9dc0b2e", "meeting_id": "+gCB2Z5RS++JtabKun0eCg==", "recording_start": "2024-11-29T16:51:11Z", "recording_end": "2024-11-29T16:51:16Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 94443, "play_url": "https://us06web.zoom.us/rec/play/VzlQOiBu-GwFZgB7cGt9OILbgnhTY964K2_k2juIDsK8QzxTNF9jXdlhO2JwXfVwfHxWC4G8MsRKOKc4.ftUIWQgYk_Cg03ZS", "download_url": "https://us06web.zoom.us/rec/download/VzlQOiBu-GwFZgB7cGt9OILbgnhTY964K2_k2juIDsK8QzxTNF9jXdlhO2JwXfVwfHxWC4G8MsRKOKc4.ftUIWQgYk_Cg03ZS", "status": "completed", "recording_type": "audio_only" }, { "id": "06cd681a-c234-478f-b09d-d8c6227d1265", "meeting_id": "+gCB2Z5RS++JtabKun0eCg==", "recording_start": "2024-11-29T16:51:11Z", "recording_end": "2024-11-29T16:51:16Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/00a05V-EGegfENyCSjfQ742_t4qvrgjvLIkepSV-Cf7sFL6y-mPHfcJokz2qJS44etMnLJuoM9GlCvkJ.q4GwxkbemcZGrHky", "status": "completed", "recording_type": "timeline" } ], "recording_play_passcode": "5iaaMaXnPf_YqC8LGWDUDNie_AQLufvV" }, { "uuid": "ahO36JdmRiqokbTNWaMmTQ==", "id": 81542095886, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:50:30Z", "timezone": "", "duration": 0, "total_size": 585308, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/_8veuq8RmWV4tY-64C9d-I9scwf03M8H-TJO8bW915-X-TIO_IxAmo9FSfm_c4FJ.SYN8ExmfUKcubz36", "recording_files": [ { "id": "32fd9177-0f7a-4dd1-9694-2659cd9dd408", "meeting_id": "ahO36JdmRiqokbTNWaMmTQ==", "recording_start": "2024-11-29T16:50:37Z", "recording_end": "2024-11-29T16:50:46Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 433223, "play_url": "https://us06web.zoom.us/rec/play/BP-8B4IKPfwn1-Q9VHjNx65DnsEZM3vkIF1kiN0B14cZXW03Z7hhDAS5Ar9ZcfcNVnkFEf1rlX9eQe8.TF_MwUgt7DrDp9pE", "download_url": "https://us06web.zoom.us/rec/download/BP-8B4IKPfwn1-Q9VHjNx65DnsEZM3vkIF1kiN0B14cZXW03Z7hhDAS5Ar9ZcfcNVnkFEf1rlX9eQe8.TF_MwUgt7DrDp9pE", "status": "completed", "recording_type": "shared_screen_with_speaker_view" }, { "id": "5e26a224-80aa-42c0-a530-94b67b49fd13", "meeting_id": "ahO36JdmRiqokbTNWaMmTQ==", "recording_start": "2024-11-29T16:50:37Z", "recording_end": "2024-11-29T16:50:46Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 151992, "play_url": "https://us06web.zoom.us/rec/play/o3uLrxH0Zi51J4F7Rfrq7qtzb5HFMW6Sx407p-jTA3D_Zq6XZ1TcUoVCq7F5jKChEZsaATCpscahzqQP.V02BexaS30T-KctW", "download_url": "https://us06web.zoom.us/rec/download/o3uLrxH0Zi51J4F7Rfrq7qtzb5HFMW6Sx407p-jTA3D_Zq6XZ1TcUoVCq7F5jKChEZsaATCpscahzqQP.V02BexaS30T-KctW", "status": "completed", "recording_type": "audio_only" }, { "id": "f27af72a-0e5b-441d-b18e-509be10751a0", "meeting_id": "ahO36JdmRiqokbTNWaMmTQ==", "recording_start": "2024-11-29T16:50:37Z", "recording_end": "2024-11-29T16:50:46Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/B3Dpj6EXhcL9eUV1RyhOrGXcBwnryvtBTgOizA3rF4pwAo4JXflUTo2DwJHl2RXErDgB4YOaJ-gNBWXF.A_dakxrUxmAc3k5q", "status": "completed", "recording_type": "timeline" } ], "recording_play_passcode": "cqRkoEgauIYFS-pbIrNcfjd_OsuAmHV9" }, { "uuid": "J89yoQfNQ86sblmYz/CNKQ==", "id": 85708816321, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:49:50Z", "timezone": "", "duration": 0, "total_size": 1254519, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/CIBkQ6jFyhrMxn0QyAVYYVUSMuCft184-25KudQ-fjt0D1h6Q_h6Dp214wLfEGme.ViLAobm5MI9PWb8L", "recording_files": [ { "id": "3e996c7b-aabc-4a69-a49c-d81d5e214f34", "meeting_id": "J89yoQfNQ86sblmYz/CNKQ==", "recording_start": "2024-11-29T16:50:07Z", "recording_end": "2024-11-29T16:50:25Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 298656, "play_url": "https://us06web.zoom.us/rec/play/TS-s4h5jL3umC26pAXpf6AjPmhoSwBBJL5SlfvQrxBBwMXETy7gU_VLgtkQ5-xlKxea3s8zgga5DJfI.LE5T9h2jJf4WPXy3", "download_url": "https://us06web.zoom.us/rec/download/TS-s4h5jL3umC26pAXpf6AjPmhoSwBBJL5SlfvQrxBBwMXETy7gU_VLgtkQ5-xlKxea3s8zgga5DJfI.LE5T9h2jJf4WPXy3", "status": "completed", "recording_type": "audio_only" }, { "id": "1bcbe947-f946-4155-b357-c6eac94cc845", "meeting_id": "J89yoQfNQ86sblmYz/CNKQ==", "recording_start": "2024-11-29T16:50:07Z", "recording_end": "2024-11-29T16:50:25Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/Tppc57yA1b2l6LaC5enF_uqW40x5dsthX3D_en_acdcRQGCUrrmQlaj-GO9lO73WfC-HbabvSbcoPhI5.I-AMWgQJI1cjOZw-", "status": "completed", "recording_type": "timeline" }, { "id": "d310bb85-767b-441b-b936-8bcea06b8d82", "meeting_id": "J89yoQfNQ86sblmYz/CNKQ==", "recording_start": "2024-11-29T16:50:07Z", "recording_end": "2024-11-29T16:50:25Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 955770, "play_url": "https://us06web.zoom.us/rec/play/qkapELjO4Mv4ZwyldqOBGJlpIcBThOJSdAsnbjgN5OEejwKYe_mCHffr9QXs1o7PJdSs58FM_sO7tYQ4.BPd2iSJwh20Qjarh", "download_url": "https://us06web.zoom.us/rec/download/qkapELjO4Mv4ZwyldqOBGJlpIcBThOJSdAsnbjgN5OEejwKYe_mCHffr9QXs1o7PJdSs58FM_sO7tYQ4.BPd2iSJwh20Qjarh", "status": "completed", "recording_type": "shared_screen_with_speaker_view" } ], "recording_play_passcode": "Ir539UfpUNpH69IP7jvV3M2m9t32BVb-" }, { "uuid": "ZzAhQs6ZQtWLj2hqg+MoNg==", "id": 82497224865, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:49:29Z", "timezone": "", "duration": 0, "total_size": 647314, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/96DiLtQuFA1A0s_CMo-3xnLF1xzNshJIiugMybGEjK-s_bpfB8zCainNFVkh2Soh.Q4ytjcQuS-APQ7bY", "recording_files": [ { "id": "d0558bd7-65fa-4fc4-9c6f-09a44a8093b0", "meeting_id": "ZzAhQs6ZQtWLj2hqg+MoNg==", "recording_start": "2024-11-29T16:49:36Z", "recording_end": "2024-11-29T16:49:46Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 157591, "play_url": "https://us06web.zoom.us/rec/play/XZDhLp4X3knjsi-rFH_sYsctDy9ZsWfJ3pT4lj88uE9i-tmBCBaf8JMQ2Ae1EP4BxjcdB_cQaEZiwEjf.yn1YvPS8G5V66MyJ", "download_url": "https://us06web.zoom.us/rec/download/XZDhLp4X3knjsi-rFH_sYsctDy9ZsWfJ3pT4lj88uE9i-tmBCBaf8JMQ2Ae1EP4BxjcdB_cQaEZiwEjf.yn1YvPS8G5V66MyJ", "status": "completed", "recording_type": "audio_only" }, { "id": "855548d6-987c-4f27-9549-5df1c083606a", "meeting_id": "ZzAhQs6ZQtWLj2hqg+MoNg==", "recording_start": "2024-11-29T16:49:36Z", "recording_end": "2024-11-29T16:49:46Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/azrp9aD1KLyUP2OGsF7DwAKRJi-NPBFNqVmm3ZBlZcRLBlOHtea9Qfby_ZmB_Ny1IAMRGl38kjKgQsqX.hmQgJgFr3Vf-NXfK", "status": "completed", "recording_type": "timeline" }, { "id": "f0646317-7547-4088-ab0e-1fd89c7d4387", "meeting_id": "ZzAhQs6ZQtWLj2hqg+MoNg==", "recording_start": "2024-11-29T16:49:36Z", "recording_end": "2024-11-29T16:49:46Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 489630, "play_url": "https://us06web.zoom.us/rec/play/5I5OqLkdYo3_A8CnY-4_vsOpy6-M_DzaNeIZlwCzYymacqQw8wdOh27CfRQnQWIEJ_-3yWlXukVg06J_.D404Dk6R3eeBMB1C", "download_url": "https://us06web.zoom.us/rec/download/5I5OqLkdYo3_A8CnY-4_vsOpy6-M_DzaNeIZlwCzYymacqQw8wdOh27CfRQnQWIEJ_-3yWlXukVg06J_.D404Dk6R3eeBMB1C", "status": "completed", "recording_type": "shared_screen_with_speaker_view" } ], "recording_play_passcode": "CfU1pyO3TAOGfHkRmUaaaS-aRKnTknPQ" }, { "uuid": "JK25FQzSStiZZBhwtBg/Uw==", "id": 86981403959, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:49:14Z", "timezone": "", "duration": 0, "total_size": 377662, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/H3MFnks80-jpdPjplFPFUwrILWj7rYuoS8I6pUiwQic1fu3NOS4u96NlvssfnAcy.9nYjk1Cvnd57ifff", "recording_files": [ { "id": "bd4d2dfe-151e-4b89-9e06-5316c4879f0f", "meeting_id": "JK25FQzSStiZZBhwtBg/Uw==", "recording_start": "2024-11-29T16:49:20Z", "recording_end": "2024-11-29T16:49:26Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 86808, "play_url": "https://us06web.zoom.us/rec/play/VfolFbOV-bcEWvnszhn_gaiAZkhQGuR672Hg2Vo71Qsod4yi5z30eDfClwQDpkazNaClsKLPaRayfNKH.e68-gdUT8hRLMrHd", "download_url": "https://us06web.zoom.us/rec/download/VfolFbOV-bcEWvnszhn_gaiAZkhQGuR672Hg2Vo71Qsod4yi5z30eDfClwQDpkazNaClsKLPaRayfNKH.e68-gdUT8hRLMrHd", "status": "completed", "recording_type": "audio_only" }, { "id": "7800c6c4-76ce-434c-b6bf-9e1e1295900f", "meeting_id": "JK25FQzSStiZZBhwtBg/Uw==", "recording_start": "2024-11-29T16:49:20Z", "recording_end": "2024-11-29T16:49:26Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/U7bU5Q1o2ZCBgnm6RV0VoMUlnsRcTon-1I17HReMC5OhUBrQRJHZnTaAFJE6O05fkGtnWEceodMmlhDW.pXQXkCfyIWnqRL3D", "status": "completed", "recording_type": "timeline" }, { "id": "c871b6b0-b01b-408b-915a-b654e369a9e6", "meeting_id": "JK25FQzSStiZZBhwtBg/Uw==", "recording_start": "2024-11-29T16:49:20Z", "recording_end": "2024-11-29T16:49:26Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 290761, "play_url": "https://us06web.zoom.us/rec/play/8Rrp7WcwVArsAOn4Q4aoWtONFyUXOJ7XvraRBEwubsYO2Pkd5KfyQTSmNwPGrhST-LBUeHuJtjUxbB2H.g6jHJLzyZBveqAIl", "download_url": "https://us06web.zoom.us/rec/download/8Rrp7WcwVArsAOn4Q4aoWtONFyUXOJ7XvraRBEwubsYO2Pkd5KfyQTSmNwPGrhST-LBUeHuJtjUxbB2H.g6jHJLzyZBveqAIl", "status": "completed", "recording_type": "shared_screen_with_speaker_view" } ], "recording_play_passcode": "AS3DrnVt-AVUGxgZJsfoTzv0y1hhX1Zc" }, { "uuid": "JLx3hkheQiiT2J+iBC+rNA==", "id": 85137315046, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:48:29Z", "timezone": "", "duration": 0, "total_size": 591759, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/hhFWPA1pzBCSi2EbKKYMyjp940cC5tAs4_G7X0QLeKppBvTu_mtGAgflwwo4VYHJ.h3EJdbeZ1Qv5Cceo", "recording_files": [ { "id": "7cf89426-1818-4d12-86f0-794cf7538622", "meeting_id": "JLx3hkheQiiT2J+iBC+rNA==", "recording_start": "2024-11-29T16:48:36Z", "recording_end": "2024-11-29T16:48:45Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 439165, "play_url": "https://us06web.zoom.us/rec/play/WBwTaSYituFo7qhkrF7Ak344t-NeNrwgsshNBdEKdWavOa0en3f1Rzuf_QsfmFhntZCNNZaQpjQT3tyF.Ov17vbl-r1BPIMog", "download_url": "https://us06web.zoom.us/rec/download/WBwTaSYituFo7qhkrF7Ak344t-NeNrwgsshNBdEKdWavOa0en3f1Rzuf_QsfmFhntZCNNZaQpjQT3tyF.Ov17vbl-r1BPIMog", "status": "completed", "recording_type": "shared_screen_with_speaker_view" }, { "id": "d0aa64e4-ed14-4937-98f5-09f569b79ba1", "meeting_id": "JLx3hkheQiiT2J+iBC+rNA==", "recording_start": "2024-11-29T16:48:36Z", "recording_end": "2024-11-29T16:48:45Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 152501, "play_url": "https://us06web.zoom.us/rec/play/QfwcgnF3P1_yCEGOYpyKaa_BuC7QQgNK83EhwZrrgOXcoMyGulq3fw3YKOVVEk-XqHW4UQ1yX2boo8kL.DSITfnoyGgwYUPBI", "download_url": "https://us06web.zoom.us/rec/download/QfwcgnF3P1_yCEGOYpyKaa_BuC7QQgNK83EhwZrrgOXcoMyGulq3fw3YKOVVEk-XqHW4UQ1yX2boo8kL.DSITfnoyGgwYUPBI", "status": "completed", "recording_type": "audio_only" }, { "id": "7cd744ce-5ada-4f50-ba93-2133dd96e7c9", "meeting_id": "JLx3hkheQiiT2J+iBC+rNA==", "recording_start": "2024-11-29T16:48:36Z", "recording_end": "2024-11-29T16:48:45Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/JhdLNHAfUHIR9XZA2yQt7Y6m9bYgL90pNGT5FeFCSULkX6L8mQGeblZnzLg_o4XH1MtKqdpbz6r8ANMb.tc1EpQvIFhyHbXlf", "status": "completed", "recording_type": "timeline" } ], "recording_play_passcode": "kqmfLBYqBj2VYTjN9Tybned2-UYZ300I" }, { "uuid": "lgUiGwKoToapdVcSeGlZAw==", "id": 85306313388, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:48:10Z", "timezone": "", "duration": 0, "total_size": 438398, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/YftGIb3qps8ion3lWVcQw5gz5OC8EI0S7198kFzOox5tzBVCRav3tcrtToKdSl2p.ZqoXdguXxd3WHS4y", "recording_files": [ { "id": "80ed647d-ceb8-4704-8b93-3f8a926c58fe", "meeting_id": "lgUiGwKoToapdVcSeGlZAw==", "recording_start": "2024-11-29T16:48:18Z", "recording_end": "2024-11-29T16:48:24Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 102595, "play_url": "https://us06web.zoom.us/rec/play/cS4pAlXIyHteY04vQDebdlDe0NVuk8PXzbGB3cAOiX3tJNqrJZ9PcoWsY3q2ZeJwHOdYn7aYVefAS5k.YWJ1sclTYbkyPG_1", "download_url": "https://us06web.zoom.us/rec/download/cS4pAlXIyHteY04vQDebdlDe0NVuk8PXzbGB3cAOiX3tJNqrJZ9PcoWsY3q2ZeJwHOdYn7aYVefAS5k.YWJ1sclTYbkyPG_1", "status": "completed", "recording_type": "audio_only" }, { "id": "876c8be7-56ea-4ffd-9897-cf817447f943", "meeting_id": "lgUiGwKoToapdVcSeGlZAw==", "recording_start": "2024-11-29T16:48:18Z", "recording_end": "2024-11-29T16:48:24Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/YjTuC9jQr2h6MVySUGU6yCy3lDUYO-1K34tKj2lltlKJ0Q3Dl9aG5N7ub4OT6ZMx0sslFMwCma_7eoDQ.5DctGHFy1ywETbOy", "status": "completed", "recording_type": "timeline" }, { "id": "db9c91a9-9e87-46a9-a8a9-89425754848d", "meeting_id": "lgUiGwKoToapdVcSeGlZAw==", "recording_start": "2024-11-29T16:48:18Z", "recording_end": "2024-11-29T16:48:24Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 335710, "play_url": "https://us06web.zoom.us/rec/play/7s8NQcUW6ddTassP4dvfYwXyS8XxnLx9O5Mz0BIKBdMNDhz_WWwon5g33DUo-JWuCER74F0kHImovRof.xdMdNQ_WhFUO3r21", "download_url": "https://us06web.zoom.us/rec/download/7s8NQcUW6ddTassP4dvfYwXyS8XxnLx9O5Mz0BIKBdMNDhz_WWwon5g33DUo-JWuCER74F0kHImovRof.xdMdNQ_WhFUO3r21", "status": "completed", "recording_type": "shared_screen_with_speaker_view" } ], "recording_play_passcode": "Y7BWbHZ82w1zgOZiy684mV7vulAnhHVv" }, { "uuid": "2+ZPvm41SG+UeF/ZVkBYMw==", "id": 89946391940, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:47:51Z", "timezone": "", "duration": 0, "total_size": 523619, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/OAtjSn2KLysv1lo7flv4PEXtmAL7yvRb4L125VCtVJjg9BJVuOUP3uwWUIxbWh4G.qaRfAxSXq08UjKla", "recording_files": [ { "id": "02f8284d-0e38-4995-b107-59fab7ffe072", "meeting_id": "2+ZPvm41SG+UeF/ZVkBYMw==", "recording_start": "2024-11-29T16:47:58Z", "recording_end": "2024-11-29T16:48:06Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 132642, "play_url": "https://us06web.zoom.us/rec/play/no20bcPtU-XDggnX08o_9SAw81KzJER11ii5TXNYojCGg2eGDA8YwATFm0Csr_-hn2LXBenY4IKabb0i.FcTtjmn-iOdVOvZj", "download_url": "https://us06web.zoom.us/rec/download/no20bcPtU-XDggnX08o_9SAw81KzJER11ii5TXNYojCGg2eGDA8YwATFm0Csr_-hn2LXBenY4IKabb0i.FcTtjmn-iOdVOvZj", "status": "completed", "recording_type": "audio_only" }, { "id": "d74cc111-35dc-47b3-87c5-9698b91fe16a", "meeting_id": "2+ZPvm41SG+UeF/ZVkBYMw==", "recording_start": "2024-11-29T16:47:58Z", "recording_end": "2024-11-29T16:48:06Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/VYjHHJZYB_fD0y0EKPkwKkFNJJIRZ1Oaabzx6eLP-k0aTktKjE_Ha7JvwlXLpDl7q3PU8RyErqVd9UCp.HiBYxNy9yyZhgq6V", "status": "completed", "recording_type": "timeline" }, { "id": "53c3036d-7d8a-4146-ac33-920af2271ced", "meeting_id": "2+ZPvm41SG+UeF/ZVkBYMw==", "recording_start": "2024-11-29T16:47:58Z", "recording_end": "2024-11-29T16:48:06Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 390884, "play_url": "https://us06web.zoom.us/rec/play/t5B42Kvv0quWftslwxDFoC29XiualSo3C-cPxrZDDjdiP2kfXFIesBBow_IMeU45LkUCs1qNgU2Lvx4._1ga-77r9rtjZNQD", "download_url": "https://us06web.zoom.us/rec/download/t5B42Kvv0quWftslwxDFoC29XiualSo3C-cPxrZDDjdiP2kfXFIesBBow_IMeU45LkUCs1qNgU2Lvx4._1ga-77r9rtjZNQD", "status": "completed", "recording_type": "shared_screen_with_speaker_view" } ], "recording_play_passcode": "L-JMx8Vza4LJlG6eRXlXK13UZ4p2F2KK" }, { "uuid": "97N1w8HrRJKH+VYi20dDVw==", "id": 82875840650, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:47:31Z", "timezone": "", "duration": 0, "total_size": 571375, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/Q9dsx4RQ7YH1k4vw_sKAZ7HgIq8fgEkqGso48I7rDKtyFGHHwaoVP1NWVOgljfok.EE1YgJ3W8ELBQD2S", "recording_files": [ { "id": "894874ac-a6bf-44fa-b162-7026cf727936", "meeting_id": "97N1w8HrRJKH+VYi20dDVw==", "recording_start": "2024-11-29T16:47:38Z", "recording_end": "2024-11-29T16:47:47Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 427442, "play_url": "https://us06web.zoom.us/rec/play/62A8L3z3Fk_gOJbfZqXV78GcH7MVyqr9-h8XVJ-Jkai7yu72bOCV7UGzD2aaMNoEBfyDAogvjoiVb8Dl.FbGpqYC91qXZBdeU", "download_url": "https://us06web.zoom.us/rec/download/62A8L3z3Fk_gOJbfZqXV78GcH7MVyqr9-h8XVJ-Jkai7yu72bOCV7UGzD2aaMNoEBfyDAogvjoiVb8Dl.FbGpqYC91qXZBdeU", "status": "completed", "recording_type": "shared_screen_with_speaker_view" }, { "id": "fe87057b-da48-4a0b-b2ae-c0304bfa87b2", "meeting_id": "97N1w8HrRJKH+VYi20dDVw==", "recording_start": "2024-11-29T16:47:38Z", "recording_end": "2024-11-29T16:47:47Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 143840, "play_url": "https://us06web.zoom.us/rec/play/Lu94sF9aVDugykzBMNPTjJhG44HtgI3yhOHzgHZhEEPOYQ5xp0EQRMPp8FyTgbhjYLf_9iPtR42CHWl_.BGrq-qgiKZLDYJed", "download_url": "https://us06web.zoom.us/rec/download/Lu94sF9aVDugykzBMNPTjJhG44HtgI3yhOHzgHZhEEPOYQ5xp0EQRMPp8FyTgbhjYLf_9iPtR42CHWl_.BGrq-qgiKZLDYJed", "status": "completed", "recording_type": "audio_only" }, { "id": "e7a46f40-c3e3-4ee5-a747-9910285dd221", "meeting_id": "97N1w8HrRJKH+VYi20dDVw==", "recording_start": "2024-11-29T16:47:38Z", "recording_end": "2024-11-29T16:47:47Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/51lwflB99O8tEfdja1aPVnlzyvtlBW00KUffdzWb9-c4XxHRuLhoFYRLING-a0ibAzQptDYy8ecBTQ.9Aq062ceauIsaUl6", "status": "completed", "recording_type": "timeline" } ], "recording_play_passcode": "geCWB52CrVbVuriJIX6QhGmdVErvRX8g" }, { "uuid": "/UE+cApLTmOc6HZxOLFclQ==", "id": 88516223979, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:47:08Z", "timezone": "", "duration": 0, "total_size": 646066, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/UWO9nvOaLaYzA9eziKDOid_QIukIH91SLLKPPbHqu6izGBpliS_bBZqgF38eZndc.M9kddWXVF4YWrqzH", "recording_files": [ { "id": "4fe52355-c543-4328-a5fa-0690031d9be8", "meeting_id": "/UE+cApLTmOc6HZxOLFclQ==", "recording_start": "2024-11-29T16:47:16Z", "recording_end": "2024-11-29T16:47:27Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 168288, "play_url": "https://us06web.zoom.us/rec/play/Dd3DWG8dNqEnwy3b919OXNDq_HMxmPv4VzId9jn63-yeSUNcw5aS9stF8M2MGkSQkzfn7N30TWXh8rQR.ps5bHxwxh9nk-8v0", "download_url": "https://us06web.zoom.us/rec/download/Dd3DWG8dNqEnwy3b919OXNDq_HMxmPv4VzId9jn63-yeSUNcw5aS9stF8M2MGkSQkzfn7N30TWXh8rQR.ps5bHxwxh9nk-8v0", "status": "completed", "recording_type": "audio_only" }, { "id": "3a86dcac-1073-4221-b5fd-c1c203312c6c", "meeting_id": "/UE+cApLTmOc6HZxOLFclQ==", "recording_start": "2024-11-29T16:47:16Z", "recording_end": "2024-11-29T16:47:27Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/shl1WKpesMJhjp1FKc7E5epz_ruT7XEa6012oDZW00jXzUXWlDlaAOjrvMppz5ItuVXUw_LaqqtfOzSJ.eUYO5MDRw0GNl_yG", "status": "completed", "recording_type": "timeline" }, { "id": "97d08778-655c-4642-8b95-f254b2775435", "meeting_id": "/UE+cApLTmOc6HZxOLFclQ==", "recording_start": "2024-11-29T16:47:16Z", "recording_end": "2024-11-29T16:47:27Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 477685, "play_url": "https://us06web.zoom.us/rec/play/Ga7_NXJxcc95LBMrUaILi16zkGV3eVM2-GyLuMg7dc9-jQK5SjB9_W3RpeIAEM3HbmGxuAfp-fR4ZL0.HxTUn-ku0SX3mQG-", "download_url": "https://us06web.zoom.us/rec/download/Ga7_NXJxcc95LBMrUaILi16zkGV3eVM2-GyLuMg7dc9-jQK5SjB9_W3RpeIAEM3HbmGxuAfp-fR4ZL0.HxTUn-ku0SX3mQG-", "status": "completed", "recording_type": "shared_screen_with_speaker_view" } ], "recording_play_passcode": "oSivjFCrckzPaQfjwDvhBcHs7_Yjvcvb" }, { "uuid": "MOVxaICcQ8aEg1EXWXg0ng==", "id": 84833478512, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:46:49Z", "timezone": "", "duration": 0, "total_size": 504061, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/i0FbpHY7Otv3AQc7uh4M_DDSJpgTKk7B76b6UtobQTgXVGwhzYJEptynR2e5yf6Q.5fRL58Ko7NomKnnp", "recording_files": [ { "id": "3d543eb8-e800-47e9-846b-cb97dfb2ed4e", "meeting_id": "MOVxaICcQ8aEg1EXWXg0ng==", "recording_start": "2024-11-29T16:46:56Z", "recording_end": "2024-11-29T16:47:03Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 381005, "play_url": "https://us06web.zoom.us/rec/play/tvvpDXrRqBKgo0dE2YbLSqIsU7EbIGn1RatHnmhWyFlr9uKCaH5sPbUWuauIm7P4UygFghgChQ1dYajB.uOSXP82cVfNPPz6a", "download_url": "https://us06web.zoom.us/rec/download/tvvpDXrRqBKgo0dE2YbLSqIsU7EbIGn1RatHnmhWyFlr9uKCaH5sPbUWuauIm7P4UygFghgChQ1dYajB.uOSXP82cVfNPPz6a", "status": "completed", "recording_type": "shared_screen_with_speaker_view" }, { "id": "5e7d1e24-92a7-419d-9381-8eb682c689e3", "meeting_id": "MOVxaICcQ8aEg1EXWXg0ng==", "recording_start": "2024-11-29T16:46:56Z", "recording_end": "2024-11-29T16:47:03Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 122963, "play_url": "https://us06web.zoom.us/rec/play/q8QVqr94rKRj_P2KJamyOS6qOEpUSZhzlBJjhNl1GPGigLKMwh_b5IO3Y712-eMcMDoOmZLmdIZ1b8fj.oXijdA_ly8GiJUQA", "download_url": "https://us06web.zoom.us/rec/download/q8QVqr94rKRj_P2KJamyOS6qOEpUSZhzlBJjhNl1GPGigLKMwh_b5IO3Y712-eMcMDoOmZLmdIZ1b8fj.oXijdA_ly8GiJUQA", "status": "completed", "recording_type": "audio_only" }, { "id": "957e5ea4-5c5e-4aec-9221-d88f6db347ed", "meeting_id": "MOVxaICcQ8aEg1EXWXg0ng==", "recording_start": "2024-11-29T16:46:56Z", "recording_end": "2024-11-29T16:47:03Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/mRWVD8dTtWcQXVmxRrelICBq_knejaADY81ZdrEJBTpON4KXUa5BRE7EhVV1h7SAJMS3wt5Er0VylyWj.RHal-pR1YXOpTJ7t", "status": "completed", "recording_type": "timeline" } ], "recording_play_passcode": "R1XNLHljLnpI2vUarwWvfsKG3CmSsSMV" }, { "uuid": "VsGkV7XUSqqeB5iNMnfoRw==", "id": 87855996521, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:46:31Z", "timezone": "", "duration": 0, "total_size": 424542, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/6_lVIUQUn7gYhJH3_zEDmuCUNHf19C4GrwCcxe6jb4Nc9ZIFcMuz3_pMXW4OK7N-.abv-7CEdSmkSWx1y", "recording_files": [ { "id": "d3a2bb99-f7aa-4e59-b50c-fe26782836d1", "meeting_id": "VsGkV7XUSqqeB5iNMnfoRw==", "recording_start": "2024-11-29T16:46:39Z", "recording_end": "2024-11-29T16:46:45Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 321345, "play_url": "https://us06web.zoom.us/rec/play/E20al9NCPTD5K78AT76V5BbSAUiO5GrQerqG7Sc_2H8tc6K2ohZYOi2NvmLG6ObEdJbcUcB_bCGf_nQ.oGUt2uNyvES6bvsQ", "download_url": "https://us06web.zoom.us/rec/download/E20al9NCPTD5K78AT76V5BbSAUiO5GrQerqG7Sc_2H8tc6K2ohZYOi2NvmLG6ObEdJbcUcB_bCGf_nQ.oGUt2uNyvES6bvsQ", "status": "completed", "recording_type": "shared_screen_with_speaker_view" }, { "id": "ea403200-7d83-478c-b685-8ab728b7e6e2", "meeting_id": "VsGkV7XUSqqeB5iNMnfoRw==", "recording_start": "2024-11-29T16:46:39Z", "recording_end": "2024-11-29T16:46:45Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 103104, "play_url": "https://us06web.zoom.us/rec/play/YV4Tc7XwFpkhCvTQczwLSG5C8u8N2sCNf5YSV4pPQQmM4ri5W6mnPsFSG6lbdNHqsr2ODnzoyFxoloyu.D5GHHJYsQYszI_Gh", "download_url": "https://us06web.zoom.us/rec/download/YV4Tc7XwFpkhCvTQczwLSG5C8u8N2sCNf5YSV4pPQQmM4ri5W6mnPsFSG6lbdNHqsr2ODnzoyFxoloyu.D5GHHJYsQYszI_Gh", "status": "completed", "recording_type": "audio_only" }, { "id": "5ac2ca33-f849-4c07-81b0-a0eb22590380", "meeting_id": "VsGkV7XUSqqeB5iNMnfoRw==", "recording_start": "2024-11-29T16:46:39Z", "recording_end": "2024-11-29T16:46:45Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/3pdr6EnZWLSc0ajS9KHhkQZDYL-WeM4Nv4ar23JxC8RDXQAUL3BNAvebvufyej0WkgNy8sTNOCo8vMV_.JgF-GwzaHXknkWsE", "status": "completed", "recording_type": "timeline" } ], "recording_play_passcode": "Mkb1OFHjrgz1K1Y4r5qddeEGjFPmutnq" }, { "uuid": "hiEJCei2TTmP2Sr5g2zDWw==", "id": 84165580488, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:46:14Z", "timezone": "", "duration": 0, "total_size": 373085, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/MZxaN2K1bIcEfUAJdeApU7v_LHM9qC0wrJMBF3AaYQ4heBSBhbs_JSpSzFVTG03L.K7UUIsY0kZrLc379", "recording_files": [ { "id": "88c18b65-0de5-4e6d-8536-9ae7e13bf56d", "meeting_id": "hiEJCei2TTmP2Sr5g2zDWw==", "recording_start": "2024-11-29T16:46:22Z", "recording_end": "2024-11-29T16:46:27Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 288220, "play_url": "https://us06web.zoom.us/rec/play/CShOpxvvgSQgdQFE54g_dgIlkJiyP5cQy74qSAfXJsWiGhsCM5_Cux1e0eWBDTaOWFtWd1W3rH-iGbnZ.h8WCdaE8jtbK8Dap", "download_url": "https://us06web.zoom.us/rec/download/CShOpxvvgSQgdQFE54g_dgIlkJiyP5cQy74qSAfXJsWiGhsCM5_Cux1e0eWBDTaOWFtWd1W3rH-iGbnZ.h8WCdaE8jtbK8Dap", "status": "completed", "recording_type": "shared_screen_with_speaker_view" }, { "id": "8f087c1c-4f4b-4911-a611-904fede22282", "meeting_id": "hiEJCei2TTmP2Sr5g2zDWw==", "recording_start": "2024-11-29T16:46:22Z", "recording_end": "2024-11-29T16:46:27Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 84772, "play_url": "https://us06web.zoom.us/rec/play/jdzI_geE4V0I9gimbH4u9I5SbAmEVVoKY8ooOPofIW0nEsrYZqOMX5oVTA4L-bUXqqAV6WWORes9VbC-.EiOedlrnCe09Z0XO", "download_url": "https://us06web.zoom.us/rec/download/jdzI_geE4V0I9gimbH4u9I5SbAmEVVoKY8ooOPofIW0nEsrYZqOMX5oVTA4L-bUXqqAV6WWORes9VbC-.EiOedlrnCe09Z0XO", "status": "completed", "recording_type": "audio_only" }, { "id": "99d426a7-bed9-4fff-9837-81b9fc611cec", "meeting_id": "hiEJCei2TTmP2Sr5g2zDWw==", "recording_start": "2024-11-29T16:46:22Z", "recording_end": "2024-11-29T16:46:27Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/eJ_0xEzsR-ffZ-41FckiDrTe8RzP0aIBrlS3lZ_vRCWgiYi97iZUoNIvH225eZ_BbaR8T-veE_vB3lFH.AsF3V1Frm3FeMwzr", "status": "completed", "recording_type": "timeline" } ], "recording_play_passcode": "cXZgx_paRcNcGq0N730HFhsvsXL4NM_s" }, { "uuid": "nDeZcwipROChYRvrREXKWg==", "id": 88135198633, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:43:04Z", "timezone": "", "duration": 0, "total_size": 316764, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/yQApf5sewldy_0LeMfqL124Z_Cov7NK_d7zAVqyQ5NiSDaXEjrryU9GLOdmBRXP4.K4NBJjlqXF2LnIiy", "recording_files": [ { "id": "74ade212-8328-4cfd-a5b7-2d648e963c9f", "meeting_id": "nDeZcwipROChYRvrREXKWg==", "recording_start": "2024-11-29T16:43:10Z", "recording_end": "2024-11-29T16:43:15Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 243614, "play_url": "https://us06web.zoom.us/rec/play/xKlRDCkB4ea8_xUbSlhjC6jfXb5GsQKKKi8m32wYpVOJp5EgB9aAfseb6_q_VfWDz2o8e4EV1vp_iMXf.HEDUWv2Zai9nOBvx", "download_url": "https://us06web.zoom.us/rec/download/xKlRDCkB4ea8_xUbSlhjC6jfXb5GsQKKKi8m32wYpVOJp5EgB9aAfseb6_q_VfWDz2o8e4EV1vp_iMXf.HEDUWv2Zai9nOBvx", "status": "completed", "recording_type": "shared_screen_with_speaker_view" }, { "id": "f20458b5-0143-4986-bd4d-61a9b6c651ed", "meeting_id": "nDeZcwipROChYRvrREXKWg==", "recording_start": "2024-11-29T16:43:10Z", "recording_end": "2024-11-29T16:43:15Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 73057, "play_url": "https://us06web.zoom.us/rec/play/iIWtfawo2_3NdT9PnmVKOll-GGMJ-glNC9TVI1ZNCR0vfRFq53xJnELkAk86GOrzcPC_CYUaK_KJ0j28.JbnF0oEoxAn8g5WY", "download_url": "https://us06web.zoom.us/rec/download/iIWtfawo2_3NdT9PnmVKOll-GGMJ-glNC9TVI1ZNCR0vfRFq53xJnELkAk86GOrzcPC_CYUaK_KJ0j28.JbnF0oEoxAn8g5WY", "status": "completed", "recording_type": "audio_only" }, { "id": "473b8fd3-04db-48f0-a220-ea654c337229", "meeting_id": "nDeZcwipROChYRvrREXKWg==", "recording_start": "2024-11-29T16:43:10Z", "recording_end": "2024-11-29T16:43:15Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/-XuLJ-TIFoOfwRxw1m96COJ8bdNOv2ECWqgm8ulsNOky3T7Awu8KLMhM8bW18MeATtnGAor7fo5lBLk.2F2qkIsElPI74wFW", "status": "completed", "recording_type": "timeline" } ], "recording_play_passcode": "ttWi5mkjKJ-Lh6-D0s2yFI6xP7-4AHkW" }, { "uuid": "Yr7HSKHATT2R+cl4QIDglA==", "id": 84605017637, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:42:40Z", "timezone": "", "duration": 0, "total_size": 765790, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/CHJxMXgvXV322vwr2zHaAGVECV0dLe064EpbGMcMf_4KLR_w1foPpvM9M4xw4gWO.ZA1_pBoz1JxZxBw9", "recording_files": [ { "id": "86763d9f-0bf1-4903-8a1b-9ece03802a71", "meeting_id": "Yr7HSKHATT2R+cl4QIDglA==", "recording_start": "2024-11-29T16:42:47Z", "recording_end": "2024-11-29T16:42:59Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 571442, "play_url": "https://us06web.zoom.us/rec/play/xiceCTkXqMZLXu969qL4lWhslSIONwPEazsAqRcIUHG6WLoS4l6omuvq6xkcs_NBEG6z4cE7IteN-uby.xbD3HPKkZ2WojTJm", "download_url": "https://us06web.zoom.us/rec/download/xiceCTkXqMZLXu969qL4lWhslSIONwPEazsAqRcIUHG6WLoS4l6omuvq6xkcs_NBEG6z4cE7IteN-uby.xbD3HPKkZ2WojTJm", "status": "completed", "recording_type": "shared_screen_with_speaker_view" }, { "id": "be7604e8-77ed-479e-b0c0-62de2c027a15", "meeting_id": "Yr7HSKHATT2R+cl4QIDglA==", "recording_start": "2024-11-29T16:42:47Z", "recording_end": "2024-11-29T16:42:59Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 194255, "play_url": "https://us06web.zoom.us/rec/play/E3NMltjwQCijL08P3I9ooQGKHNVOPFdG7vF0zjeIsQwUbBU7ddRQfqKBCbn_isTAgDQIF-rkzashjVwe.vFKA27hnpSyPPlem", "download_url": "https://us06web.zoom.us/rec/download/E3NMltjwQCijL08P3I9ooQGKHNVOPFdG7vF0zjeIsQwUbBU7ddRQfqKBCbn_isTAgDQIF-rkzashjVwe.vFKA27hnpSyPPlem", "status": "completed", "recording_type": "audio_only" }, { "id": "39504552-02b7-4335-ac43-9ec4f22ed906", "meeting_id": "Yr7HSKHATT2R+cl4QIDglA==", "recording_start": "2024-11-29T16:42:47Z", "recording_end": "2024-11-29T16:42:59Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/ojERC-U_rLlaONbrOQAJfr7T44ZvXU3bxOCcv5aJAsBMW9ssOOgo33sHQwZBEZO3bACcMAvtcvnJjSSZ.ADhIZx1NquaCCgjj", "status": "completed", "recording_type": "timeline" } ], "recording_play_passcode": "1dEcwn1igJX1duAIq6UzYgz3KQwKLJuw" }, { "uuid": "L6hG9AiCRNCXNDmmqwsi/g==", "id": 84529690740, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:42:22Z", "timezone": "", "duration": 0, "total_size": 528014, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/0VWGR2f4e9JqeqjJwiTCBd7E01XPUarBoyyjDHME9s0UBrO3DK4uIU-SU__6P83s.ni6k0SSTXya_xt1t", "recording_files": [ { "id": "1ce2dd23-4172-4521-981e-2b1a5efd2301", "meeting_id": "L6hG9AiCRNCXNDmmqwsi/g==", "recording_start": "2024-11-29T16:42:28Z", "recording_end": "2024-11-29T16:42:36Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 123472, "play_url": "https://us06web.zoom.us/rec/play/kyCkzySNT6UKxbuSynfiXaRElPDUnbylUA6YGgZMCAFupOD7UEp3x06ZZyOQqLIHqlhiuw-OEb-1vQbp.5ZShJbIVOzQgAuVs", "download_url": "https://us06web.zoom.us/rec/download/kyCkzySNT6UKxbuSynfiXaRElPDUnbylUA6YGgZMCAFupOD7UEp3x06ZZyOQqLIHqlhiuw-OEb-1vQbp.5ZShJbIVOzQgAuVs", "status": "completed", "recording_type": "audio_only" }, { "id": "2f558bfd-d1e3-4d6e-abba-89feefdec788", "meeting_id": "L6hG9AiCRNCXNDmmqwsi/g==", "recording_start": "2024-11-29T16:42:28Z", "recording_end": "2024-11-29T16:42:36Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/vWuanR7WN1oz5rDA6gLD1O25NWlTkyOISjQrxaPkR5_GNA90a1X7s4yG9xMKe9CxW2k3RKQh1y3eUGDV.9KSi9UCzDiK5nCc8", "status": "completed", "recording_type": "timeline" }, { "id": "df482cc5-7a3b-4168-9f7f-ee52ed5ef038", "meeting_id": "L6hG9AiCRNCXNDmmqwsi/g==", "recording_start": "2024-11-29T16:42:28Z", "recording_end": "2024-11-29T16:42:36Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 404449, "play_url": "https://us06web.zoom.us/rec/play/gV9zPusnsRoAQHVeoS8fBVh-v994eAY-Nr7k-PbrBav5c-8elAUepVtAhjJaM4wNKHyQfiG3BosSlX3M.VKnIUrvA7rIgOZ5W", "download_url": "https://us06web.zoom.us/rec/download/gV9zPusnsRoAQHVeoS8fBVh-v994eAY-Nr7k-PbrBav5c-8elAUepVtAhjJaM4wNKHyQfiG3BosSlX3M.VKnIUrvA7rIgOZ5W", "status": "completed", "recording_type": "shared_screen_with_speaker_view" } ], "recording_play_passcode": "vE7VJg0DX5xdGzYzMPfAzmkkq860QI7C" }, { "uuid": "ykQZnMqeRqiF0xkLfDC6QA==", "id": 81181307276, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:41:59Z", "timezone": "", "duration": 0, "total_size": 650964, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/aX0JLOZ3fC_rajXIrkVIHxwNTvQb_5-3-YvCC1p_Y6xNWZZfhqYvhqTK7IcFyGuG.tAJzwvcxLAcs5rhb", "recording_files": [ { "id": "887b563e-0079-423b-afb2-2d29464f2a24", "meeting_id": "ykQZnMqeRqiF0xkLfDC6QA==", "recording_start": "2024-11-29T16:42:07Z", "recording_end": "2024-11-29T16:42:18Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 164725, "play_url": "https://us06web.zoom.us/rec/play/t870eqdcOqiZCQrnaf1-B-83hJQoLiwd2VT6T_HvtrWIHtyXF7un1r268nT4f3HEcv3HG1i0T8LUt00.sgVoU2mgIDlqclCm", "download_url": "https://us06web.zoom.us/rec/download/t870eqdcOqiZCQrnaf1-B-83hJQoLiwd2VT6T_HvtrWIHtyXF7un1r268nT4f3HEcv3HG1i0T8LUt00.sgVoU2mgIDlqclCm", "status": "completed", "recording_type": "audio_only" }, { "id": "97b56432-ca05-4145-b5c7-1b19683a3db4", "meeting_id": "ykQZnMqeRqiF0xkLfDC6QA==", "recording_start": "2024-11-29T16:42:07Z", "recording_end": "2024-11-29T16:42:18Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/7X3uyJ5BtiIU0xBCXEC1PuBp6yGsWDBCp8JMENtDADuqFrnnPXyEOhd8hDbIqXXfAkawNAzcMunHX2YG.8dIO_yXnEAvQQd2X", "status": "completed", "recording_type": "timeline" }, { "id": "ed382da7-305f-4ac8-8479-1c2dcf9ccc8b", "meeting_id": "ykQZnMqeRqiF0xkLfDC6QA==", "recording_start": "2024-11-29T16:42:07Z", "recording_end": "2024-11-29T16:42:18Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 486146, "play_url": "https://us06web.zoom.us/rec/play/dOO_SoHvJNXLeYHk8a_JY-gAUIsmbE9_Jxy1lXC7qP49b4V-VGI51dhBxYLwsFl6RjhmZErrEODjswEk.HmzMrIjloylP5RmM", "download_url": "https://us06web.zoom.us/rec/download/dOO_SoHvJNXLeYHk8a_JY-gAUIsmbE9_Jxy1lXC7qP49b4V-VGI51dhBxYLwsFl6RjhmZErrEODjswEk.HmzMrIjloylP5RmM", "status": "completed", "recording_type": "shared_screen_with_speaker_view" } ], "recording_play_passcode": "Hqg18pTJYAlbOub-os2rvftJDsUath-l" }, { "uuid": "QKDKFMoNTpWQU0E+RkjHcw==", "id": 87827699025, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:41:37Z", "timezone": "", "duration": 0, "total_size": 631366, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/K8uhkAcvQbc6ColBtzMCL7hRowKKbYZykTMFzfTMzCquUHzJUk8gXpZR9tqJUpXi.ouPgQzU9x82_CTMX", "recording_files": [ { "id": "efa48ceb-d3b8-4da2-b8cf-2cc90f4f5753", "meeting_id": "QKDKFMoNTpWQU0E+RkjHcw==", "recording_start": "2024-11-29T16:41:44Z", "recording_end": "2024-11-29T16:41:54Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 482335, "play_url": "https://us06web.zoom.us/rec/play/b63tDN5K6EssPGgXJDuBVpgihk8AQg3_IkXSzH5NXP989Ju8iMBtW75kggjMzlLTFkjz3v0Ayprs7vAK.S4q9sFEOpVUhcQCx", "download_url": "https://us06web.zoom.us/rec/download/b63tDN5K6EssPGgXJDuBVpgihk8AQg3_IkXSzH5NXP989Ju8iMBtW75kggjMzlLTFkjz3v0Ayprs7vAK.S4q9sFEOpVUhcQCx", "status": "completed", "recording_type": "shared_screen_with_speaker_view" }, { "id": "f4bea321-f73a-44c9-a340-a0b672db4a92", "meeting_id": "QKDKFMoNTpWQU0E+RkjHcw==", "recording_start": "2024-11-29T16:41:44Z", "recording_end": "2024-11-29T16:41:54Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 148938, "play_url": "https://us06web.zoom.us/rec/play/Bdxu50bQ5ZgeyePZsL55S-YCSIExUWmwDjFqCFw3yHAj_F7SRWyBBIh6zj2alcG_A32XfImhVZo4tNuE.L0yNTr-9d0N3yTsv", "download_url": "https://us06web.zoom.us/rec/download/Bdxu50bQ5ZgeyePZsL55S-YCSIExUWmwDjFqCFw3yHAj_F7SRWyBBIh6zj2alcG_A32XfImhVZo4tNuE.L0yNTr-9d0N3yTsv", "status": "completed", "recording_type": "audio_only" }, { "id": "50131d21-3707-4909-9e54-2309684f650c", "meeting_id": "QKDKFMoNTpWQU0E+RkjHcw==", "recording_start": "2024-11-29T16:41:44Z", "recording_end": "2024-11-29T16:41:54Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/KaXHYJVJL5rX8Eh6rzkNn4-wAIm4IKcBGj5drsO8eBLgPUA20nYt4_WQciTO2xnUMLWa5DzQ3kPnfc1a.nnXzK5eCrlCnGXp2", "status": "completed", "recording_type": "timeline" } ], "recording_play_passcode": "xyJaQiQaoWOS7JgKJGggkWeQ5OYwM1-f" }, { "uuid": "/z8UNSR8RaGPPDyT1wULKA==", "id": 87049998289, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:41:17Z", "timezone": "", "duration": 0, "total_size": 494798, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/H3FITfcmhX8m4qJ8lGRH0GE13aRwBVf3Amrrl_fEaeoj7Npt9mgznt244iKmZJqo.qnk26ZgoseGmnJUU", "recording_files": [ { "id": "66f42a8b-f2e5-4dfc-9172-445fe56dfa12", "meeting_id": "/z8UNSR8RaGPPDyT1wULKA==", "recording_start": "2024-11-29T16:41:25Z", "recording_end": "2024-11-29T16:41:33Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 117364, "play_url": "https://us06web.zoom.us/rec/play/Gh6amMby35jYSCqPQ2zWTucsI6jB4yFo4tRyP12YtZ2lEKJdWGShMhsWyKwhlQ8nWOpdJFakOlCygiva.56dDO1o6hbPYOMcT", "download_url": "https://us06web.zoom.us/rec/download/Gh6amMby35jYSCqPQ2zWTucsI6jB4yFo4tRyP12YtZ2lEKJdWGShMhsWyKwhlQ8nWOpdJFakOlCygiva.56dDO1o6hbPYOMcT", "status": "completed", "recording_type": "audio_only" }, { "id": "1bad57dd-65c2-4488-bb38-b39893ad71b2", "meeting_id": "/z8UNSR8RaGPPDyT1wULKA==", "recording_start": "2024-11-29T16:41:25Z", "recording_end": "2024-11-29T16:41:33Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/kzSruF1iwpDHtQ4uH7IkODEwF9xnrIZVrK_uoKvAbyyfilvXlHnLCbQOitgCxFY0m2f8NEMrCcGsH59B.pTI_yag2tQXFNr_M", "status": "completed", "recording_type": "timeline" }, { "id": "f01ce19c-5397-4c8d-90f8-1b4e493593ce", "meeting_id": "/z8UNSR8RaGPPDyT1wULKA==", "recording_start": "2024-11-29T16:41:25Z", "recording_end": "2024-11-29T16:41:33Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 377341, "play_url": "https://us06web.zoom.us/rec/play/4N56ynR5xkfdybGi3WZ4Pu1THPkE9RAsJ-JP4pFR2-UgMsisugFlfrvrsoMiUx9kZlxXGjAU3aZglnv9.7qeDktvnTGJgC1RH", "download_url": "https://us06web.zoom.us/rec/download/4N56ynR5xkfdybGi3WZ4Pu1THPkE9RAsJ-JP4pFR2-UgMsisugFlfrvrsoMiUx9kZlxXGjAU3aZglnv9.7qeDktvnTGJgC1RH", "status": "completed", "recording_type": "shared_screen_with_speaker_view" } ], "recording_play_passcode": "yIEfghMHyGdqA1m2HzjZ4b37LijgHp1I" }, { "uuid": "eTpNrTpLQr2rQZCnLDRf7A==", "id": 88016730117, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:40:56Z", "timezone": "", "duration": 0, "total_size": 673519, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/8e1FmYNabJwH5w_vLIZ3wKP3nRgxYLdUhVAi2hDMGvPsejedXbbWdlDBbkmxRgJP.-pnXaj7fjX-8MF5T", "recording_files": [ { "id": "a50274a5-dc73-4ffc-a65a-5c9b0a5b6b53", "meeting_id": "eTpNrTpLQr2rQZCnLDRf7A==", "recording_start": "2024-11-29T16:41:02Z", "recording_end": "2024-11-29T16:41:12Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 508192, "play_url": "https://us06web.zoom.us/rec/play/E6OwzWMW16MTL6SBEeveWgEZfG6h5RnJJB5vg5RLQUndShagUh9UTZBHmBlcc5qPQYoUnzXMk4ndGfSu.ibEbI56o5OgJUO5c", "download_url": "https://us06web.zoom.us/rec/download/E6OwzWMW16MTL6SBEeveWgEZfG6h5RnJJB5vg5RLQUndShagUh9UTZBHmBlcc5qPQYoUnzXMk4ndGfSu.ibEbI56o5OgJUO5c", "status": "completed", "recording_type": "shared_screen_with_speaker_view" }, { "id": "e04219b0-6cfe-4ff6-84e8-ce31f23d708f", "meeting_id": "eTpNrTpLQr2rQZCnLDRf7A==", "recording_start": "2024-11-29T16:41:02Z", "recording_end": "2024-11-29T16:41:12Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 165234, "play_url": "https://us06web.zoom.us/rec/play/pOUnqihVsYBJ1xl3OsUVlPNu0fqtMMexIhnkiloOh6xqD5yq5-1i6rNojhzsYlGd0AFyd-ci_OcWe1Vk.rum6yq3KS5JXZ2iD", "download_url": "https://us06web.zoom.us/rec/download/pOUnqihVsYBJ1xl3OsUVlPNu0fqtMMexIhnkiloOh6xqD5yq5-1i6rNojhzsYlGd0AFyd-ci_OcWe1Vk.rum6yq3KS5JXZ2iD", "status": "completed", "recording_type": "audio_only" }, { "id": "7e9b4327-e485-4b0e-8c50-a47b87592849", "meeting_id": "eTpNrTpLQr2rQZCnLDRf7A==", "recording_start": "2024-11-29T16:41:02Z", "recording_end": "2024-11-29T16:41:12Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/YEbN_9I24hsy_FWHE8lxOntwLeZIedQPBzH_TlMdyo0LNgcIN71DI70fOT-4df31A4DgpBcFUiU9_pzP.MeCWXiSw5MxWimVj", "status": "completed", "recording_type": "timeline" } ], "recording_play_passcode": "OxC7UkCN1vuzOvYc4tDvKy75TuS8i6YN" }, { "uuid": "Cn8sIsx/RY2REPUzQtJA7Q==", "id": 87632287680, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:40:38Z", "timezone": "", "duration": 0, "total_size": 468648, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/sup1bKPN2VM1x8sdCJQ6OnS-PxTTSmYxZsepdtt97z5FGQTiNHaMGGttU6vnAvub.GCiVlOraXxcIFGnM", "recording_files": [ { "id": "51309365-b312-448d-ab7c-522f4ea54e2c", "meeting_id": "Cn8sIsx/RY2REPUzQtJA7Q==", "recording_start": "2024-11-29T16:40:44Z", "recording_end": "2024-11-29T16:40:51Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 357307, "play_url": "https://us06web.zoom.us/rec/play/36ElMYtPZOy_McbkR0gtVLrLgRWMaus503Xt4i7kw42suKNXFB85H3XoCpSoecxCXuMckyxiV6Ubd3F9.3-3iNXFkkkpLgMQJ", "download_url": "https://us06web.zoom.us/rec/download/36ElMYtPZOy_McbkR0gtVLrLgRWMaus503Xt4i7kw42suKNXFB85H3XoCpSoecxCXuMckyxiV6Ubd3F9.3-3iNXFkkkpLgMQJ", "status": "completed", "recording_type": "shared_screen_with_speaker_view" }, { "id": "f5c436fe-c862-4dd1-a7e1-a86f4a43cf0f", "meeting_id": "Cn8sIsx/RY2REPUzQtJA7Q==", "recording_start": "2024-11-29T16:40:44Z", "recording_end": "2024-11-29T16:40:51Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 111248, "play_url": "https://us06web.zoom.us/rec/play/WyxnEi7WFi1so1VDQbJQx1WUN31a3LBvKpZ-wNuW4YEj1rtkjAbt22lY9AHzVEcikcWYLqhWGdeU7yKd.Ie7OmybOjDcAKtiv", "download_url": "https://us06web.zoom.us/rec/download/WyxnEi7WFi1so1VDQbJQx1WUN31a3LBvKpZ-wNuW4YEj1rtkjAbt22lY9AHzVEcikcWYLqhWGdeU7yKd.Ie7OmybOjDcAKtiv", "status": "completed", "recording_type": "audio_only" }, { "id": "0f4f6198-b00c-4ad5-8906-3f159613c90b", "meeting_id": "Cn8sIsx/RY2REPUzQtJA7Q==", "recording_start": "2024-11-29T16:40:44Z", "recording_end": "2024-11-29T16:40:51Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/G9RQRGN3kWfsjRaCG5A3wNrQ9VMhLEi_HiFSXiUJS262f0Um3CE-rDEDcdFw8m1lMwcsm-t5NP59kQsW.rjZOLsPt6jKyVXou", "status": "completed", "recording_type": "timeline" } ], "recording_play_passcode": "TgWuDdo8rEsEJd8I4PhJt2L-7FtmHBau" }, { "uuid": "hShLYb1+TwaODkjJtGpF6w==", "id": 84908130120, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:40:19Z", "timezone": "", "duration": 0, "total_size": 556397, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/d0EzqrQqxYdhcgYWfZoHtCUQY2CbawbNN3JaV_UsD1Tj16bFkWlsW3pBbkHQ3Uya.nRrlbbyMzR9lv74R", "recording_files": [ { "id": "4b667c7b-7669-430f-9955-9c4415d85e45", "meeting_id": "hShLYb1+TwaODkjJtGpF6w==", "recording_start": "2024-11-29T16:40:25Z", "recording_end": "2024-11-29T16:40:34Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 419081, "play_url": "https://us06web.zoom.us/rec/play/7zD4xvZSFu7SiY0v94FHAI-yIhvYbZnJEjyncdOIBNDRn3PC9ZvWVpMdRbfHjZUgSkkiQ2aYuq3ivUjv.lJMFJ-zBNR3dBCBt", "download_url": "https://us06web.zoom.us/rec/download/7zD4xvZSFu7SiY0v94FHAI-yIhvYbZnJEjyncdOIBNDRn3PC9ZvWVpMdRbfHjZUgSkkiQ2aYuq3ivUjv.lJMFJ-zBNR3dBCBt", "status": "completed", "recording_type": "shared_screen_with_speaker_view" }, { "id": "a9b74152-e801-4495-90eb-3ab28b74e0a3", "meeting_id": "hShLYb1+TwaODkjJtGpF6w==", "recording_start": "2024-11-29T16:40:25Z", "recording_end": "2024-11-29T16:40:34Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 137223, "play_url": "https://us06web.zoom.us/rec/play/nha5NiNm3lT4AWAtOdMQywm1uLDqfEOcXLbE-pPVLnD1cecqb9_tdUjQE8FUToWPUDEkYE8iIH2CJMNk.Dh6FDItiTEJdSrRf", "download_url": "https://us06web.zoom.us/rec/download/nha5NiNm3lT4AWAtOdMQywm1uLDqfEOcXLbE-pPVLnD1cecqb9_tdUjQE8FUToWPUDEkYE8iIH2CJMNk.Dh6FDItiTEJdSrRf", "status": "completed", "recording_type": "audio_only" }, { "id": "b1a30f55-56d2-4a7a-9b47-d8262f57260c", "meeting_id": "hShLYb1+TwaODkjJtGpF6w==", "recording_start": "2024-11-29T16:40:25Z", "recording_end": "2024-11-29T16:40:34Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/qut7oXMVZDMJ9YcUQ7KAEA860ywCMGC2h1DfnLp69ce9dJu5D8otv-48DQrlgfA1e4LC0NldhJxbsErN.S-SMYugm1NC-Qcsu", "status": "completed", "recording_type": "timeline" } ], "recording_play_passcode": "V9UdYwdt0addDlhVDBIF9ip0tOEazRlI" }, { "uuid": "LDd2julzS4+omeICNmbgXQ==", "id": 85044679298, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:39:59Z", "timezone": "", "duration": 0, "total_size": 464611, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/22GlGADNsrtsKbOYAS-HCyc3Xk6-4auXv-Q9IDpiRe6sdTmUXvAGjB4tcUHita5I.vKCR28SDSKFCjtkz", "recording_files": [ { "id": "1d3a1d80-2a45-44c0-b1d8-83e16070b271", "meeting_id": "LDd2julzS4+omeICNmbgXQ==", "recording_start": "2024-11-29T16:40:06Z", "recording_end": "2024-11-29T16:40:13Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 109721, "play_url": "https://us06web.zoom.us/rec/play/pHRQh_3-jUaVSlS31q1lroG5VeWcdCbEyThwbtM0SOJQEFMqhV3WpV0tW_6yQfolKQpDYlAZGSrAAiMA.oWFH4Bb0uh2aph3I", "download_url": "https://us06web.zoom.us/rec/download/pHRQh_3-jUaVSlS31q1lroG5VeWcdCbEyThwbtM0SOJQEFMqhV3WpV0tW_6yQfolKQpDYlAZGSrAAiMA.oWFH4Bb0uh2aph3I", "status": "completed", "recording_type": "audio_only" }, { "id": "23a7af00-2f28-42d1-85aa-5a79638151bf", "meeting_id": "LDd2julzS4+omeICNmbgXQ==", "recording_start": "2024-11-29T16:40:06Z", "recording_end": "2024-11-29T16:40:13Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/5_lIBkD2N-lOz3uFIyG5yzeM3G5jtN6tStJyE4V6RJx-YLQiYSh2p-PB5qrG636WbRybCHVcrPGqjIte.LdbV2qEUA-TG4kz0", "status": "completed", "recording_type": "timeline" }, { "id": "7765cb6a-fa7f-4f20-bb9e-8d8f66b110a4", "meeting_id": "LDd2julzS4+omeICNmbgXQ==", "recording_start": "2024-11-29T16:40:06Z", "recording_end": "2024-11-29T16:40:13Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 354797, "play_url": "https://us06web.zoom.us/rec/play/afGhmk0ytCDFP0ps9CotndTgoF0jhlfnDwOaCUquRfq1iGfqZcESt1UkH2k9WZAiF8pJakeEdvGjHqqO.3iS501L7FcsRuVTF", "download_url": "https://us06web.zoom.us/rec/download/afGhmk0ytCDFP0ps9CotndTgoF0jhlfnDwOaCUquRfq1iGfqZcESt1UkH2k9WZAiF8pJakeEdvGjHqqO.3iS501L7FcsRuVTF", "status": "completed", "recording_type": "shared_screen_with_speaker_view" } ], "recording_play_passcode": "1x3d7au5qk-WcT6QfmnLy_1BCkG_6yQW" }, { "uuid": "iYogcX+xQwCiJpQGLB6CRQ==", "id": 87064100194, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:39:40Z", "timezone": "", "duration": 0, "total_size": 471352, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/dkGsN4A3-wen5lyImHUAec2GFvFaFlyJzuMfRl41R1usRLeTszS320vh90YKtOM.TMQycUMelt2HvY9P", "recording_files": [ { "id": "0eb90f40-4be5-495b-94a4-ef1949ee347d", "meeting_id": "iYogcX+xQwCiJpQGLB6CRQ==", "recording_start": "2024-11-29T16:39:47Z", "recording_end": "2024-11-29T16:39:54Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 353895, "play_url": "https://us06web.zoom.us/rec/play/AkxXtcoIcAhT29d6fS-n5W-vZ7a7sLiW-UH8TY5HBqPYYS9Ki3QQyt7N_-SHjRcwVEDpIPFOpndA6hi4.jBqzxrRrWjinMKZn", "download_url": "https://us06web.zoom.us/rec/download/AkxXtcoIcAhT29d6fS-n5W-vZ7a7sLiW-UH8TY5HBqPYYS9Ki3QQyt7N_-SHjRcwVEDpIPFOpndA6hi4.jBqzxrRrWjinMKZn", "status": "completed", "recording_type": "shared_screen_with_speaker_view" }, { "id": "9fd38e30-4b7c-4218-93b5-679113451316", "meeting_id": "iYogcX+xQwCiJpQGLB6CRQ==", "recording_start": "2024-11-29T16:39:47Z", "recording_end": "2024-11-29T16:39:54Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 117364, "play_url": "https://us06web.zoom.us/rec/play/ld4-dNC-UyMYpK8yDGEHkN4pymtyXRV-zQz_XpGoMxg397Qyd-r7cghVwXYQvMmNLfodul9oKI9PNtCp.dTBbUrkb00bmQNyX", "download_url": "https://us06web.zoom.us/rec/download/ld4-dNC-UyMYpK8yDGEHkN4pymtyXRV-zQz_XpGoMxg397Qyd-r7cghVwXYQvMmNLfodul9oKI9PNtCp.dTBbUrkb00bmQNyX", "status": "completed", "recording_type": "audio_only" }, { "id": "894d37aa-0ccd-4fe6-8911-e49d11626ed8", "meeting_id": "iYogcX+xQwCiJpQGLB6CRQ==", "recording_start": "2024-11-29T16:39:47Z", "recording_end": "2024-11-29T16:39:54Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/D2qJVvGhaKT4TI4CQ-ODgcBQDNRuxYIfrPCupBQYYubab8paMeGNzI4cz65q1ns9gJEERsbDLw_9CwPD.0c44M8ZuHQktz68X", "status": "completed", "recording_type": "timeline" } ], "recording_play_passcode": "bkpVOh63EazxmmWbDAT8lvpuV1CHj1BY" }, { "uuid": "pJmHtJW9SjuImTTX8q+X4w==", "id": 81452014592, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:38:52Z", "timezone": "", "duration": 0, "total_size": 450148, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/JUnMSPSsWaWg8KOZ32GTBylcBqEHb9BOL8xKdoY8QSyIC-OEqTCi3_c8xMXIjUei.IttWkbOE1bHMqaEQ", "recording_files": [ { "id": "7d51dbb4-b326-4f26-9073-1faea27ce8c1", "meeting_id": "pJmHtJW9SjuImTTX8q+X4w==", "recording_start": "2024-11-29T16:38:59Z", "recording_end": "2024-11-29T16:39:06Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 343897, "play_url": "https://us06web.zoom.us/rec/play/tJkwwfHMIBvLL-9K1wrTNLOd9OecFzKvB6iw38KE2NfbEjpRe1XhZHcWJ-S7764CJG_Bcq3octk2fCSC.W-d0y8V2f4k6OJqQ", "download_url": "https://us06web.zoom.us/rec/download/tJkwwfHMIBvLL-9K1wrTNLOd9OecFzKvB6iw38KE2NfbEjpRe1XhZHcWJ-S7764CJG_Bcq3octk2fCSC.W-d0y8V2f4k6OJqQ", "status": "completed", "recording_type": "shared_screen_with_speaker_view" }, { "id": "b6797ea2-42d8-41fe-b471-6faa5ce7866e", "meeting_id": "pJmHtJW9SjuImTTX8q+X4w==", "recording_start": "2024-11-29T16:38:59Z", "recording_end": "2024-11-29T16:39:06Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 106158, "play_url": "https://us06web.zoom.us/rec/play/SfWKQwhGQBVFSKgn-Yvf7EGeuAjZ1E1EbYkqIFF0RBu_5Smoks0uPHx_DlCuTUfr5yLvmqsEt8ayX5Kh.sxhdSmNBIJxPDUC1", "download_url": "https://us06web.zoom.us/rec/download/SfWKQwhGQBVFSKgn-Yvf7EGeuAjZ1E1EbYkqIFF0RBu_5Smoks0uPHx_DlCuTUfr5yLvmqsEt8ayX5Kh.sxhdSmNBIJxPDUC1", "status": "completed", "recording_type": "audio_only" }, { "id": "07b7ecb0-5b77-444f-877f-6936918943f6", "meeting_id": "pJmHtJW9SjuImTTX8q+X4w==", "recording_start": "2024-11-29T16:38:59Z", "recording_end": "2024-11-29T16:39:06Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/H4Ll8M0F9r8xE3j6-RBqRpT4ekeSGtUNUmF6IaBn-6LEOmYhgdxoeaIx4z6aVmxpH0fq5qHlF6FEuCyQ.gMNT3Gq7UAg6DnYA", "status": "completed", "recording_type": "timeline" } ], "recording_play_passcode": "ikkBzTsFAXM_VGQzenU8kslt8G7COD7E" }, { "uuid": "QY9f0+WqTrmIWZwXxrAtvA==", "id": 86452976885, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:38:34Z", "timezone": "", "duration": 0, "total_size": 472405, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/8mhll6UXqolmwqMI5qqb7wgFNp96K3tFw74k3jXqYzZO1yEcMWchgeLasd-6xc2W.KB0HqAO_20yjy6as", "recording_files": [ { "id": "cd9925ef-0144-4fa7-9f60-0b2c9e2112cb", "meeting_id": "QY9f0+WqTrmIWZwXxrAtvA==", "recording_start": "2024-11-29T16:38:41Z", "recording_end": "2024-11-29T16:38:48Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 353930, "play_url": "https://us06web.zoom.us/rec/play/n0jbG8AhyISu4pHOQOCr674Ekyab8YiYDrwbM7T0igkT82G21rMpS2DU1K3QrFy1phpiXEHz_5_ImU2P.SrNtEc1eHq5-3_G_", "download_url": "https://us06web.zoom.us/rec/download/n0jbG8AhyISu4pHOQOCr674Ekyab8YiYDrwbM7T0igkT82G21rMpS2DU1K3QrFy1phpiXEHz_5_ImU2P.SrNtEc1eHq5-3_G_", "status": "completed", "recording_type": "shared_screen_with_speaker_view" }, { "id": "ea5294e3-9b3b-4191-9373-49c41ad6e686", "meeting_id": "QY9f0+WqTrmIWZwXxrAtvA==", "recording_start": "2024-11-29T16:38:41Z", "recording_end": "2024-11-29T16:38:48Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 118382, "play_url": "https://us06web.zoom.us/rec/play/QS7dG5fa70REfn4xiiVEOsyyVCPWDq8hV05vAR3PqVIsgogHjnQdzWb4HlLYmzsdTQay4TUm80_H4rCY.M6UKLA4LIp4C2ORD", "download_url": "https://us06web.zoom.us/rec/download/QS7dG5fa70REfn4xiiVEOsyyVCPWDq8hV05vAR3PqVIsgogHjnQdzWb4HlLYmzsdTQay4TUm80_H4rCY.M6UKLA4LIp4C2ORD", "status": "completed", "recording_type": "audio_only" }, { "id": "39489201-3801-4f9d-b801-b36c503199b9", "meeting_id": "QY9f0+WqTrmIWZwXxrAtvA==", "recording_start": "2024-11-29T16:38:41Z", "recording_end": "2024-11-29T16:38:48Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/zRhR_lWhPM0n__pW0JEPZQdhQV-f13dLonaGlZBwDOpOs2agx2fWaybhlR2kUuTSjzLg-f5npH2yA5A7.Evnmwd3dQEZKIBe7", "status": "completed", "recording_type": "timeline" } ], "recording_play_passcode": "Bo3J8GUJ_nM_cRRY4s3vCtLUZKLkIY3E" }, { "uuid": "DqEMG9/LQ7STZGPHhi9DEg==", "id": 89542038278, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:38:08Z", "timezone": "", "duration": 0, "total_size": 639579, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/rFFAf8GkO4iONlCiy6wMTCu3nT8t7Vrs1DZz5gESObmq8VMlmAEOSswzA1TfZ5ms.5tynUBKbTVcplIoc", "recording_files": [ { "id": "94bd6aed-8640-4c02-a0c8-9bd3ac8a3715", "meeting_id": "DqEMG9/LQ7STZGPHhi9DEg==", "recording_start": "2024-11-29T16:38:18Z", "recording_end": "2024-11-29T16:38:27Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 488512, "play_url": "https://us06web.zoom.us/rec/play/DiAsTNa1QPiqR0O5EuhfHmEF3Mlhbvkrg8IeKFwbnXm16TnT_L7kOlufIr9ByUb5HrNPZadBxgctKT_R.onbRBxkpU-QjJyeE", "download_url": "https://us06web.zoom.us/rec/download/DiAsTNa1QPiqR0O5EuhfHmEF3Mlhbvkrg8IeKFwbnXm16TnT_L7kOlufIr9ByUb5HrNPZadBxgctKT_R.onbRBxkpU-QjJyeE", "status": "completed", "recording_type": "shared_screen_with_speaker_view" }, { "id": "bfb68a91-ea0e-4363-ad19-4e11a5d8f322", "meeting_id": "DqEMG9/LQ7STZGPHhi9DEg==", "recording_start": "2024-11-29T16:38:18Z", "recording_end": "2024-11-29T16:38:27Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 150974, "play_url": "https://us06web.zoom.us/rec/play/ZRMw6l65Anyc5ZcgofJbj-4TOeMKligIjjYKfAsv6xfDVScFbciD0_8wpTeJBp7GxyhkDkoErfVw5qqF.vFULl4VSeXqvQMdh", "download_url": "https://us06web.zoom.us/rec/download/ZRMw6l65Anyc5ZcgofJbj-4TOeMKligIjjYKfAsv6xfDVScFbciD0_8wpTeJBp7GxyhkDkoErfVw5qqF.vFULl4VSeXqvQMdh", "status": "completed", "recording_type": "audio_only" }, { "id": "1cad4ff6-7940-4748-bfe5-f4a1800d3cc3", "meeting_id": "DqEMG9/LQ7STZGPHhi9DEg==", "recording_start": "2024-11-29T16:38:18Z", "recording_end": "2024-11-29T16:38:27Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/yzgyVodi2FkZZjJ7stpfGnVHSEJTRyvg4w65Puww2BZcb6eOpZH0abk4RP9lmGWwv8djn7Qgl7oahEgG.Z7sN46VgwQGmnJs1", "status": "completed", "recording_type": "timeline" } ], "recording_play_passcode": "7rjillf9kdVzn3--aKZVArWc4rS_FBTq" }, { "uuid": "hmrLAJjiQVOSefMPNc97yA==", "id": 85707902016, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:37:46Z", "timezone": "", "duration": 0, "total_size": 545270, "recording_count": 3, "share_url": "https://us06web.zoom.us/rec/share/i0NK1RPn4QrgczChdVfjZLBVbimMXn3Ug9hmz5ZI-rJkHXGHRiiiq7bYq4EHFneR.yOCmDOtFAJ_bD_pD", "recording_files": [ { "id": "70712011-4940-4c03-9a5a-5243aab9bed4", "meeting_id": "hmrLAJjiQVOSefMPNc97yA==", "recording_start": "2024-11-29T16:37:55Z", "recording_end": "2024-11-29T16:38:03Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 134169, "play_url": "https://us06web.zoom.us/rec/play/GFiy7IJUmoJs5ckjhPzWIJ68MUOBzqcgf01Liu-8KQlfg49-H7FxnRX6z_g7HYZ5ZrVTy_s0aFBW39uY.S75ST7NpQAk1_gnW", "download_url": "https://us06web.zoom.us/rec/download/GFiy7IJUmoJs5ckjhPzWIJ68MUOBzqcgf01Liu-8KQlfg49-H7FxnRX6z_g7HYZ5ZrVTy_s0aFBW39uY.S75ST7NpQAk1_gnW", "status": "completed", "recording_type": "audio_only" }, { "id": "9c109d63-f400-488e-bd13-a9331f199fdc", "meeting_id": "hmrLAJjiQVOSefMPNc97yA==", "recording_start": "2024-11-29T16:37:55Z", "recording_end": "2024-11-29T16:38:03Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/cqjlfUK6jD2lcXV7Zb7ZVkgx7uUb29jbDw1pmHWmZNsWP2mwyrcwPkbx9UHl62aG4jPdqMBwl_ieejNL.4nFc67-hJpMnwFS3", "status": "completed", "recording_type": "timeline" }, { "id": "85e4b555-af6b-4306-8c26-42896264e4ec", "meeting_id": "hmrLAJjiQVOSefMPNc97yA==", "recording_start": "2024-11-29T16:37:55Z", "recording_end": "2024-11-29T16:38:03Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 411008, "play_url": "https://us06web.zoom.us/rec/play/SdfrbQc9ap5MS5nIHRvo_JToa3nQK8fYGhJeiEDhCWVD3cI9UIaRwKkXVq9exjUG4TlNmcloxkGEwTSA.8d3IHhx49Fnx1Gxq", "download_url": "https://us06web.zoom.us/rec/download/SdfrbQc9ap5MS5nIHRvo_JToa3nQK8fYGhJeiEDhCWVD3cI9UIaRwKkXVq9exjUG4TlNmcloxkGEwTSA.8d3IHhx49Fnx1Gxq", "status": "completed", "recording_type": "shared_screen_with_speaker_view" } ], "recording_play_passcode": "H_oiIl2p1JG8OBy0MX262JF9YuAIwjhg" }, { "uuid": "vdS61Oa8T3qGIEAMRIoHpg==", "id": 82400944973, "account_id": "uET0tmHjSNKK9pR945WnSg", "host_id": "MoRLcTuVS12AoJ72n6L11Q", "topic": "Bastien Beurier's Zoom Meeting", "type": 1, "start_time": "2024-11-29T16:34:49Z", "timezone": "", "duration": 0, "total_size": 1040523, "recording_count": 6, "share_url": "https://us06web.zoom.us/rec/share/5VAxWM7REHF0uJNKvnIIbxYBcgzriuMzWoh09lgNt880fcwGVwvWA7DIs5PQcCeg.7otacoZp-v3UfmmD", "recording_files": [ { "id": "19c95bff-ab19-4734-9909-48ec5763514a", "meeting_id": "vdS61Oa8T3qGIEAMRIoHpg==", "recording_start": "2024-11-29T16:36:00Z", "recording_end": "2024-11-29T16:36:12Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 181530, "play_url": "https://us06web.zoom.us/rec/play/IHZq-TLI494nz1TTK9rQZKkfxg0e3rq2AC1kryfBfkVcw6wCP83bgmgStzihU_fVJvaS1SCGMCxOLh-W.DSbF7NwKlse7SIRW", "download_url": "https://us06web.zoom.us/rec/download/IHZq-TLI494nz1TTK9rQZKkfxg0e3rq2AC1kryfBfkVcw6wCP83bgmgStzihU_fVJvaS1SCGMCxOLh-W.DSbF7NwKlse7SIRW", "status": "completed", "recording_type": "audio_only" }, { "id": "e2fabbad-3a34-4a6c-b83c-2c8612947a12", "meeting_id": "vdS61Oa8T3qGIEAMRIoHpg==", "recording_start": "2024-11-29T16:36:00Z", "recording_end": "2024-11-29T16:36:12Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 93, "download_url": "https://us06web.zoom.us/rec/download/SKy8gI85914ASD2NHUwcyAQTbWWOeWDUmchobiddK8tuk32kRb-mx0xIcPbU--rZFfuwxPYHjf4xa6N0.kp7hxpxPguGCPOyQ", "status": "completed", "recording_type": "timeline" }, { "id": "43eca7eb-417d-4bee-b480-843eb9c9b264", "meeting_id": "vdS61Oa8T3qGIEAMRIoHpg==", "recording_start": "2024-11-29T16:36:17Z", "recording_end": "2024-11-29T16:36:24Z", "file_type": "M4A", "file_extension": "M4A", "file_size": 107685, "play_url": "https://us06web.zoom.us/rec/play/2WFDB5W4Amal7zuXBL2y4Bkz2SKdSHhgu0NC_8XpLFeRvOAP9vvNRACoOLUNbtjewZDkAmvzAZbZfZjk.P969vzheyEVqPA51", "download_url": "https://us06web.zoom.us/rec/download/2WFDB5W4Amal7zuXBL2y4Bkz2SKdSHhgu0NC_8XpLFeRvOAP9vvNRACoOLUNbtjewZDkAmvzAZbZfZjk.P969vzheyEVqPA51", "status": "completed", "recording_type": "audio_only" }, { "id": "a1690908-8084-45be-9dbd-69f4f900e4a6", "meeting_id": "vdS61Oa8T3qGIEAMRIoHpg==", "recording_start": "2024-11-29T16:36:17Z", "recording_end": "2024-11-29T16:36:24Z", "file_type": "TIMELINE", "file_extension": "JSON", "file_size": 21, "download_url": "https://us06web.zoom.us/rec/download/vSqDQJUzuaugZs83Jy3_ASpvW68wrAyZD0imJLkJbvpXXRNV2w-yZyDYmYysfL5dV-Cm0h_C8uGOXroa.nJFWEBNa8W_inHqI", "status": "completed", "recording_type": "timeline" }, { "id": "621c7ebb-82b5-4228-a2cc-a0a05ec26332", "meeting_id": "vdS61Oa8T3qGIEAMRIoHpg==", "recording_start": "2024-11-29T16:36:00Z", "recording_end": "2024-11-29T16:36:12Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 437711, "play_url": "https://us06web.zoom.us/rec/play/5sJGtkYkTDmNZVzi0t-P9aPp5Y3c-uYk0kNX0er_D8rtTTsZaRcIPrPhTkGJXhJCbhmK0I0ihJxT4z-S.ScZZSENU6-BPQFsc", "download_url": "https://us06web.zoom.us/rec/download/5sJGtkYkTDmNZVzi0t-P9aPp5Y3c-uYk0kNX0er_D8rtTTsZaRcIPrPhTkGJXhJCbhmK0I0ihJxT4z-S.ScZZSENU6-BPQFsc", "status": "completed", "recording_type": "shared_screen_with_speaker_view" }, { "id": "8038fdd7-3437-4d83-8f22-bacbfcbeeddf", "meeting_id": "vdS61Oa8T3qGIEAMRIoHpg==", "recording_start": "2024-11-29T16:36:17Z", "recording_end": "2024-11-29T16:36:24Z", "file_type": "MP4", "file_extension": "MP4", "file_size": 313483, "play_url": "https://us06web.zoom.us/rec/play/3O0VKnF330pE9LfeYcoY3KhqF8UgBNA8SnZ2-gGcMNPRhFKs8rZVlZaEyL-4686xo0gSNpAY7cxm21H2.9XakJPO12KUHW5te", "download_url": "https://us06web.zoom.us/rec/download/3O0VKnF330pE9LfeYcoY3KhqF8UgBNA8SnZ2-gGcMNPRhFKs8rZVlZaEyL-4686xo0gSNpAY7cxm21H2.9XakJPO12KUHW5te", "status": "completed", "recording_type": "shared_screen_with_speaker_view" } ], "recording_play_passcode": "SDIBGIISzTmP1PXiVfhjFL5jA_lue-xJ" } ] } } ```
--------- Co-authored-by: Samuel Bodin <1637651+bodinsamuel@users.noreply.github.com> --- .../lib/services/response-saver.service.ts | 159 ++++++++++++++---- 1 file changed, 123 insertions(+), 36 deletions(-) diff --git a/packages/cli/lib/services/response-saver.service.ts b/packages/cli/lib/services/response-saver.service.ts index f27ccbf21b9..3b740ca2bbe 100644 --- a/packages/cli/lib/services/response-saver.service.ts +++ b/packages/cli/lib/services/response-saver.service.ts @@ -1,38 +1,62 @@ import fs from 'node:fs'; import path from 'node:path'; -import type { AxiosResponse } from 'axios'; +import crypto from 'node:crypto'; +import type { AxiosRequestConfig, AxiosResponse } from 'axios'; import type { Connection } from '@nangohq/shared'; import type { Metadata } from '@nangohq/types'; +const FILTER_HEADERS = [ + 'authorization', + 'user-agent', + 'nango-proxy-user-agent', + 'accept-encoding', + 'retries', + 'host', + 'connection-id', + 'provider-config-key', + 'nango-is-sync', + 'nango-is-dry-run', + 'nango-activity-log-id', + 'content-type', + 'accept', + 'base-url-override' +]; + +interface ConfigIdentity { + method: string; + endpoint: string; + requestIdentityHash: string; + requestIdentity: RequestIdentity; +} + +interface RequestIdentity { + method: string; + endpoint: string; + params: [string, unknown][]; + headers: [string, unknown][]; + data?: unknown; +} + +interface CachedRequest { + requestIdentityHash: string; + requestIdentity: RequestIdentity; + response: unknown; + status: number; + headers: Record; +} + export function ensureDirectoryExists(directoryName: string): void { if (!fs.existsSync(directoryName)) { fs.mkdirSync(directoryName, { recursive: true }); } } -function saveResponse({ - directoryName, - data, - customFilePath, - concatenateIfExists -}: { - directoryName: string; - data: T | T[]; - customFilePath: string; - concatenateIfExists: boolean; -}): void { +function saveResponse({ directoryName, data, customFilePath }: { directoryName: string; data: T | T[]; customFilePath: string }): void { ensureDirectoryExists(`${directoryName}/mocks`); const filePath = path.join(directoryName, customFilePath); ensureDirectoryExists(path.dirname(filePath)); - if (fs.existsSync(filePath)) { - const existingData = JSON.parse(fs.readFileSync(filePath, 'utf8')); - if (concatenateIfExists && Array.isArray(existingData) && Array.isArray(data)) { - data = data.concat(existingData); - } - } - fs.writeFileSync(filePath, JSON.stringify(data, null, 2)); } @@ -51,7 +75,6 @@ export function onAxiosRequestFulfilled({ return response; } const directoryName = `${process.env['NANGO_MOCKS_RESPONSE_DIRECTORY'] ?? ''}${providerConfigKey}`; - const method = response.config.method?.toLowerCase() || 'get'; if (response.request.path.includes(`/connection/${connectionId}?provider_config_key=${providerConfigKey}`)) { const connection = response.data as Connection; @@ -60,35 +83,99 @@ export function onAxiosRequestFulfilled({ saveResponse>({ directoryName, data: { metadata: connection.metadata as Metadata, connection_config: connection.connection_config }, - customFilePath: 'mocks/nango/getConnection.json', - concatenateIfExists: false + customFilePath: 'mocks/nango/getConnection.json' }); saveResponse({ directoryName, data: connection.metadata as Metadata, - customFilePath: 'mocks/nango/getMetadata.json', - concatenateIfExists: false + customFilePath: 'mocks/nango/getMetadata.json' }); return response; } - const [pathname, params] = response.request.path.split('?'); - const strippedPath = pathname.replace('/', ''); - - let concatenateIfExists = false; - - if (params && params.includes('page')) { - concatenateIfExists = true; - } + const requestIdentity = computeConfigIdentity(response.config); - saveResponse({ + saveResponse({ directoryName, - data: response.data, - customFilePath: `mocks/nango/${method}/${strippedPath}/${syncName}.json`, - concatenateIfExists + data: { + ...requestIdentity, + response: response.data, + status: response.status, + headers: response.headers as Record + }, + customFilePath: `mocks/nango/${requestIdentity.method}/proxy/${requestIdentity.endpoint}/${syncName}/${requestIdentity.requestIdentityHash}.json` }); return response; } + +function computeConfigIdentity(config: AxiosRequestConfig): ConfigIdentity { + const method = config.method?.toLowerCase() || 'get'; + const params = sortEntries(Object.entries(config.params || {})); + + const url = new URL(config.url!); + const endpoint = url.pathname.replace(/^\/proxy\//, ''); + + const dataIdentity = computeDataIdentity(config); + + let headers: [string, string][] = []; + if (config.headers !== undefined) { + const filteredHeaders = Object.entries(config.headers).filter(([key]) => !FILTER_HEADERS.includes(key.toLowerCase())); + sortEntries(filteredHeaders); + headers = filteredHeaders; + } + + // order is important to the request hash + const requestIdentity: RequestIdentity = { + method, + endpoint, + params, + headers, + data: dataIdentity + }; + const requestIdentityHash = crypto.createHash('sha1').update(JSON.stringify(requestIdentity)).digest('hex'); + + return { + method, + endpoint, + requestIdentityHash, + requestIdentity + }; +} + +function sortEntries(entries: [string, unknown][]): [string, unknown][] { + return entries.sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0)); +} + +function computeDataIdentity(config: AxiosRequestConfig): string | undefined { + const data = config.data; + + if (!data) { + return undefined; + } + + let dataString = ''; + if (typeof data === 'string') { + dataString = data; + } else if (Buffer.isBuffer(data)) { + dataString = data.toString('base64'); + } else { + try { + dataString = JSON.stringify(data); + } catch (e) { + if (e instanceof Error) { + throw new Error(`Unable to compute request identity: ${e.message}`); + } else { + throw new Error('Unable to compute request identity'); + } + } + } + + if (dataString.length > 1000) { + return 'sha1:' + crypto.createHash('sha1').update(dataString).digest('hex'); + } else { + return dataString; + } +}