{"title":"Check the cloud connection","category":"default","creationDate":1602158340,"content":"<p>In a Terminal API integration with cloud communications, terminals establish a WebSocket connection to access Terminal API. If the terminal is connected to your network, for example to the Wi-Fi network, this doesn't mean the terminal can establish a WebSocket connection. You need to enable WebSockets in your <a href=\"https:\/\/ca-test.adyen.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Customer Area<\/a> under <strong>In-person payments<\/strong> &gt; <strong>Terminal settings<\/strong> &gt; <strong>Integrations<\/strong>. After WebSockets are enabled, you can verify in real time whether terminals have a live cloud connection. <\/p>\n<p>You can verify this:<\/p>\n<ul>\n<li>\n<p>Remotely:<\/p>\n<ul>\n<li><a href=\"#use-the-customer-area\">Using your Customer Area<\/a><\/li>\n<li><a href=\"#use-an-api-call\">Using an API request<\/a><\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"#check-cloud-on-terminal\">On the physical terminal<\/a><\/p>\n<\/li>\n<\/ul>\n<h2 id=\"use-the-customer-area\">Check in the Customer Area<\/h2>\n<p>In your Customer Area, you can view the terminals list or the terminal details to verify whether terminals have a live cloud connection to Terminal API:<\/p>\n<ol>\n<li>\n<p>In your <a href=\"https:\/\/ca-test.adyen.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Customer Area<\/a>, go to <strong>In-person payments<\/strong> &gt; <strong>Payment devices<\/strong>, and select the <strong>Terminals<\/strong> tab.<\/p>\n<\/li>\n<li>\n<p>Check the <strong>WebSocket<\/strong> column. This uses cloud symbols to indicate the cloud connection status of each terminal, or a minus sign (<i class=\"adl-icon-minus-small\"><\/i>) if WebSockets aren't enabled.<\/p>\n<p>If the <strong>WebSocket<\/strong> column isn't shown, select the settings icon <i class=\"adl-icon-settings icon\"><\/i> and select the column.<\/p>\n<div class=\"sc-notice info\"><div>\n<p>There is a delay between the actual status and the status shown in the list. You may want to check an individual terminal as described below.<\/p>\n<\/div><\/div>\n<\/li>\n<li>\n<p>Select the terminal from the list.<br \/>\nThe page <strong>Settings<\/strong> &gt; <strong>About this terminal<\/strong> appears.<\/p>\n<p>If you do not see the field <strong>Cloud connection<\/strong>, WebSockets aren't enabled for the terminal.<\/p>\n<\/li>\n<li>\n<p>At <strong>Cloud connection<\/strong>, select <strong>Check connection<\/strong>.<br \/>\nAn icon indicates the result, and a message pops up, either:<\/p>\n<ul>\n<li><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/> Terminal is connected.<\/li>\n<li><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/>  Terminal is disconnected. This indicates the terminal is turned off, or there is a problem with the<br \/>\nterminal's cloud connection.<\/li>\n<\/ul>\n<div class=\"sc-notice info\"><div>\n<p>The connection icon is not updated automatically. You need to click <strong>Check connection<\/strong> each time you want to know the current state.<\/p>\n<\/div><\/div>\n<\/li>\n<\/ol>\n<h2 id=\"use-an-api-call\">Check using an API request<\/h2>\n<p>The <code>\/connectedTerminals<\/code> endpoint returns a list of terminals that have a live cloud connection. You can get this<br \/>\ninformation for a merchant account, a store, or a specific terminal.<\/p>\n<p>The endpoint to use differs for test and live terminals:<\/p>\n<ul>\n<li>For test terminals: <code>https:\/\/terminal-api-test.adyen.com\/connectedTerminals<\/code><\/li>\n<li>For live terminals: <code>https:\/\/terminal-api-live.adyen.com\/connectedTerminals<\/code><\/li>\n<\/ul>\n<p>Authenticate your requests using the same <a href=\"\/point-of-sale\/design-your-integration\/terminal-api#api-key\">API key that you use for your Terminal API requests<\/a>.<\/p>\n<p>To verify whether terminals have a live cloud connection to Terminal API:<\/p>\n<ol>\n<li>\n<p>Make a POST request to the test or live <code>\/connectedTerminals<\/code> endpoint, specifying:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Parameter<\/th>\n<th style=\"text-align: center;\">Required<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>merchantAccount<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">The merchant account that you want to check.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>store<\/code><\/td>\n<td style=\"text-align: center;\"><\/td>\n<td style=\"text-align: left;\">The store that you want to check. Must belong to the specified <code>merchantAccount<\/code>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>uniqueTerminalId<\/code><\/td>\n<td style=\"text-align: center;\"><\/td>\n<td style=\"text-align: left;\">The POIID of the terminal that you want to check, in the format <em>[device model]-[serial number]<\/em>. Must belong to the specified <code>merchantAccount<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Here are some example requests:<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Get connected terminals under a merchant account'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"merchantAccount\\\": \\\"ADYEN_MERCHANT_ACCOUNT\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Get connected terminals under a store'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"merchantAccount\\\": \\\"ADYEN_MERCHANT_ACCOUNT\\\",\\n    \\\"store\\\": \\\"YOUR_STORE_ID\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Check a specific terminal'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"merchantAccount\\\": \\\"ADYEN_MERCHANT_ACCOUNT\\\",\\n    \\\"uniqueTerminalId\\\": \\\"V400m-324688178\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>You receive a response with:<\/p>\n<ul>\n<li><code>uniqueTerminalIds<\/code>: an array with the POIIDs of the terminals that have a live cloud connection. If you checked a specific terminal, the same <code>uniqueTerminalId<\/code> from the request is returned.<\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'\/connectedTerminals response'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n   \\\"uniqueTerminalIds\\\" : [\\n      \\\"MX915-284251016\\\",\\n      \\\"MX925-260390740\\\",\\n      \\\"V400m-324688136\\\",\\n      \\\"V400m-324688178\\\",\\n      \\\"V400m-324688181\\\"\\n   ]\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>If the <code>uniqueTerminalIds<\/code> array from the response is empty, this can indicate:<\/p>\n<ul>\n<li>No terminal found with a live cloud connection.<\/li>\n<li>WebSockets are not enabled.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h2 id=\"check-cloud-on-terminal\">Check on the terminal<\/h2>\n<p>To verify on the physical terminal whether it has a live cloud connection to Terminal API, run a <a href=\"\/point-of-sale\/pos-troubleshooting\/connection-tests#terminal-api-test\">Terminal API connection test<\/a>:<\/p>\n<ol>\n<li>Check the icons in the top row of the terminal display: there should be a cloud icon.<\/li>\n<li>Select <strong>Settings<\/strong> &gt; <strong>Diagnostics<\/strong>.<\/li>\n<li>Select <strong>Terminal API<\/strong>: the items <strong>API enabled<\/strong>, <strong>WebSocket enabled<\/strong>, and <strong>WebSocket connection<\/strong> should all<br \/>\nhave a green check&nbsp;mark&nbsp;<img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/>.<\/li>\n<\/ol>\n<h2>Restore the cloud connection<\/h2>\n<p>If the result from your check indicates the terminal doesn't have a live cloud connection to Terminal API:<\/p>\n<ol>\n<li>\n<p><a href=\"#use-the-customer-area\">Check that WebSockets are enabled<\/a>.<br \/>\nIf disabled, go to your <a href=\"https:\/\/ca-test.adyen.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Customer Area<\/a> and enable WebSockets under <strong>In-person payments<\/strong> &gt; <strong>Terminal settings<\/strong> &gt; <strong>Integrations<\/strong>.<\/p>\n<\/li>\n<li>\n<p>If you checked remotely, verify that the terminal wasn't turned off at the time.<\/p>\n<\/li>\n<li>\n<p>If the terminal is turned on, restart the terminal.<\/p>\n<\/li>\n<\/ol>\n<h2>See also<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"\/point-of-sale\/diagnostics\/request-diagnosis\"\n                        target=\"_self\"\n                        >\n                    Make a diagnosis request\n                <\/a><\/li><li><a href=\"\/point-of-sale\/pos-troubleshooting\/connection-tests\"\n                        target=\"_self\"\n                        >\n                    Run connection tests from the terminal\n                <\/a><\/li><li><a href=\"\/point-of-sale\/pos-troubleshooting\/hardware-tests\"\n                        target=\"_self\"\n                        >\n                    Run hardware tests\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/point-of-sale\/diagnostics\/check-cloud-connection","articleFields":{"description":"Remotely check the live WebSocket connection of terminals.","last_edit_on":"09-10-2020 12:30"},"algolia":{"url":"https:\/\/docs.adyen.com\/point-of-sale\/diagnostics\/check-cloud-connection","title":"Check the cloud connection","content":"In a Terminal API integration with cloud communications, terminals establish a WebSocket connection to access Terminal API. If the terminal is connected to your network, for example to the Wi-Fi network, this doesn't mean the terminal can establish a WebSocket connection. You need to enable WebSockets in your Customer Area under In-person payments &gt; Terminal settings &gt; Integrations. After WebSockets are enabled, you can verify in real time whether terminals have a live cloud connection. \nYou can verify this:\n\n\nRemotely:\n\nUsing your Customer Area\nUsing an API request\n\n\n\nOn the physical terminal\n\n\nCheck in the Customer Area\nIn your Customer Area, you can view the terminals list or the terminal details to verify whether terminals have a live cloud connection to Terminal API:\n\n\nIn your Customer Area, go to In-person payments &gt; Payment devices, and select the Terminals tab.\n\n\nCheck the WebSocket column. This uses cloud symbols to indicate the cloud connection status of each terminal, or a minus sign () if WebSockets aren't enabled.\nIf the WebSocket column isn't shown, select the settings icon  and select the column.\n\nThere is a delay between the actual status and the status shown in the list. You may want to check an individual terminal as described below.\n\n\n\nSelect the terminal from the list.\nThe page Settings &gt; About this terminal appears.\nIf you do not see the field Cloud connection, WebSockets aren't enabled for the terminal.\n\n\nAt Cloud connection, select Check connection.\nAn icon indicates the result, and a message pops up, either:\n\n Terminal is connected.\n  Terminal is disconnected. This indicates the terminal is turned off, or there is a problem with the\nterminal's cloud connection.\n\n\nThe connection icon is not updated automatically. You need to click Check connection each time you want to know the current state.\n\n\n\nCheck using an API request\nThe \/connectedTerminals endpoint returns a list of terminals that have a live cloud connection. You can get this\ninformation for a merchant account, a store, or a specific terminal.\nThe endpoint to use differs for test and live terminals:\n\nFor test terminals: https:\/\/terminal-api-test.adyen.com\/connectedTerminals\nFor live terminals: https:\/\/terminal-api-live.adyen.com\/connectedTerminals\n\nAuthenticate your requests using the same API key that you use for your Terminal API requests.\nTo verify whether terminals have a live cloud connection to Terminal API:\n\n\nMake a POST request to the test or live \/connectedTerminals endpoint, specifying:\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\nmerchantAccount\n\nThe merchant account that you want to check.\n\n\nstore\n\nThe store that you want to check. Must belong to the specified merchantAccount.\n\n\nuniqueTerminalId\n\nThe POIID of the terminal that you want to check, in the format [device model]-[serial number]. Must belong to the specified merchantAccount\n\n\n\nHere are some example requests:\n\n\n\n\n\n\n\n\n\n\n\nYou receive a response with:\n\nuniqueTerminalIds: an array with the POIIDs of the terminals that have a live cloud connection. If you checked a specific terminal, the same uniqueTerminalId from the request is returned.\n\n\n\n\nIf the uniqueTerminalIds array from the response is empty, this can indicate:\n\nNo terminal found with a live cloud connection.\nWebSockets are not enabled.\n\n\n\nCheck on the terminal\nTo verify on the physical terminal whether it has a live cloud connection to Terminal API, run a Terminal API connection test:\n\nCheck the icons in the top row of the terminal display: there should be a cloud icon.\nSelect Settings &gt; Diagnostics.\nSelect Terminal API: the items API enabled, WebSocket enabled, and WebSocket connection should all\nhave a green check&nbsp;mark&nbsp;.\n\nRestore the cloud connection\nIf the result from your check indicates the terminal doesn't have a live cloud connection to Terminal API:\n\n\nCheck that WebSockets are enabled.\nIf disabled, go to your Customer Area and enable WebSockets under In-person payments &gt; Terminal settings &gt; Integrations.\n\n\nIf you checked remotely, verify that the terminal wasn't turned off at the time.\n\n\nIf the terminal is turned on, restart the terminal.\n\n\nSee also\n\n\n                    Make a diagnosis request\n                \n                    Run connection tests from the terminal\n                \n                    Run hardware tests\n                \n","type":"page","locale":"en","boost":17,"hierarchy":{"lvl0":"Home","lvl1":"In-person payments","lvl2":"Run diagnostics","lvl3":"Check the cloud connection"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/","lvl1":"https:\/\/docs.adyen.com\/point-of-sale","lvl2":"https:\/\/docs.adyen.com\/point-of-sale\/diagnostics","lvl3":"\/point-of-sale\/diagnostics\/check-cloud-connection"},"levels":4,"category":"In-person payments","category_color":"green","tags":["Check","cloud","connection"]}}
