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;
+ }
+}