### GET /api/v3/profiles/start/{id} Source: https://docs.gpmloginapp.com/api-document/mo-profile Initiates a new profile session with specified parameters. ```APIDOC ## GET /api/v3/profiles/start/{id} ### Description Starts a new profile session for a given profile ID. Allows for customization of browser window properties such as scale, position, and size, as well as additional browser startup arguments. ### Method GET ### Endpoint /api/v3/profiles/start/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the profile to start. #### Query Parameters - **addination_args** (string) - Optional - Additional arguments to pass during browser startup. Requires advanced knowledge of browser configurations. - **win_scale** (number) - Optional - A value between 0.0 and 1.0 to scale the browser window. - **win_pos** (string) - Optional - The desired position of the browser window in `x,y` coordinates. - **win_size** (string) - Optional - The desired dimensions of the browser window in `width,height` format. ### Request Example ``` http://127.0.0.1:19995/api/v3/profiles/start/xgyasg1995?win_scale=0.8&win_pos=300,300 ``` ### Response #### Success Response (200) - **success** (boolean) - Indicates if the request was successful. - **data** (object) - Contains detailed information about the started profile. - **success** (boolean) - Indicates if the profile session started successfully. - **profile_id** (string) - The ID of the newly started profile. - **browser_location** (string) - The file path to the browser executable. - **remote_debugging_address** (string) - The address for remote debugging. - **driver_path** (string) - The file path to the browser driver. - **message** (string) - A message describing the outcome of the request. #### Response Example ```json { "success": true, "data": { "success": false, "profile_id": "17169ef5-761a-4fc4-9fba-2b634424c8c9", "browser_location": "C:\\Users\\buidu\\AppData\\Local\\Programs\\GPMLogin\\gpm_browser\\gpm_browser_chromium_core_119\\chrome.exe", "remote_debugging_address": "127.0.0.1:53378", "driver_path": "C:\\Users\\buidu\\AppData\\Local\\Programs\\GPMLogin\\gpm_browser\\gpm_browser_chromium_core_119\\gpmdriver.exe" }, "message": "OK" } ``` ``` -------------------------------- ### Retrieve Profiles API Request Source: https://docs.gpmloginapp.com/api-document/danh-sach-profiles This snippet shows how to make a GET request to the /api/v3/profiles endpoint. It includes optional query parameters for filtering by group ID, pagination, sorting, and searching. The example demonstrates a common use case for fetching profiles. ```HTTP GET: /api/v3/profiles Params: group_id (optional): ID group to filter by (obtained from List Groups API). page (optional): Page number (defaults to 1). per_page (optional): Number of profiles per page (defaults to 50). sort (optional): Sorting order (0: Newest, 1: Oldest to Newest, 2: Name A-Z, 3: Name Z-A). search (optional): Keyword for profile name search. Example: http://127.0.0.1:19995/api/v3/profiles?group=Ebay&page=1&per_page=100 ``` -------------------------------- ### GET /api/v3/profile/{id} Source: https://docs.gpmloginapp.com/api-document/lay-thong-tin-profile Retrieves the profile information for a specific user based on their ID. ```APIDOC ## GET /api/v3/profile/{id} ### Description Retrieves the profile information for a specific user based on their ID. ### Method GET ### Endpoint /api/v3/profile/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the profile to retrieve. ### Request Example ``` http://127.0.0.1:19995/api/v3/profiles/929e187c-2da7-4ecb-b3dd-9600e211fa4f ``` ### Response #### Success Response (200) - **success** (boolean) - Indicates if the request was successful. - **data** (object) - Contains the profile data. - **id** (string) - The ID of the profile. - **name** (string) - The name of the profile. - **raw_proxy** (string) - The raw proxy information. - **browser_type** (string) - The type of browser used (e.g., chromium, firefox). - **browser_version** (string) - The version of the browser. - **group_id** (string) - The ID of the group the profile belongs to. - **profile_path** (string) - The local path or S3 location of the profile. - **note** (string) - Any additional notes about the profile. - **created_at** (string) - The date and time the profile was created. - **message** (string) - A message indicating the status of the request (e.g., "OK"). #### Response Example ```json { "success": true, "data": { "id": "ID_OF_PROFILE", "name": "NAME_OF_PROFILE", "raw_proxy": "RAW_PROXY", "browser_type": "chromium / firefox", "browser_version": "BROWSER_VERSISON", "group_id": "ID_OF_GROUP", "profile_path": "Local path or S3", "note": "", "created_at": "DATE" }, "message": "OK" } ``` ``` -------------------------------- ### GET /api/v3/profiles Source: https://docs.gpmloginapp.com/api-document/danh-sach-profiles Retrieves a list of profiles, with options to filter by group, sort order, and search keywords. ```APIDOC ## GET /api/v3/profiles ### Description Retrieves a list of profiles. You can filter by group, page, items per page, sort order, and search term. ### Method GET ### Endpoint /api/v3/profiles ### Parameters #### Query Parameters - **group_id** (string) - Optional - ID group cần lọc (lấy tại api Danh sách nhóm) - **page** (integer) - Optional - Số trang (mặc định 1) - **per_page** (integer) - Optional - Số profile mỗi trang (mặc định 50) - **sort** (integer) - Optional - 0 - Mới nhất, 1 - Cũ tới mới, 2 - Tên A-Z, 3 - Tên Z-A - **search** (string) - Optional - Từ khóa profile name ### Request Example ``` http://127.0.0.1:19995/api/v3/profiles?group=Ebay&page=1&per_page=100 ``` ### Response #### Success Response (200) - **success** (boolean) - Indicates if the request was successful. - **data** (array) - An array of profile objects. - **id** (string) - The unique identifier of the profile. - **name** (string) - The name of the profile. - **raw_proxy** (string) - The raw proxy string. - **browser_type** (string) - The type of browser used (e.g., 'chromium', 'firefox'). - **browser_version** (string) - The version of the browser. - **group_id** (string) - The ID of the group the profile belongs to. - **profile_path** (string) - The path to the profile data (local or S3). - **note** (string) - Any notes associated with the profile. - **created_at** (string) - The date and time the profile was created. - **pagination** (object) - Pagination details for the response. - **total** (integer) - The total number of profiles available. - **page** (integer) - The current page number. - **page_size** (integer) - The number of profiles per page. - **total_page** (integer) - The total number of pages. - **message** (string) - A message indicating the status of the request (e.g., 'OK'). #### Response Example ```json { "success": true, "data": [ { "id": "ID_OF_PROFILE", "name": "NAME_OF_PROFILE", "raw_proxy": "RAW_PROXY", "browser_type": "chromium / firefox", "browser_version": "BROWSER_VERSISON", "group_id": "ID_OF_GROUP", "profile_path": "Local path or S3", "note": "", "created_at": "DATE" } ], "pagination": { "total": 7, "page": 1, "page_size": 100, "total_page": 1 }, "message": "OK" } ``` ``` -------------------------------- ### Profiles API Response Structure Source: https://docs.gpmloginapp.com/api-document/danh-sach-profiles This snippet details the JSON response structure for the GET /api/v3/profiles API endpoint. It includes a 'success' status, 'data' array containing profile objects, 'pagination' information, and a 'message'. Each profile object contains details like ID, name, proxy information, browser type, and creation date. ```JSON { "success": true, "data": [ { "id": "ID_OF_PROFILE", "name": "NAME_OF_PROFILE", "raw_proxy": "RAW_PROXY", "browser_type": "chromium / firefox", "browser_version": "BROWSER_VERSISON", "group_id": "ID_OF_GROUP", "profile_path": "Local path or S3", "note": "", "created_at": "DATE" } ], "pagination": { "total": 7, "page": 1, "page_size": 100, "total_page": 1 }, "message": "OK" } ``` -------------------------------- ### POST /api/v3/profiles/create Source: https://docs.gpmloginapp.com/api-document/tao-profile Creates a new user profile with specified parameters. ```APIDOC ## POST /api/v3/profiles/create ### Description Creates a new user profile with specified parameters. ### Method POST ### Endpoint /api/v3/profiles/create ### Parameters #### Request Body - **profile_name** (string) - Required - The name of the profile. - **group_name** (string) - Optional - The name of the group. - **browser_core** (string) - Optional - The browser core (e.g., "chromium", "firefox"). Defaults to "chromium". - **browser_name** (string) - Optional - The browser name (e.g., "Chrome", "Firefox"). Defaults to "Chrome". - **browser_version** (string) - Optional - The browser version. - **is_random_browser_version** (boolean) - Optional - Whether to use a random browser version. Defaults to false. - **raw_proxy** (string) - Optional - Proxy configuration (e.g., "HTTP proxy| IP:Port:User:Pass", "Socks5| socks5://IP:Port:User:Pass"). - **startup_urls** (string) - Optional - Comma-separated list of startup URLs. - **is_masked_font** (boolean) - Optional - Whether to mask fonts. Defaults to true. - **is_noise_canvas** (boolean) - Optional - Whether to add noise to canvas. Defaults to false. - **is_noise_webgl** (boolean) - Optional - Whether to add noise to WebGL. Defaults to false. - **is_noise_client_rect** (boolean) - Optional - Whether to add noise to client rect. Defaults to false. - **is_noise_audio_context** (boolean) - Optional - Whether to add noise to audio context. Defaults to true. - **is_random_screen** (boolean) - Optional - Whether to use a random screen resolution. Defaults to false. - **is_masked_webgl_data** (boolean) - Optional - Whether to mask WebGL data. Defaults to true. - **is_masked_media_device** (boolean) - Optional - Whether to mask media devices. Defaults to true. - **is_random_os** (boolean) - Optional - Whether to use a random operating system. Defaults to false. - **os** (string) - Optional - The operating system name (e.g., "Windows 11"). - **webrtc_mode** (integer) - Optional - WebRTC mode (1: Off, 2: Base on IP). Defaults to 2. - **user_agent** (string) - Optional - The user agent string. ### Request Example ```json { "profile_name" : "Test profile", "group_name": "All", "browser_core": "chromium", "browser_name": "Chrome", "browser_version": "119.0.6045.124", "is_random_browser_version": false, "raw_proxy" : "", "startup_urls": "", "is_masked_font": true, "is_noise_canvas": false, "is_noise_webgl": false, "is_noise_client_rect": false, "is_noise_audio_context": true, "is_random_screen": false, "is_masked_webgl_data": true, "is_masked_media_device": true, "is_random_os": false, "os": "Windows 11", "webrtc_mode": 2, "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36" } ``` ### Response #### Success Response (200) - **success** (boolean) - Indicates if the request was successful. - **data** (object) - Contains the created profile details. - **id** (string) - The unique identifier of the profile. - **name** (string) - The name of the profile. - **raw_proxy** (string) - The proxy configuration used. - **profile_path** (string) - The path to the profile directory. - **browser_type** (string) - The type of browser. - **browser_version** (string) - The browser version. - **note** (string or null) - Any notes associated with the profile. - **group_id** (integer) - The ID of the group the profile belongs to. - **created_at** (string) - The timestamp when the profile was created. - **message** (string) - A message indicating the status of the operation. #### Response Example ```json { "success": true, "data": { "id": "781d8439-b4c4-4203-a434-c853228110b1", "name": "Test profile", "raw_proxy": "", "profile_path": "wBPmeDpCbL-04122023", "browser_type": "Chrome", "browser_version": "119.0.6045.124", "note": null, "group_id": 1, "created_at": "2023-12-04T21:33:37.1200267+07:00" }, "message": "OK" } ``` ``` -------------------------------- ### Profile Creation POST Data Structure Source: https://docs.gpmloginapp.com/api-document/tao-profile This JSON object defines the structure of the data required to create a new profile. It includes various parameters for browser settings, proxy configuration, and other profile-specific details. Most fields are optional and have default values. ```JSON { "profile_name" : "Test profile", "group_name": "All", "browser_core": "chromium", "browser_name": "Chrome", "browser_version": "119.0.6045.124", "is_random_browser_version": false, "raw_proxy" : "", "startup_urls": "", "is_masked_font": true, "is_noise_canvas": false, "is_noise_webgl": false, "is_noise_client_rect": false, "is_noise_audio_context": true, "is_random_screen": false, "is_masked_webgl_data": true, "is_masked_media_device": true, "is_masked_font": true, "is_random_os": false, "os": "Windows 11", "webrtc_mode": 2, "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36" } ``` -------------------------------- ### Create Profile API Endpoint Source: https://docs.gpmloginapp.com/api-document/tao-profile This section details the API endpoint for creating a new profile. It specifies the HTTP method and the URL path. Ensure you are sending a POST request to this endpoint. ```HTTP POST /api/v3/profiles/create ``` -------------------------------- ### Profile Management API Source: https://docs.gpmloginapp.com/api-document Manage, add, edit, and delete profiles on GPM-Login. Safely open and close profiles, obtaining essential parameters for browser automation. ```APIDOC ## API Overview This API enables third-party applications to manage profiles within the GPM-Login system. Key functionalities include creating, updating, deleting, and retrieving profile information. Additionally, it provides a secure method to open and close profiles, returning connection details required for automation tools. ### Connection Steps 1. **Open Profile:** Initiate a request to open a specific profile. 2. **Obtain Connection Details:** The API will respond with parameters such as `browser_path`, `driver_path`, and `remote_debugging_port`. 3. **Automate:** Use these parameters to establish a connection with automation libraries like Selenium or Puppeteer and interact with the opened profile as usual. ``` -------------------------------- ### Successful Profile Creation Response Source: https://docs.gpmloginapp.com/api-document/tao-profile This JSON object represents a successful response after creating a new profile. It includes a success flag, data pertaining to the created profile such as its ID and name, and a confirmation message. ```JSON { "success": true, "data": { "id": "781d8439-b4c4-4203-a434-c853228110b1", "name": "Test profile", "raw_proxy": "", "profile_path": "wBPmeDpCbL-04122023", "browser_type": "Chrome", "browser_version": "119.0.6045.124", "note": null, "group_id": 1, "created_at": "2023-12-04T21:33:37.1200267+07:00" }, "message": "OK" } ``` -------------------------------- ### DELETE /api/v3/profiles/delete/{profile_id} Source: https://docs.gpmloginapp.com/api-document/xoa-profile Deletes a user profile. The 'mode' query parameter determines whether to delete only from the database or from both the database and storage. ```APIDOC ## DELETE /api/v3/profiles/delete/{profile_id} ### Description Deletes a user profile. The 'mode' query parameter determines whether to delete only from the database or from both the database and storage. ### Method GET ### Endpoint /api/v3/profiles/delete/{profile_id} ### Parameters #### Path Parameters - **profile_id** (string) - Required - The ID of the profile to delete. #### Query Parameters - **mode** (integer) - Optional - Specifies the deletion mode: 1 for database only, 2 for database and storage. ### Request Example ``` GET /api/v3/profiles/delete/123-456-789?mode=2 ``` ### Response #### Success Response (200) - **success** (boolean) - Indicates if the operation was successful. - **data** (null) - The data field is null upon successful deletion. - **message** (string) - A message confirming the successful deletion. #### Response Example ```json { "success": true, "data": null, "message": "Xóa thành công" } ``` ``` -------------------------------- ### POST /api/v3/profiles/update/{profile_id} Source: https://docs.gpmloginapp.com/api-document/cap-nhat-profile Updates an existing profile with the provided information. Fields not included in the request body will remain unchanged. ```APIDOC ## POST /api/v3/profiles/update/{profile_id} ### Description Updates an existing profile with the provided information. Fields not included in the request body will remain unchanged. ### Method POST ### Endpoint /api/v3/profiles/update/{profile_id} ### Parameters #### Path Parameters - **profile_id** (integer) - Required - The ID of the profile to update. #### Request Body - **profile_name** (string) - Required - The name of the profile. - **group_id** (integer) - Optional - The ID of the group the profile belongs to. - **raw_proxy** (string) - Optional - Proxy details in various formats (HTTP, Socks5, TMProxy, TinProxy, TinsoftProxy). - **startup_urls** (string) - Optional - A comma-separated list of startup URLs. - **note** (string) - Optional - A note for the profile. - **color** (string) - Optional - The profile's color in HEX format. - **user_agent** (string) - Optional - "auto" or a custom user agent string. - **is_noise_canvas** (boolean) - Optional - Indicates whether to apply canvas noise (refer to profile creation API for details). - **is_noise_webgl** (boolean) - Optional - Indicates whether to apply WebGL noise (refer to profile creation API for details). - **is_noise_client_rect** (boolean) - Optional - Indicates whether to apply client rect noise (refer to profile creation API for details). - **is_noise_audio_context** (boolean) - Optional - Indicates whether to apply audio context noise. ### Request Example ```json { "profile_name" : "NAME_OF_PROFILE", "group_id": 1, "raw_proxy" : "", "startup_urls": "", "note": "", "color": "COLOR_HEX", "user_agent": "auto", "is_noise_canvas": false, "is_noise_webgl": false, "is_noise_client_rect": false, "is_noise_audio_context": true } ``` ### Response #### Success Response (200) - **success** (boolean) - Indicates if the update was successful. - **message** (string) - A message describing the result of the operation. - **data** (object) - An empty object, can be used for future data. #### Response Example ```json { "success": true, "message": "OK", "data": {} } ``` ``` -------------------------------- ### Read JSON Node Source: https://docs.gpmloginapp.com/none-code-automation/programming Reads a specific node from a JSON string. The input consists of the JSON data followed by a semicolon-separated path to the desired node. The output is the value of the specified node, stored in a variable. ```jsonpath $ketQua;info;author ``` -------------------------------- ### Profile Update Response Source: https://docs.gpmloginapp.com/api-document/cap-nhat-profile This is the standard JSON response structure received after attempting to update a user profile via the API. It indicates success or failure with a corresponding message. ```JSON { "success": true, "message": "OK", "data": {} } ``` -------------------------------- ### Update Profile API Endpoint Source: https://docs.gpmloginapp.com/api-document/cap-nhat-profile This snippet defines the API endpoint for updating a user's profile. It utilizes the POST HTTP method and expects a profile ID in the URL path. ```HTTP POST /api/v3/profiles/update/{profile_id} ``` -------------------------------- ### Profile Update Request Payload Source: https://docs.gpmloginapp.com/api-document/cap-nhat-profile This JSON payload structure is used to send profile update data to the API. It includes mandatory fields like profile name and optional fields for proxy, URLs, notes, color, user agent, and various noise canvas settings. ```JSON { "profile_name" : "NAME_OF_PROFILE", "group_id": 1, "raw_proxy" : "", "startup_urls": "", "note": "", "color": "COLOR_HEX", "user_agent": "auto", "is_noise_canvas": false, "is_noise_webgl": false, "is_noise_client_rect": false, "is_noise_audio_context": true } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.