To export the chat messages for a concrete room you need to execute a GET request against the /rooms/:id/chat/export endpoint.
Use the session_id argument if you want to export messages written in a concrete session.
https://api.digitalsamba.com/api/v1/rooms/c39d7c40-7ff7-4faa-b06f-698a639a9523/chat/export?session_id=16e44502-dae5-41f9-b095-e41bf6ac2d1d
Only public chat messages are retrievable. Private (1-to-1) chat is not persisted and cannot be retrieved through the API.
importcom.fasterxml.jackson.databind.ObjectMapper;importjava.net.URI;importjava.net.http.HttpClient;importjava.net.http.HttpRequest;importjava.net.http.HttpResponse;importjava.net.http.HttpResponse.BodyHandlers;importjava.util.Base64;importjava.util.Map;String TEAM_ID ="YOUR_TEAM_ID";String DEVELOPER_KEY ="YOUR_DEVELOPER_KEY";String authorizationHeader ="Bearer "+Base64.getEncoder().encodeToString((TEAM_ID +":"+ DEVELOPER_KEY).getBytes());//Put your room id or friendly_url (name) here - this value is just an exampleString roomId ="c39d7c40-7ff7-4faa-b06f-698a639a9523";HttpRequest request =HttpRequest.newBuilder().GET().uri(newURI("https://api.digitalsamba.com/api/v1/rooms/"+ roomId +"/chat/export")).header("Authorization", authorizationHeader).build();HttpClient client =HttpClient.newHttpClient();HttpResponse<String> response =client.send(request,BodyHandlers.ofString());System.out.println("Status code: "+response.statusCode());System.out.println("Body: "+response.body());
Response (200 OK) with a file attachment
2024-04-1013:00:22 John Smith: How are you?2024-04-1013:00:28 Cillian Murphy: Fine, and you?
Use the format param if you want to export as a JSON file. Permitted values for the format param are txt and json.
/api/v1/rooms/c39d7c40-7ff7-4faa-b06f-698a639a9523/chat/export?format=json