{"info":{"_postman_id":"800c0c57-58d0-4e15-99a9-9d343924a957","name":"ippanel edge","description":"<html><head></head><body><p>application/json<br>apikey yourApiKey</p>\n<p>content-type application/json</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"41952933","collectionId":"800c0c57-58d0-4e15-99a9-9d343924a957","publishedId":"2sAYX8Kgx8","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-02-08T13:23:45.000Z"},"item":[{"name":"Authentication","item":[{"name":"Login API","id":"57847135-ec81-4bb2-acde-79eed7d36e67","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"username\": \"your-username\",\r\n  \"password\": \"your-password\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/acl/auth/login","description":"<p>This endpoint allows users to authenticate using their username and password.</p>\n<h2 id=\"🔄-method-meaning-login-flow-explanation\">🔄 method Meaning (Login Flow Explanation)</h2>\n<p>Depending on the user's 2FA (Two-Factor Authentication) settings, one of the following scenarios will occur after a successful login:</p>\n<ol>\n<li><p><strong>Google Authenticator (ga)</strong></p>\n<ul>\n<li><p><code>method</code> will be \"ga\"</p>\n</li>\n<li><p>Use the token to submit your Google Authenticator code</p>\n</li>\n</ul>\n</li>\n<li><p><strong>SMS OTP (sms)</strong></p>\n<ul>\n<li><p><code>method</code> will be \"sms\"</p>\n</li>\n<li><p>An OTP will be sent to your registered mobile number</p>\n</li>\n<li><p>Use the token along with the OTP code for authentication</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Direct Login (login)</strong></p>\n<ul>\n<li><p><code>method</code> will be \"login\"</p>\n</li>\n<li><p>Authentication is complete, and the token can be used for API requests</p>\n</li>\n</ul>\n</li>\n</ol>\n","urlObject":{"protocol":"https","path":["v1","api","acl","auth","login"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[{"id":"ae981255-2704-41d3-a149-80d22b7c6adf","name":"Login API","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"username\": \"your-username\",\r\n  \"password\": \"your-password\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/acl/auth/login"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\r\n  \"data\": {\r\n    \"method\": \"ga\", // or \"sms\" or \"login\"\r\n    \"token\": \"84cd3ef65b0700dea4ac7942e61df4a5\"\r\n  },\r\n  \"meta\": {\r\n    \"status\": true,\r\n    \"message\": \"انجام شد\",\r\n    \"message_parameters\": [],\r\n    \"message_code\": \"200-1\"\r\n  }\r\n}"}],"_postman_id":"57847135-ec81-4bb2-acde-79eed7d36e67"},{"name":"Send SMS OTP","id":"16f4cfb2-62db-4220-94c3-b20ea6277230","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"token\": \"your-login-step-token\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/acl/auth/send_sms_otp","description":"<p>This endpoint allows the user to request an OTP (One-Time Password) via SMS, using the token received in the login step.</p>\n<p>⚠️ The token used here must be a temporary login token received from the login API. If valid and not expired, an OTP will be sent via SMS.s</p>\n","urlObject":{"protocol":"https","path":["v1","api","acl","auth","send_sms_otp"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[{"id":"c111cf09-ca28-45e8-94ca-0032a76fd069","name":"200","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"token\": \"your-login-step-token\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{base_url}/api/acl/auth/send_sms_otp"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n  \"data\": {\r\n    \"method\": \"sms\",\r\n    \"token\": \"84cd3ef65b0700dea4ac7942e61df4a5\"\r\n  },\r\n  \"meta\": {\r\n    \"status\": true,\r\n    \"message\": \"انجام شد\",\r\n    \"message_parameters\": [],\r\n    \"message_code\": \"200-1\"\r\n  }\r\n}"}],"_postman_id":"16f4cfb2-62db-4220-94c3-b20ea6277230"},{"name":"Confirm OTP Login","id":"cdef2877-25ae-4ee0-b009-777af9cd3b2e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"token\": \"your-login-step-token\",\r\n  \"otp\": \"otp-code\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/acl/auth/confirm_otp","description":"<p>StartFragmentThis endpoint is used to confirm the login process by verifying the OTP (from SMS or Google Authenticator).</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>token</td>\n<td>string</td>\n<td>The temporary token received from the Login API</td>\n</tr>\n<tr>\n<td>otp</td>\n<td>string</td>\n<td>The OTP received via SMS or generated from Google Authenticator</td>\n</tr>\n</tbody>\n</table>\n</div><p>🎉 The returned token is the final token that can be used to access authorized APIs.</p>\n<p>⏱ Valid for: 10 hours</p>\n","urlObject":{"protocol":"https","path":["v1","api","acl","auth","confirm_otp"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[{"id":"189c60d8-1d74-4915-bfad-324d9c1b4c68","name":"200","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"token\": \"your-login-step-token\",\r\n  \"otp\": \"otp-code\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/acl/auth/confirm_otp"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\r\n  \"data\": {\r\n    \"token\": \"22c392ffebe7286ee8021cfef7d7cad5\",\r\n    \"method\": \"login\"\r\n  },\r\n  \"meta\": {\r\n    \"status\": true,\r\n    \"message\": \"انجام شد\",\r\n    \"message_parameters\": [],\r\n    \"message_code\": \"200-1\"\r\n  }\r\n}"}],"_postman_id":"cdef2877-25ae-4ee0-b009-777af9cd3b2e"},{"name":"Forgot Password","id":"9b551e67-4e4c-41e4-ab83-c88670a89a7a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"token\":\"token-from-forgot-password\",\r\n    \"otp\":\"otp-code\",\r\n    \"password\":\"new-password\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/acl/auth/change_password_by_token","description":"<p>Generated from cURL: curl --location '{base_url}/api/acl/auth/change_password_by_token' <br />--header 'Content-Type: application/json' <br />--data '{\n    \"token\":\"token-from-forgot-password\",\n    \"otp\":\"otp-code\",\n    \"password\":\"new-password\"\n}'</p>\n","urlObject":{"protocol":"https","path":["v1","api","acl","auth","change_password_by_token"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[{"id":"4eb3cd4e-7243-4b34-9510-c532c3cb84fa","name":"200","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"token\":\"token-from-forgot-password\",\r\n    \"otp\":\"otp-code\",\r\n    \"password\":\"new-password\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/acl/auth/change_password_by_token"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n  \"data\": {\r\n    \"token\": \"6b1059f512b4fe9acd8bdb22351b0b51\"\r\n  },\r\n  \"meta\": {\r\n    \"status\": true,\r\n    \"message\": \"انجام شد\",\r\n    \"message_parameters\": [],\r\n    \"message_code\": \"200-1\"\r\n  }\r\n}"},{"id":"c14cbaf3-6074-4689-b5b3-1598fb1dd15e","name":"401","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"token\":\"token-from-forgot-password\",\r\n    \"otp\":\"otp-code\",\r\n    \"password\":\"new-password\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/acl/auth/change_password_by_token"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n  \"data\": null,\r\n  \"meta\": {\r\n    \"status\": false,\r\n    \"message\": \"اطلاعات وارد شده صحیح نمی باشد\",\r\n    \"message_parameters\": [],\r\n    \"message_code\": \"400-1\",\r\n    \"errors\": {}\r\n  }\r\n}"},{"id":"cc660105-a226-472d-a5ce-19bd8291cd02","name":"422","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"token\":\"token-from-forgot-password\",\r\n    \"otp\":\"otp-code\",\r\n    \"password\":\"new-password\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/acl/auth/change_password_by_token"},"status":"Unprocessable Content","code":422,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n  \"data\": null,\r\n  \"meta\": {\r\n    \"status\": false,\r\n    \"message\": \"تکمیل گزینه نام کاربری الزامی است\",\r\n    \"message_parameters\": [],\r\n    \"message_code\": \"400-2\",\r\n    \"errors\": {\r\n      \"username\": [\r\n        \"تکمیل گزینه نام کاربری الزامی است\"\r\n      ]\r\n    }\r\n  }\r\n}"}],"_postman_id":"9b551e67-4e4c-41e4-ab83-c88670a89a7a"},{"name":"Logout","id":"bb6c4b9d-efbb-43b9-b0ae-32a2a8be7492","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"your-token"}],"url":"https://edge.ippanel.com/v1/api/acl/auth/logout","description":"<p>This endpoint allows users to log out and invalidate their authentication token.</p>\n","urlObject":{"protocol":"https","path":["v1","api","acl","auth","logout"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[{"id":"4ba1c1f0-c52f-4c42-8950-1d5fccca9f08","name":"Logout","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"your-token"}],"url":"https://edge.ippanel.com/v1/api/acl/auth/logout"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\r\n  \"data\": null,\r\n  \"meta\": {\r\n    \"status\": true,\r\n    \"message\": \"انجام شد\",\r\n    \"message_parameters\": [],\r\n    \"message_code\": \"200-1\"\r\n  }\r\n}"}],"_postman_id":"bb6c4b9d-efbb-43b9-b0ae-32a2a8be7492"},{"name":"Check Token","id":"4e846b40-5c24-422f-b62c-068235c4b660","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"your-token"}],"url":"{base_url}/api/acl/auth/check_token","description":"<p>StartFragment</p>\n<p>This endpoint allows you to validate your authentication token and get the associated user information.</p>\n<p>EndFragment</p>\n","urlObject":{"path":["api","acl","auth","check_token"],"host":["{base_url}"],"query":[],"variable":[]}},"response":[{"id":"6989ef17-85cd-4594-8d00-b800abfea1ed","name":"Check Token","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"your-token"}],"url":"{base_url}/api/acl/auth/check_token"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\r\n  \"data\": {\r\n    \"user_name\": \"ippanel\",\r\n    \"user_id\": 58745,\r\n    \"document_block\": false,\r\n    \"is_reseller\": true,\r\n    \"send_block\": false,\r\n    \"name\": \"test\"\r\n  },\r\n  \"meta\": {\r\n    \"status\": true,\r\n    \"message\": \"انجام شد\",\r\n    \"message_parameters\": [],\r\n    \"message_code\": \"200-1\"\r\n  }\r\n}"}],"_postman_id":"4e846b40-5c24-422f-b62c-068235c4b660"}],"id":"2217cff4-2861-45a3-994b-9683081502e1","_postman_id":"2217cff4-2861-45a3-994b-9683081502e1","description":""},{"name":"Send SMS","item":[{"name":"get Country","item":[{"name":"Get Recipients Count","id":"4840c9a9-150e-4faf-8fa1-b2a16f67cf5d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"url":"https://edge.ippanel.com/v1/api/send/banks/counts","description":"<p>This API allows you to retrieve the count of recipients based on various filters such as birth year, province, county, city</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>birth_year_from</td>\n<td>integer</td>\n<td>No</td>\n<td>The minimum birth year of the recipients (default: 1300)</td>\n</tr>\n<tr>\n<td>birth_year_to</td>\n<td>integer</td>\n<td>No</td>\n<td>The maximum birth year of the recipients (default: 1410)</td>\n</tr>\n<tr>\n<td>province_id</td>\n<td>integer</td>\n<td>Yes</td>\n<td>The ID of the province to filter recipients</td>\n</tr>\n<tr>\n<td>county_id</td>\n<td>integer</td>\n<td>Yes</td>\n<td>The ID of the county to filter recipients</td>\n</tr>\n<tr>\n<td>city_id</td>\n<td>integer</td>\n<td>Yes</td>\n<td>The ID of the city to filter recipients</td>\n</tr>\n<tr>\n<td>gender_id</td>\n<td>integer</td>\n<td>No</td>\n<td>The ID of the gender to filter recipients (1 for male, 2 for female)</td>\n</tr>\n<tr>\n<td>number_prefix</td>\n<td>string</td>\n<td>No</td>\n<td>The prefix of the phone numbers to filter recipients</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","send","banks","counts"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"4840c9a9-150e-4faf-8fa1-b2a16f67cf5d"},{"name":"Get Provinces","id":"7ffad0f9-c183-4385-aaf3-21cf71f3f7c7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"url":"https://edge.ippanel.com/v1/api/send/banks/provinces","description":"<p>This API allows you to retrieve the list of provinces in Iran, which can be used to filter recipients based on their location.</p>\n","urlObject":{"protocol":"https","path":["v1","api","send","banks","provinces"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"7ffad0f9-c183-4385-aaf3-21cf71f3f7c7"},{"name":"Get Counties","id":"927204d0-b67e-4d59-89a9-458e39342424","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"url":"https://edge.ippanel.com/v1/api/send/banks/counties?province_id={province_id}","description":"<p>This API allows you to retrieve the list of counties in a specific province, which can be used to filter recipients based on their location.</p>\n","urlObject":{"protocol":"https","path":["v1","api","send","banks","counties"],"host":["edge","ippanel","com"],"query":[{"key":"province_id","value":"{province_id}"}],"variable":[]}},"response":[],"_postman_id":"927204d0-b67e-4d59-89a9-458e39342424"},{"name":"Get Cities","id":"444049e4-e6f9-4b25-9920-7335bddae0a9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"url":"https://edge.ippanel.com/v1/api/send/banks/cities?county_id={county_id}","description":"<p>This API allows you to retrieve the list of cities in a specific county, which can be used to filter recipients based on their location.</p>\n","urlObject":{"protocol":"https","path":["v1","api","send","banks","cities"],"host":["edge","ippanel","com"],"query":[{"key":"county_id","value":"{county_id}"}],"variable":[]}},"response":[],"_postman_id":"444049e4-e6f9-4b25-9920-7335bddae0a9"},{"name":"Get Genders","id":"a847dfe8-7dc7-41b2-9e12-f789ae62df7a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"url":"https://edge.ippanel.com/v1/api/send/banks/genders","description":"<p>This API allows you to retrieve the list of Genders, which can be used to filter recipients based on</p>\n","urlObject":{"protocol":"https","path":["v1","api","send","banks","genders"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"a847dfe8-7dc7-41b2-9e12-f789ae62df7a"}],"id":"e39a38ea-8f66-472a-83a4-a8220192ac46","_postman_id":"e39a38ea-8f66-472a-83a4-a8220192ac46","description":""},{"name":"Send Webservice","id":"686d804a-219f-4c79-a600-da4be7a3beee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"body":{"mode":"raw","raw":"{\r\n    \"sending_type\": \"webservice\",\r\n    \"from_number\": \"+983000505\",\r\n    \"message\": \"متن پیام\",\r\n    \"params\": {\r\n        \"recipients\": [\r\n            \"+989120000000\",\r\n            \"+989350000000\"\r\n        ]\r\n    },\r\n    // \"send_time\": \"2025-03-12 21:20:02\"  not required\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/send","description":"<p>This endpoint is used to send SMS messages using a web service.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>sending_type</td>\n<td>string</td>\n<td>Yes</td>\n<td>Type of sending, must be \"webservice\" for this endpoint</td>\n</tr>\n<tr>\n<td>from_number</td>\n<td>string</td>\n<td>Yes</td>\n<td>Sender's phone number in E.164 format (e.g., +983000505)</td>\n</tr>\n<tr>\n<td>message</td>\n<td>string</td>\n<td>Yes</td>\n<td>Message content to be sent</td>\n</tr>\n<tr>\n<td>params</td>\n<td>object</td>\n<td>Yes</td>\n<td>Parameters for sending the message, including recipients</td>\n</tr>\n<tr>\n<td>recipients</td>\n<td>array</td>\n<td>Yes</td>\n<td>List of recipient phone numbers in E.164 format (e.g., +989120000000)</td>\n</tr>\n<tr>\n<td>send_time</td>\n<td>string</td>\n<td>No</td>\n<td>Scheduled time for sending the message in YYYY-MM-DD HH:MM:SS.timezone is UTC.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"📝-notes\">📝 Notes</h2>\n<ul>\n<li><p>The <code>from_number</code> must be a valid sender number assigned to your account.</p>\n</li>\n<li><p>The <code>recipients</code> array must contain valid phone numbers in E.164 format.</p>\n</li>\n<li><p>The <code>send_time</code> is optional; if not provided, the message will be sent immediately.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["v1","api","send"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[{"id":"53cb082c-4beb-43f8-9f95-bfa7c40cebab","name":"200","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"body":{"mode":"raw","raw":"{\r\n    \"sending_type\": \"webservice\",\r\n    \"from_number\": \"+983000505\",\r\n    \"message\": \"متن پیام\",\r\n    \"params\": {\r\n        \"recipients\": [\r\n            \"+989120000000\",\r\n            \"+989350000000\"\r\n        ]\r\n    },\r\n    // \"send_time\": \"2025-03-12 21:20:02\"  not required\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/send"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n  \"data\": {\r\n    \"message_outbox_ids\": [\r\n      1123544244\r\n    ]\r\n  },\r\n  \"meta\": {\r\n    \"status\": true,\r\n    \"message\": \"انجام شد\",\r\n    \"message_parameters\": [],\r\n    \"message_code\": \"200-1\"\r\n  }\r\n}"},{"id":"6f47ef06-c50b-4a89-9793-b7cf4e7b87f0","name":"422","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"body":{"mode":"raw","raw":"{\r\n    \"sending_type\": \"webservice\",\r\n    \"from_number\": \"+983000505\",\r\n    \"message\": \"متن پیام\",\r\n    \"params\": {\r\n        \"recipients\": [\r\n            \"+989120000000\",\r\n            \"+989350000000\"\r\n        ]\r\n    },\r\n    // \"send_time\": \"2025-03-12 21:20:02\"  not required\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/send"},"status":"Unprocessable Content","code":422,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n  \"data\": null,\r\n  \"meta\": {\r\n    \"status\": false,\r\n    \"message\": \"تکمیل گزینه پیام الزامی است\",\r\n    \"message_parameters\": [],\r\n    \"message_code\": \"400-2\",\r\n    \"errors\": {\r\n      \"message\": [\r\n        \"تکمیل گزینه پیام الزامی است\"\r\n      ]\r\n    }\r\n  }\r\n}"}],"_postman_id":"686d804a-219f-4c79-a600-da4be7a3beee"},{"name":"Send Peer to Peer","id":"b78806b7-b23a-486b-8c78-4e79473a2c54","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"body":{"mode":"raw","raw":"{\r\n    \"sending_type\": \"peer_to_peer\",\r\n    \"from_number\": \"+983000505\",\r\n    \"params\": [\r\n        {\r\n            \"recipients\": [\r\n                \"+989120000000\",\r\n                \"+989350000000\"\r\n            ],\r\n            \"message\": \"پیام اول\"\r\n        },\r\n        {\r\n            \"recipients\": [\r\n                \"+989130000000\"\r\n            ],\r\n            \"message\": \"پیام دوم\"\r\n        }\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/send","description":"<p>This API allows you to send multiple messages to multiple recipients in a peer-to-peer format. Each message can have its own set of recipients.  </p>\n<h2 id=\"📝-notes\">📝 Notes</h2>\n<ul>\n<li><p>The <code>from_number</code> must be a valid sender number assigned to your account.</p>\n</li>\n<li><p>The <code>recipients</code> array must contain valid phone numbers in E.164 format.</p>\n</li>\n<li><p>The <code>send_time</code> is optional; if not provided, the message will be sent immediately.</p>\n</li>\n</ul>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>sending_type</td>\n<td>string</td>\n<td>Yes</td>\n<td>Type of sending, must be \"peer_to_peer\" for this endpoint</td>\n</tr>\n<tr>\n<td>from_number</td>\n<td>string</td>\n<td>Yes</td>\n<td>Sender's phone number in E.164 format (e.g., +983000505)</td>\n</tr>\n<tr>\n<td>params</td>\n<td>array</td>\n<td>Yes</td>\n<td>Array of objects containing recipients and messages</td>\n</tr>\n<tr>\n<td>recipients</td>\n<td>array</td>\n<td>Yes</td>\n<td>List of recipient phone numbers in E.164 format (e.g., +989120000000)</td>\n</tr>\n<tr>\n<td>message</td>\n<td>string</td>\n<td>Yes</td>\n<td>Message content to be sent to the recipients</td>\n</tr>\n<tr>\n<td>send_time</td>\n<td>string</td>\n<td>No</td>\n<td>Scheduled time for sending the message in YYYY-MM-DD HH:MM:SS.timezone is UTC.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","send"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[{"id":"dd698715-6aef-46ee-a0bf-e0a7ecf832b1","name":"200","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"body":{"mode":"raw","raw":"{\r\n    \"sending_type\": \"peer_to_peer\",\r\n    \"from_number\": \"+983000505\",\r\n    \"params\": [\r\n        {\r\n            \"recipients\": [\r\n                \"+989120000000\",\r\n                \"+989350000000\"\r\n            ],\r\n            \"message\": \"پیام اول\"\r\n        },\r\n        {\r\n            \"recipients\": [\r\n                \"+989130000000\"\r\n            ],\r\n            \"message\": \"پیام دوم\"\r\n        }\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/send"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n  \"data\": {\r\n    \"message_outbox_ids\": [\r\n      1123594208,\r\n      1123594210\r\n    ]\r\n  },\r\n  \"meta\": {\r\n    \"status\": true,\r\n    \"message\": \"انجام شد\",\r\n    \"message_parameters\": [],\r\n    \"message_code\": \"200-1\"\r\n  }\r\n}"}],"_postman_id":"b78806b7-b23a-486b-8c78-4e79473a2c54"},{"name":"Send Peer to Peer by File","id":"b48f00d4-b348-4b1a-806f-91c4f5c16912","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"body":{"mode":"formdata","formdata":[{"type":"text","key":"sending_type","value":"peer_to_peer_file"},{"type":"text","key":"from_number","value":"+983000505"},{"type":"text","key":"send_time","value":"2025-04-25 10:10:10"},{"type":"file","key":"files[]","src":"/path/to/your/file.csv"}]},"url":"https://edge.ippanel.com/v1/api/send","description":"<p>This API allows you to send multiple messages to multiple recipients in a peer-to-peer format using a file. Each message can have its own set of recipients.</p>\n<p>This request uses <code>multipart/form-data</code> format to handle file uploads.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>sending_type</td>\n<td>string</td>\n<td>Yes</td>\n<td>Type of sending, must be \"peer_to_peer_file\" for this endpoint</td>\n</tr>\n<tr>\n<td>from_number</td>\n<td>string</td>\n<td>Yes</td>\n<td>Sender's phone number in E.164 format (e.g., +983000505)</td>\n</tr>\n<tr>\n<td>send_time</td>\n<td>string</td>\n<td>No</td>\n<td>Scheduled time for sending the message in YYYY-MM-DD HH:MM:SS. Timezone is UTC.</td>\n</tr>\n<tr>\n<td>files[]</td>\n<td>file</td>\n<td>Yes</td>\n<td>The file containing recipient numbers and personalized messages. Supported formats: CSV, XLSX</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"file-format\">File Format</h3>\n<p>The uploaded file must follow this format:</p>\n<h4 id=\"csv-format\">CSV Format</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>recipient,message09123456789,Personalized message for first recipient09123456788,Personalized message for second recipient09123456787,Personalized message for third recipient\n\n</code></pre><h4 id=\"excel-format\">Excel Format</h4>\n<p>The Excel file should have two columns:</p>\n<ul>\n<li><p>Column A: Recipient numbers</p>\n</li>\n<li><p>Column B: Personalized messages</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["v1","api","send"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[{"id":"a13b59a1-4ee9-40ad-8340-a63ebf76510f","name":"200","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"body":{"mode":"formdata","formdata":[{"type":"text","key":"sending_type","value":"peer_to_peer_file"},{"type":"text","key":"from_number","value":"+983000505"},{"type":"text","key":"send_time","value":"2025-04-25 10:10:10"},{"type":"file","key":"files[]","src":"/path/to/your/file.csv"}]},"url":"https://edge.ippanel.com/v1/api/send"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n  \"data\": {\r\n    \"message_outbox_ids\": [\r\n      1123594208,\r\n      1123594210\r\n    ]\r\n  },\r\n  \"meta\": {\r\n    \"status\": true,\r\n    \"message\": \"انجام شد\",\r\n    \"message_parameters\": [],\r\n    \"message_code\": \"200-1\"\r\n  }\r\n}"}],"_postman_id":"b48f00d4-b348-4b1a-806f-91c4f5c16912"},{"name":"Send Postal code","id":"005a3797-7b67-40e9-9670-ce8b52de0908","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"body":{"mode":"raw","raw":"{\r\n    \"sending_type\": \"postal_code\",\r\n    \"from_number\": \"+98BANK\",\r\n    \"message\": \"متن پیام\",\r\n    \"params\": [\r\n        {\r\n            \"bank\": \"all\",\r\n            \"postal_code\": 131,\r\n            \"gender\": 0,\r\n            \"age_from\": 1330,\r\n            \"age_to\": 1402,\r\n            \"mci\": {\r\n                \"start\": 0,\r\n                \"size\": 1\r\n            },\r\n            \"irancell\": {\r\n                \"start\": 0,\r\n                \"size\": 0\r\n            },\r\n            \"other\": {\r\n                \"start\": 0,\r\n                \"size\": 0\r\n            }\r\n        },\r\n        {\r\n            \"bank\": \"all\",\r\n            \"postal_code\": 141,\r\n            \"gender\": 0,\r\n            \"age_from\": 1330,\r\n            \"age_to\": 1402,\r\n            \"mci\": {\r\n                \"start\": 0,\r\n                \"size\": 1\r\n            },\r\n            \"irancell\": {\r\n                \"start\": 0,\r\n                \"size\": 0\r\n            },\r\n            \"other\": {\r\n                \"start\": 0,\r\n                \"size\": 0\r\n            }\r\n        }\r\n    ],\r\n    \"other_recipients\": [\r\n        \"+989120000000\",\r\n        \"+989350000000\"\r\n    ],\r\n    \"send_time\": \"2025-02-28 10:52:02\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/send","description":"<p>This API allows you to send messages using postal codes.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>sending_type</td>\n<td>string</td>\n<td>Yes</td>\n<td>Type of sending, must be \"postal_code\" for this endpoint</td>\n</tr>\n<tr>\n<td>from_number</td>\n<td>string</td>\n<td>Yes</td>\n<td>Sender's phone number in E.164 format (e.g., +98BANK)</td>\n</tr>\n<tr>\n<td>message</td>\n<td>string</td>\n<td>Yes</td>\n<td>Message content to be sent to the recipients</td>\n</tr>\n<tr>\n<td>params</td>\n<td>array</td>\n<td>Yes</td>\n<td>Array of objects containing postal code and recipient details</td>\n</tr>\n<tr>\n<td>bank</td>\n<td>string</td>\n<td>Yes</td>\n<td>Bank number status \"all\" for all numbers or \"white\" for none blacklist</td>\n</tr>\n<tr>\n<td>postal_code</td>\n<td>integer</td>\n<td>Yes</td>\n<td>Postal code to target recipients , most be between 2 to 5 digits</td>\n</tr>\n<tr>\n<td>gender</td>\n<td>integer</td>\n<td>Yes</td>\n<td>Gender of recipients (0 for all,1 for male, 2 for female)</td>\n</tr>\n<tr>\n<td>age_from</td>\n<td>integer</td>\n<td>Yes</td>\n<td>Minimum birth year of recipients (e.g., 1330), must be between 1300 to 1410</td>\n</tr>\n<tr>\n<td>age_to</td>\n<td>integer</td>\n<td>Yes</td>\n<td>Maximum birth year of recipients (e.g., 1402), must be between 1300 to 1410</td>\n</tr>\n<tr>\n<td>mci</td>\n<td>object</td>\n<td>Yes</td>\n<td>MCI number details, contains start and size for selecting MCI numbers</td>\n</tr>\n<tr>\n<td>irancell</td>\n<td>object</td>\n<td>Yes</td>\n<td>Irancell number details, contains start and size for selecting Irancell numbers</td>\n</tr>\n<tr>\n<td>other</td>\n<td>object</td>\n<td>Yes</td>\n<td>Other number details, contains start and size for selecting other numbers</td>\n</tr>\n<tr>\n<td>other_recipients</td>\n<td>array</td>\n<td>No</td>\n<td>List of additional recipient phone numbers in E.164 format (e.g., +989120000000)</td>\n</tr>\n<tr>\n<td>send_time</td>\n<td>string</td>\n<td>No</td>\n<td>Scheduled time for sending the message in YYYY-MM-DD HH:MM:SS format (timezone is UTC)</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"📝-notes\">📝 Notes</h2>\n<ul>\n<li><p>The <code>from_number</code> must be a valid sender number assigned to your account.</p>\n</li>\n<li><p>The <code>send_time</code> is optional; if not provided, the message will be sent immediately.</p>\n</li>\n<li><p>The <code>other_recipients</code> array is optional and an array of phone numbers that will receive the message in addition to the province or county or city recipients.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["v1","api","send"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[{"id":"bb383d4d-e8f0-4ba1-993e-718346b25a98","name":"200","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"body":{"mode":"raw","raw":"{\r\n    \"sending_type\": \"postal_code\",\r\n    \"from_number\": \"+98BANK\",\r\n    \"message\": \"متن پیام\",\r\n    \"params\": [\r\n        {\r\n            \"bank\": \"all\",\r\n            \"postal_code\": 131,\r\n            \"gender\": 0,\r\n            \"age_from\": 1330,\r\n            \"age_to\": 1402,\r\n            \"mci\": {\r\n                \"start\": 0,\r\n                \"size\": 1\r\n            },\r\n            \"irancell\": {\r\n                \"start\": 0,\r\n                \"size\": 0\r\n            },\r\n            \"other\": {\r\n                \"start\": 0,\r\n                \"size\": 0\r\n            }\r\n        },\r\n        {\r\n            \"bank\": \"all\",\r\n            \"postal_code\": 141,\r\n            \"gender\": 0,\r\n            \"age_from\": 1330,\r\n            \"age_to\": 1402,\r\n            \"mci\": {\r\n                \"start\": 0,\r\n                \"size\": 1\r\n            },\r\n            \"irancell\": {\r\n                \"start\": 0,\r\n                \"size\": 0\r\n            },\r\n            \"other\": {\r\n                \"start\": 0,\r\n                \"size\": 0\r\n            }\r\n        }\r\n    ],\r\n    \"other_recipients\": [\r\n        \"+989120000000\",\r\n        \"+989350000000\"\r\n    ],\r\n    \"send_time\": \"2025-02-28 10:52:02\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/send"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n  \"data\": {\r\n    \"message_outbox_ids\": [\r\n      1123594208\r\n    ]\r\n  },\r\n  \"meta\": {\r\n    \"status\": true,\r\n    \"message\": \"انجام شد\",\r\n    \"message_parameters\": [],\r\n    \"message_code\": \"200-1\"\r\n  }\r\n}"}],"_postman_id":"005a3797-7b67-40e9-9670-ce8b52de0908"},{"name":"Send Country ","id":"99e9d957-751a-4946-8ac5-363549580e2c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"body":{"mode":"raw","raw":"{\r\n  \"sending_type\": \"country\",\r\n  \"from_number\": \"+98BANK\",\r\n  \"message\": \"تست\",\r\n  \"params\": [\r\n    {\r\n      \"bank\": \"all\",\r\n      \"pre\": 938,\r\n      \"province_id\": 89,\r\n      \"county_id\": 212,\r\n      \"city_id\": 82,\r\n      \"gender\": 0,\r\n      \"age_from\": 1300,\r\n      \"age_to\": 1401,\r\n      \"mci\": {\r\n        \"start\": 10,\r\n        \"size\": 100\r\n      },\r\n      \"irancell\": {\r\n        \"start\": 1,\r\n        \"size\": 2\r\n      },\r\n      \"other\": {\r\n        \"start\": 2,\r\n        \"size\": 3\r\n      }\r\n    }\r\n  ],\r\n  \"other_recipients\": [\r\n    \"+989121111111\",\r\n    \"+989351111111\"\r\n  ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/send","description":"<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>sending_type</td>\n<td>string</td>\n<td>Yes</td>\n<td>Type of sending, must be \"country\" for this endpoint</td>\n</tr>\n<tr>\n<td>from_number</td>\n<td>string</td>\n<td>Yes</td>\n<td>Sender's phone number in E.164 format (e.g., +98BANK)</td>\n</tr>\n<tr>\n<td>message</td>\n<td>string</td>\n<td>Yes</td>\n<td>Message content to be sent to the recipients</td>\n</tr>\n<tr>\n<td>params</td>\n<td>array</td>\n<td>Yes</td>\n<td>Array of objects containing parameters for sending</td>\n</tr>\n<tr>\n<td>bank</td>\n<td>string</td>\n<td>Yes</td>\n<td>Bank number status \"all\" for all numbers or \"white\" for none blacklist</td>\n</tr>\n<tr>\n<td>pre</td>\n<td>integer</td>\n<td>Yes</td>\n<td>Prefix number to filter recipients (e.g., 938), must be between 2 to 6 digits</td>\n</tr>\n<tr>\n<td>province_id</td>\n<td>integer</td>\n<td>Yes</td>\n<td>ID of the province to target recipients, must be a valid ID from IPPanel</td>\n</tr>\n<tr>\n<td>county_id</td>\n<td>integer</td>\n<td>NO</td>\n<td>ID of the county to target recipients, must be a valid ID from IPPanel</td>\n</tr>\n<tr>\n<td>city_id</td>\n<td>integer</td>\n<td>NO</td>\n<td>ID of the city to target recipients, must be a valid ID from IPPanel</td>\n</tr>\n<tr>\n<td>gender</td>\n<td>integer</td>\n<td>Yes</td>\n<td>Gender of recipients (0 for all,1 for male, 2 for female)</td>\n</tr>\n<tr>\n<td>age_from</td>\n<td>integer</td>\n<td>Yes</td>\n<td>Minimum birth year of recipients (e.g., 1330), must be between 1300 to 1410</td>\n</tr>\n<tr>\n<td>age_to</td>\n<td>integer</td>\n<td>Yes</td>\n<td>Maximum birth year of recipients (e.g., 1401), must be between 1300 to 1410</td>\n</tr>\n<tr>\n<td>mci</td>\n<td>object</td>\n<td>Yes</td>\n<td>MCI number range to filter recipients, with start and size</td>\n</tr>\n<tr>\n<td>irancell</td>\n<td>object</td>\n<td>Yes</td>\n<td>Irancell number range to filter recipients, with start and size</td>\n</tr>\n<tr>\n<td>other</td>\n<td>object</td>\n<td>Yes</td>\n<td>Other number range to filter recipients, with start and size</td>\n</tr>\n<tr>\n<td>other_recipients</td>\n<td>array</td>\n<td>No</td>\n<td>Additional recipients to include, specified as an array of phone numbers in E.164 format</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"📝-notes\">📝 Notes</h2>\n<ul>\n<li><p>The <code>from_number</code> must be a valid sender number assigned to your account.</p>\n</li>\n<li><p>The <code>send_time</code> is optional; if not provided, the message will be sent immediately.</p>\n</li>\n<li><p>The <code>other_recipients</code> array is optional and an array of phone numbers that will receive the message in addition to the province or county or city recipients.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["v1","api","send"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[{"id":"122861d0-fb79-4da5-96c6-5f133df4b773","name":"200","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"body":{"mode":"raw","raw":"{\r\n  \"sending_type\": \"country\",\r\n  \"from_number\": \"+98BANK\",\r\n  \"message\": \"تست\",\r\n  \"params\": [\r\n    {\r\n      \"bank\": \"all\",\r\n      \"pre\": 938,\r\n      \"province_id\": 89,\r\n      \"county_id\": 212,\r\n      \"city_id\": 82,\r\n      \"gender\": 0,\r\n      \"age_from\": 1300,\r\n      \"age_to\": 1401,\r\n      \"mci\": {\r\n        \"start\": 10,\r\n        \"size\": 100\r\n      },\r\n      \"irancell\": {\r\n        \"start\": 1,\r\n        \"size\": 2\r\n      },\r\n      \"other\": {\r\n        \"start\": 2,\r\n        \"size\": 3\r\n      }\r\n    }\r\n  ],\r\n  \"other_recipients\": [\r\n    \"+989121111111\",\r\n    \"+989351111111\"\r\n  ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/send"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n  \"data\": {\r\n    \"message_outbox_ids\": [\r\n      1123594208\r\n    ]\r\n  },\r\n  \"meta\": {\r\n    \"status\": true,\r\n    \"message\": \"انجام شد\",\r\n    \"message_parameters\": [],\r\n    \"message_code\": \"200-1\"\r\n  }\r\n}"}],"_postman_id":"99e9d957-751a-4946-8ac5-363549580e2c"},{"name":"Send Keyword","id":"666767ca-67e9-42bb-a287-8c284c13d10d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"body":{"mode":"formdata","formdata":[{"type":"text","key":"sending_type","value":"keyword"},{"type":"text","key":"from_number","value":"+983000505"},{"type":"text","key":"message","value":"سلام {ex_B} م۱ {ex_C}"},{"type":"text","key":"send_time","value":"2025-04-25 10:10:10"},{"type":"file","key":"files[]","src":"/path/to/your/file.xlsx"}]},"url":"https://edge.ippanel.com/v1/api/send","description":"<p>This API allows you to send messages using a keyword.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>sending_type</td>\n<td>string</td>\n<td>Yes</td>\n<td>Type of sending, must be \"keyword\" for this endpoint</td>\n</tr>\n<tr>\n<td>from_number</td>\n<td>string</td>\n<td>Yes</td>\n<td>Sender's phone number in E.164 format (e.g., +983000505)</td>\n</tr>\n<tr>\n<td>message</td>\n<td>string</td>\n<td>Yes</td>\n<td>Message content to be sent, can include placeholders for dynamic data</td>\n</tr>\n<tr>\n<td>files[]</td>\n<td>file</td>\n<td>Yes</td>\n<td>File containing the phone numbers and any additional data needed for placeholders</td>\n</tr>\n<tr>\n<td>send_time</td>\n<td>string</td>\n<td>No</td>\n<td>Scheduled time for sending the message in YYYY-MM-DD HH:MM:SS format (timezone is UTC)</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"📝-notes\">📝 Notes</h2>\n<ul>\n<li><p>The <code>from_number</code> must be a valid sender number assigned to your account.</p>\n</li>\n<li><p>The <code>send_time</code> is optional; if not provided, the message will be sent immediately.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["v1","api","send"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[{"id":"aeee9ed2-2014-4612-aed1-120e82d38f50","name":"Send Keyword","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"body":{"mode":"formdata","formdata":[{"type":"text","key":"sending_type","value":"keyword"},{"type":"text","key":"from_number","value":"+983000505"},{"type":"text","key":"message","value":"سلام {ex_B} م۱ {ex_C}"},{"type":"text","key":"send_time","value":"2025-04-25 10:10:10"},{"type":"file","key":"files[]","src":"/path/to/your/file.xlsx"}]},"url":"https://edge.ippanel.com/v1/api/send"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\r\n  \"data\": {\r\n    \"message_outbox_ids\": [\r\n      1123594208\r\n    ]\r\n  },\r\n  \"meta\": {\r\n    \"status\": true,\r\n    \"message\": \"انجام شد\",\r\n    \"message_parameters\": [],\r\n    \"message_code\": \"200-1\"\r\n  }\r\n}"}],"_postman_id":"666767ca-67e9-42bb-a287-8c284c13d10d"},{"name":"Send Keyword Phonebook","id":"0390e10f-e8e6-40af-b7a4-5e5da8ece1a2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"body":{"mode":"raw","raw":"{\r\n    \"sending_type\": \"keyword_phonebook\",\r\n    \"from_number\": \"+983000505\",\r\n    \"message\": \"تاریخ {ex_50856}\\nبدهی {ex_50858}\",\r\n    \"send_time\": \"2025-03-25 10:10:10\",\r\n    \"params\": [\r\n        {\r\n            \"phonebook_id\": 123654\r\n        }\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/send","description":"<p>This API allows you to send messages using a keyword to a phonebook.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>sending_type</td>\n<td>string</td>\n<td>Yes</td>\n<td>Type of sending, must be \"keyword_phonebook\" for this endpoint</td>\n</tr>\n<tr>\n<td>from_number</td>\n<td>string</td>\n<td>Yes</td>\n<td>Sender's phone number in E.164 format (e.g., +983000505)</td>\n</tr>\n<tr>\n<td>message</td>\n<td>string</td>\n<td>Yes</td>\n<td>Message content to be sent, can include placeholders for phonebook fields</td>\n</tr>\n<tr>\n<td>send_time</td>\n<td>string</td>\n<td>No</td>\n<td>Scheduled time for sending the message in YYYY-MM-DD HH:MM:SS format (timezone is UTC)</td>\n</tr>\n<tr>\n<td>params</td>\n<td>array</td>\n<td>Yes</td>\n<td>Array of objects containing phonebook id</td>\n</tr>\n<tr>\n<td>phonebook_id</td>\n<td>integer</td>\n<td>Yes</td>\n<td>ID of the phonebook to send messages to</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"📝-notes\">📝 Notes</h2>\n<ul>\n<li><p>The <code>from_number</code> must be a valid sender number assigned to your account.</p>\n</li>\n<li><p>The <code>send_time</code> is optional; if not provided, the message will be sent immediately.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["v1","api","send"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"0390e10f-e8e6-40af-b7a4-5e5da8ece1a2"},{"name":"Send Phonebook","id":"6762315f-845c-468b-bc41-b61dd19c8101","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"body":{"mode":"raw","raw":"{\r\n    \"sending_type\": \"phonebook\",\r\n    \"from_number\": \"+983000505\",\r\n    \"message\": \"تست\",\r\n    \"params\": [\r\n        {\r\n            \"phonebook_ids\": [\r\n                \"123654\"\r\n            ],\r\n            \"type\": \"all\",\r\n            \"start\": \"1\",\r\n            \"size\": \"2\"\r\n        },\r\n        {\r\n            \"phonebook_id\": \"456987\",\r\n            \"type\": \"detail\",\r\n            \"number_ids\": [\r\n                \"123\",\r\n                \"456\",\r\n                \"789\"\r\n            ]\r\n        }\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/send","description":"<p>This API allows you to send messages to one or more phonebooks.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>sending_type</td>\n<td>string</td>\n<td>Yes</td>\n<td>Type of sending, must be \"phonebook\" for this endpoint</td>\n</tr>\n<tr>\n<td>from_number</td>\n<td>string</td>\n<td>Yes</td>\n<td>Sender's phone number in E.164 format (e.g., +983000505)</td>\n</tr>\n<tr>\n<td>message</td>\n<td>string</td>\n<td>Yes</td>\n<td>Message content to be sent to the recipients</td>\n</tr>\n<tr>\n<td>params</td>\n<td>array</td>\n<td>Yes</td>\n<td>Array of objects containing phonebook details</td>\n</tr>\n<tr>\n<td>phonebook_ids</td>\n<td>array</td>\n<td>Yes</td>\n<td>List of phonebook IDs to send messages to</td>\n</tr>\n<tr>\n<td>type</td>\n<td>string</td>\n<td>Yes</td>\n<td>Type of phonebook sending, can be \"all\" or \"detail\"</td>\n</tr>\n<tr>\n<td>start</td>\n<td>string</td>\n<td>No</td>\n<td>Starting index for pagination</td>\n</tr>\n<tr>\n<td>size</td>\n<td>string</td>\n<td>No</td>\n<td>Number of records to fetch</td>\n</tr>\n<tr>\n<td>phonebook_id</td>\n<td>string</td>\n<td>Yes</td>\n<td>ID of the phonebook to send messages to (if type is \"detail\")</td>\n</tr>\n<tr>\n<td>number_ids</td>\n<td>array</td>\n<td>Yes</td>\n<td>List of specific number IDs to send messages to (if type is \"detail\")</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"📝-notes\">📝 Notes</h2>\n<ul>\n<li><p>The <code>from_number</code> must be a valid sender number assigned to your account.</p>\n</li>\n<li><p>The <code>send_time</code> is optional; if not provided, the message will be sent immediately.</p>\n</li>\n</ul>\n<p>The type field can be <code>all</code> or <code>detail</code>. If the type is <code>all</code>, the <code>phonebook_ids</code> field is an array of phonebook IDs. If the type is <code>detail</code>, the <code>phonebook_id</code> field is a single phonebook ID and the <code>number_ids</code> field is an array of phone numbers to send the message to.</p>\n","urlObject":{"protocol":"https","path":["v1","api","send"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"6762315f-845c-468b-bc41-b61dd19c8101"},{"name":"Send Pattern","id":"306e26e5-1548-4ebc-a699-007bb348755d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"body":{"mode":"raw","raw":"{\r\n    \"sending_type\": \"pattern\",\r\n    \"from_number\": \"+983000505\",\r\n    \"code\": \"xxxxxxxxxxxxxxx\",\r\n    \"recipients\": [\r\n        \"+989120000000\"\r\n    ],\r\n    \"params\": {\r\n        \"code\": \"متن جایگذاری\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/send","description":"<p>This API allows you to send messages using a pattern.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>sending_type</td>\n<td>string</td>\n<td>Yes</td>\n<td>Type of sending, must be \"pattern\" for this endpoint</td>\n</tr>\n<tr>\n<td>from_number</td>\n<td>string</td>\n<td>Yes</td>\n<td>Sender's phone number in E.164 format (e.g., +983000505)</td>\n</tr>\n<tr>\n<td>code</td>\n<td>string</td>\n<td>Yes</td>\n<td>The pattern code to be used for sending the message</td>\n</tr>\n<tr>\n<td>recipients</td>\n<td>array</td>\n<td>Yes</td>\n<td>List of recipient phone number in E.164 format (e.g., +989120000000). Only one recipient is allowed for this endpoint.</td>\n</tr>\n<tr>\n<td>params</td>\n<td>object</td>\n<td>Yes</td>\n<td>Object containing parameters to replace in the pattern code. The keys must match the placeholders in the pattern.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"📝-notes\">📝 Notes</h2>\n<ul>\n<li><p>The <code>from_number</code> must be a valid sender number assigned to your account.</p>\n</li>\n<li><p>The <code>recipients</code> array must contain valid phone numbers in E.164 format.</p>\n</li>\n<li><p>The <code>params</code> object must contain key-value pairs where keys match the placeholders in the pattern code.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["v1","api","send"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"306e26e5-1548-4ebc-a699-007bb348755d"},{"name":"Send File","id":"bd16ecb4-9ae6-4465-9a00-4dbcebaba697","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"body":{"mode":"formdata","formdata":[{"type":"text","key":"sending_type","value":"file"},{"type":"text","key":"from_number","value":"+983000505"},{"type":"text","key":"message","value":"متن پیام"},{"type":"file","key":"files[]","src":"/path/to/your/file.csv"},{"type":"text","key":"send_time","value":"2025-03-12 21:20:02"},{"type":"text","key":"other_recipients[]","value":"+989120000000"},{"type":"text","key":"other_recipients[]","value":"+989350000000"}]},"url":"https://edge.ippanel.com/v1/api/send","description":"<p>This API allows you to send messages using a file containing phone numbers.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>sending_type</td>\n<td>string</td>\n<td>Yes</td>\n<td>Type of sending, must be \"file\" for this endpoint</td>\n</tr>\n<tr>\n<td>from_number</td>\n<td>string</td>\n<td>Yes</td>\n<td>Sender's phone number in E.164 format (e.g., +983000505)</td>\n</tr>\n<tr>\n<td>message</td>\n<td>string</td>\n<td>Yes</td>\n<td>Message content to be sent to the recipients</td>\n</tr>\n<tr>\n<td>files[]</td>\n<td>file</td>\n<td>Yes</td>\n<td>File containing phone numbers, must be in CSV or XLSX format</td>\n</tr>\n<tr>\n<td>send_time</td>\n<td>string</td>\n<td>No</td>\n<td>Scheduled time for sending the message in YYYY-MM-DD HH:MM:SS format (timezone is UTC)</td>\n</tr>\n<tr>\n<td>other_recipients</td>\n<td>array</td>\n<td>No</td>\n<td>Additional recipients in E.164 format (e.g., +989120000000)</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"📝-notes\">📝 Notes</h2>\n<ul>\n<li><p>The <code>from_number</code> must be a valid sender number assigned to your account.</p>\n</li>\n<li><p>The <code>send_time</code> is optional; if not provided, the message will be sent immediately.</p>\n</li>\n<li><p>The <code>files[]</code> parameter must contain a valid file with phone numbers. The file can be in CSV or XLSX format.</p>\n</li>\n<li><p>The <code>other_recipients</code> array is optional and can be used to add additional recipients not included in the file.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["v1","api","send"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"bd16ecb4-9ae6-4465-9a00-4dbcebaba697"},{"name":"Send VOTP","id":"02dc4e6f-dc5b-4b86-873a-07ad66ee5b5e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"body":{"mode":"raw","raw":"{\r\n    \"sending_type\": \"votp\",\r\n    \"message\": \"45852\",\r\n    \"params\": {\r\n        \"recipients\": [\r\n            \"+989120000000\"\r\n        ]\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"{base_url}/api/send","description":"<p>This API allows you to send a VOTP (Voice One-Time Password) message.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>sending_type</td>\n<td>string</td>\n<td>Yes</td>\n<td>Type of sending, must be \"votp\" for this endpoint</td>\n</tr>\n<tr>\n<td>message</td>\n<td>string</td>\n<td>Yes</td>\n<td>Message content to be sent, typically a one-time password (OTP), such as \"45852\"</td>\n</tr>\n<tr>\n<td>params</td>\n<td>object</td>\n<td>Yes</td>\n<td>Object containing recipients and other optional parameters</td>\n</tr>\n<tr>\n<td>recipients</td>\n<td>array</td>\n<td>Yes</td>\n<td>List of recipient phone numbers in E.164 format (e.g., +989120000000), only one recipient is allowed for VOTP</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"📝-notes\">📝 Notes</h2>\n<ul>\n<li><p>The <code>from_number</code> must be a valid sender number assigned to your account.</p>\n</li>\n<li><p>The <code>recipients</code> array must contain valid phone number in E.164 format.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","send"],"host":["{base_url}"],"query":[],"variable":[]}},"response":[],"_postman_id":"02dc4e6f-dc5b-4b86-873a-07ad66ee5b5e"},{"name":"Cancel Scheduled","id":"6107c019-3f21-4149-a3f0-36ef966f3729","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"body":{"mode":"raw","raw":"{\r\n    \"message_outbox_id\":1148303263\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/send/cancel","description":"<p>Use this API to cancel a message scheduled for future delivery. Note: You can only cancel messages at least 5 minutes before their scheduled send time.</p>\n","urlObject":{"protocol":"https","path":["v1","api","send","cancel"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"6107c019-3f21-4149-a3f0-36ef966f3729"},{"name":"send URL (user/pass)","id":"ee2e418b-026a-4330-8044-6599095e41ae","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://edge.ippanel.com/v1/api/send/webservice?from=+983000505&message=متن پیام&to=+989120000000&username=username&password=password","description":"<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>apikey</code></td>\n<td>string</td>\n<td>Maybe</td>\n<td>Your API key for authentication.</td>\n</tr>\n<tr>\n<td><code>from</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The sender's phone number in E.164 format.</td>\n</tr>\n<tr>\n<td><code>message</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The content of the SMS message to be sent.</td>\n</tr>\n<tr>\n<td><code>to</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The recipient's phone number in E.164 format.</td>\n</tr>\n<tr>\n<td><code>username</code></td>\n<td>string</td>\n<td>Maybe</td>\n<td>Username for additional authentication (if required).</td>\n</tr>\n<tr>\n<td><code>password</code></td>\n<td>string</td>\n<td>Maybe</td>\n<td>Password for additional authentication (if required).</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"📝-notes\">📝 Notes</h2>\n<p>In each request, you can use one of the following alternative keys for each parameter:</p>\n<ul>\n<li><p>For the <code>apikey</code> parameter, you can use: <code>api_key</code>, <code>apikey</code>, <code>apiKey</code>, <code>x-api-key</code>, <code>ApiKey</code>, <code>api-key</code>, <code>ApiKey</code>, <code>key</code>, <code>access_key</code>, <code>accessKey</code>, <code>auth_key</code>, <code>authorization</code>, <code>token</code>, <code>secret</code>, <code>api_token</code></p>\n</li>\n<li><p>For the <code>from</code> parameter, you can use: <code>From</code>, <code>from</code>, <code>sender</code>, <code>src</code>, <code>source</code>, <code>from_number</code>, <code>sender_number</code>, <code>origin</code>, <code>originator</code>, <code>caller</code>, <code>caller_id</code>, <code>sms_from</code>, <code>fromNum</code></p>\n</li>\n<li><p>For the <code>message</code> parameter, you can use: <code>Message</code>, <code>message</code>, <code>msg</code>, <code>text</code>, <code>txt</code>, <code>body</code>, <code>content</code>, <code>sms</code>, <code>message_body</code>, <code>messageText</code></p>\n</li>\n<li><p>For the <code>to</code> parameter, you can use: <code>To</code>, <code>to</code>, <code>recipient</code>, <code>dst</code>, <code>destination</code>, <code>to_number</code>, <code>recipient_number</code>, <code>target</code>, <code>receiver</code></p>\n</li>\n<li><p>For the <code>username</code> parameter, you can use: <code>UserName</code>, <code>username</code>, <code>uname</code>, <code>user</code>, <code>to_number</code>, <code>recipient_number</code>, <code>target</code>, <code>receiver</code>, <code>login</code>, <code>user_name</code>, <code>userid</code>, <code>userName</code></p>\n</li>\n<li><p>For the <code>password</code> parameter, you can use: <code>Password</code>, <code>password</code>, <code>pass</code>, <code>passwd</code>, <code>pwd</code>, <code>user_password</code>, <code>passcode</code>, <code>login_password</code>, <code>auth_pass</code>, <code>user_pass</code>, <code>secret</code>, <code>access_password</code></p>\n</li>\n</ul>\n<p>Authentication must be provided using either an <code>API key</code> or a <code>username/password</code> combination — not both.</p>\n","urlObject":{"protocol":"https","path":["v1","api","send","webservice"],"host":["edge","ippanel","com"],"query":[{"key":"from","value":"+983000505"},{"key":"message","value":"متن پیام"},{"key":"to","value":"+989120000000"},{"key":"username","value":"username"},{"key":"password","value":"password"}],"variable":[]}},"response":[],"_postman_id":"ee2e418b-026a-4330-8044-6599095e41ae"},{"name":"send URL(APIkey)","id":"ca3e4d73-d756-4280-8c12-dbb568285259","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://edge.ippanel.com/v1/api/send/webservice?from=+983000505&message=متن پیام&to=+989120000000&apikey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","description":"<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>apikey</code></td>\n<td>string</td>\n<td>Maybe</td>\n<td>Your API key for authentication.</td>\n</tr>\n<tr>\n<td><code>from</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The sender's phone number in E.164 format.</td>\n</tr>\n<tr>\n<td><code>message</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The content of the SMS message to be sent.</td>\n</tr>\n<tr>\n<td><code>to</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The recipient's phone number in E.164 format.</td>\n</tr>\n<tr>\n<td><code>username</code></td>\n<td>string</td>\n<td>Maybe</td>\n<td>Username for additional authentication (if required).</td>\n</tr>\n<tr>\n<td><code>password</code></td>\n<td>string</td>\n<td>Maybe</td>\n<td>Password for additional authentication (if required).</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"📝-notes\">📝 Notes</h2>\n<p>In each request, you can use one of the following alternative keys for each parameter:</p>\n<ul>\n<li><p>For the <code>apikey</code> parameter, you can use: <code>api_key</code>, <code>apikey</code>, <code>apiKey</code>, <code>x-api-key</code>, <code>ApiKey</code>, <code>api-key</code>, <code>ApiKey</code>, <code>key</code>, <code>access_key</code>, <code>accessKey</code>, <code>auth_key</code>, <code>authorization</code>, <code>token</code>, <code>secret</code>, <code>api_token</code></p>\n</li>\n<li><p>For the <code>from</code> parameter, you can use: <code>From</code>, <code>from</code>, <code>sender</code>, <code>src</code>, <code>source</code>, <code>from_number</code>, <code>sender_number</code>, <code>origin</code>, <code>originator</code>, <code>caller</code>, <code>caller_id</code>, <code>sms_from</code>, <code>fromNum</code></p>\n</li>\n<li><p>For the <code>message</code> parameter, you can use: <code>Message</code>, <code>message</code>, <code>msg</code>, <code>text</code>, <code>txt</code>, <code>body</code>, <code>content</code>, <code>sms</code>, <code>message_body</code>, <code>messageText</code></p>\n</li>\n<li><p>For the <code>to</code> parameter, you can use: <code>To</code>, <code>to</code>, <code>recipient</code>, <code>dst</code>, <code>destination</code>, <code>to_number</code>, <code>recipient_number</code>, <code>target</code>, <code>receiver</code></p>\n</li>\n<li><p>For the <code>username</code> parameter, you can use: <code>UserName</code>, <code>username</code>, <code>uname</code>, <code>user</code>, <code>to_number</code>, <code>recipient_number</code>, <code>target</code>, <code>receiver</code>, <code>login</code>, <code>user_name</code>, <code>userid</code>, <code>userName</code></p>\n</li>\n<li><p>For the <code>password</code> parameter, you can use: <code>Password</code>, <code>password</code>, <code>pass</code>, <code>passwd</code>, <code>pwd</code>, <code>user_password</code>, <code>passcode</code>, <code>login_password</code>, <code>auth_pass</code>, <code>user_pass</code>, <code>secret</code>, <code>access_password</code></p>\n</li>\n</ul>\n<p>Authentication must be provided using either an <code>API key</code> or a <code>username/password</code> combination — not both.</p>\n","urlObject":{"protocol":"https","path":["v1","api","send","webservice"],"host":["edge","ippanel","com"],"query":[{"key":"from","value":"+983000505"},{"key":"message","value":"متن پیام"},{"key":"to","value":"+989120000000"},{"key":"apikey","value":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}],"variable":[]}},"response":[],"_postman_id":"ca3e4d73-d756-4280-8c12-dbb568285259"}],"id":"d8f1879b-c2f1-493d-bc21-738dc24c4361","_postman_id":"d8f1879b-c2f1-493d-bc21-738dc24c4361","description":""},{"name":"Report","item":[{"name":"Get Outbox Report","id":"9baccee6-d3f3-45b4-8f1a-e9179ea48a41","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"body":{"mode":"raw","raw":"{\r\n    \"page\": 1,\r\n    \"limit\": 10,\r\n    \"filters\": {\r\n        \"username\": \"*\",\r\n        \"number\": \"+98217000070\",\r\n        \"messages_outbox_id\": \"1100972179\",\r\n        \"create_from_date\": \"1744102007\",\r\n        \"create_to_date\": \"1744102007\",\r\n        \"send_from_date\": \"1744102007\",\r\n        \"send_to_date\": \"1744102007\",\r\n        \"from_exit_count\": 1,\r\n        \"to_exit_count\": 100,\r\n        \"message\": \"تست\",\r\n        \"state_id\":\"6\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/report/new_list","description":"<p>With this API, you can retrieve a general report of your SMS sending requests. It provides information about sent bulk messages but does not include individual message details. To access message-level data, please refer to the detailed APIs described later in this documentation.You can use the page and limit parameters to paginate through the results.</p>\n<p>StartFragment</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>page</td>\n<td>integer</td>\n<td>No</td>\n<td>The page number for pagination. Default is 1.</td>\n</tr>\n<tr>\n<td>limit</td>\n<td>integer</td>\n<td>No</td>\n<td>The number of records per page. Default is 10.</td>\n</tr>\n<tr>\n<td>filters</td>\n<td>object</td>\n<td>No</td>\n<td>An object containing various filters to apply to the report.</td>\n</tr>\n<tr>\n<td>filters.username</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by username (supports wildcard <code>\\*</code>).</td>\n</tr>\n<tr>\n<td>filters.number</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by sender number in E.164 format.</td>\n</tr>\n<tr>\n<td>filters.messages_outbox_id</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by specific message outbox ID.</td>\n</tr>\n<tr>\n<td>filters.create_from_date</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by creation date from (timestamp).</td>\n</tr>\n<tr>\n<td>filters.create_to_date</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by creation date to (timestamp).</td>\n</tr>\n<tr>\n<td>filters.send_from_date</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by send date from (timestamp).</td>\n</tr>\n<tr>\n<td>filters.send_to_date</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by send date to (timestamp).</td>\n</tr>\n<tr>\n<td>filters.from_exit_count</td>\n<td>integer</td>\n<td>No</td>\n<td>Filter by minimum exit count.</td>\n</tr>\n<tr>\n<td>filters.to_exit_count</td>\n<td>integer</td>\n<td>No</td>\n<td>Filter by maximum exit count.</td>\n</tr>\n<tr>\n<td>filters.message</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by message content.</td>\n</tr>\n<tr>\n<td>filters.state_id</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by message state ID (e.g., <code>6</code> for sent).</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"📝-notes\">📝 Notes</h2>\n<ul>\n<li><p>The <code>filters</code> object allows you to specify multiple criteria to narrow down the report results.</p>\n</li>\n<li><p>The <code>state_id</code> can be used to filter messages by their status, such as sent, failed, or pending.</p>\n<ul>\n<li><p><code>0</code>: The message is in the process of create.</p>\n</li>\n<li><p><code>1</code>: The message create successfully and is in the monitoring queue.</p>\n</li>\n<li><p><code>2</code>: The message is in the process of sending.</p>\n</li>\n<li><p><code>3</code>: The message rejected by the monitoring system.</p>\n</li>\n<li><p><code>4</code>: The recipients of this message were either entered incorrectly or are not valid.</p>\n</li>\n<li><p><code>5</code>: The message is in send queue.</p>\n</li>\n<li><p><code>6</code>: The message was sent successfully.</p>\n</li>\n<li><p><code>7</code>: The message sending has been canceled.</p>\n</li>\n<li><p><code>8</code>: Insufficient credit for sending.</p>\n</li>\n<li><p><code>9</code>: The message was not sent due to a system error.</p>\n</li>\n</ul>\n</li>\n</ul>\n<p>EndFragment</p>\n","urlObject":{"protocol":"https","path":["v1","api","report","new_list"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"9baccee6-d3f3-45b4-8f1a-e9179ea48a41"},{"name":"Get Outbox Report By ID","id":"f76c80f9-c016-4bc0-961e-79d29d6d85e2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"url":"https://edge.ippanel.com/v1/api/report/by_bulk?messages_outbox_id={messages_outbox_id}","description":"<p>This API allows you to get a detailed report of a specific sent message using its ID.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>messages_outbox_id</td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the sent message to retrieve the report for.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","report","by_bulk"],"host":["edge","ippanel","com"],"query":[{"key":"messages_outbox_id","value":"{messages_outbox_id}"}],"variable":[]}},"response":[],"_postman_id":"f76c80f9-c016-4bc0-961e-79d29d6d85e2"},{"name":"Get Bulk Recipients","id":"ce4c6eb0-6649-4cdb-812a-ac9bdf46a860","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"url":"{base_url}/api/report/recipients?page=1&per_page=10&bulk_id={messages_outbox_id}","description":"<p>This API allows you to get the recipients of a specific sent message using its ID. If the message status is finalized, the delivery status for each recipient will also be returned.</p>\n<p><code>message_status</code> field can have the following values:</p>\n<ul>\n<li><p><code>0</code>: Sent to the operator</p>\n</li>\n<li><p><code>1</code>: Operator received the message</p>\n</li>\n<li><p><code>2</code>: Message delivered to the recipient</p>\n</li>\n<li><p><code>3</code>: Message not delivered to the recipient</p>\n</li>\n<li><p><code>4</code>: Blacklisted number</p>\n</li>\n</ul>\n","urlObject":{"path":["api","report","recipients"],"host":["{base_url}"],"query":[{"key":"page","value":"1"},{"key":"per_page","value":"10"},{"key":"bulk_id","value":"{messages_outbox_id}"}],"variable":[]}},"response":[],"_postman_id":"ce4c6eb0-6649-4cdb-812a-ac9bdf46a860"},{"name":"Get Inbox Report","id":"4921d705-37a0-44e8-b124-54c93dbd6f84","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"body":{"mode":"raw","raw":"{\r\n    \"page\": 1,\r\n    \"per_page\": 10,\r\n    \"filters\" : {\r\n        \"from_id\":125\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/report/messages-inbox","description":"<p>This API allows you to get reports of received messages. If you want to get new received messages, you can use the from_id parameter in the request body. This parameter is the ID of the last message you received. The API will return all messages received after this ID. You can use the page and per_page parameters to paginate through the results.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>page</td>\n<td>integer</td>\n<td>No</td>\n<td>The page number to retrieve (default is 1)</td>\n</tr>\n<tr>\n<td>per_page</td>\n<td>integer</td>\n<td>No</td>\n<td>The number of items per page (default is 10)</td>\n</tr>\n<tr>\n<td>filters</td>\n<td>object</td>\n<td>No</td>\n<td>An object containing various filters to apply to the report results</td>\n</tr>\n<tr>\n<td>from_id</td>\n<td>integer</td>\n<td>No</td>\n<td>The ID of the last message received, used to get new messages after this ID</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","report","messages-inbox"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"4921d705-37a0-44e8-b124-54c93dbd6f84"}],"id":"88ce7bfa-7025-4368-a691-7914d371b93f","_postman_id":"88ce7bfa-7025-4368-a691-7914d371b93f","description":""},{"name":"Numbers","item":[{"name":"Assign Number","id":"9df7650d-4099-4ec9-a228-38a1c68d8343","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"body":{"mode":"raw","raw":"{\r\n    \"number_id\": 10,\r\n    \"target_user_id\": 123,\r\n    \"number\": \"+983000505\",\r\n    \"target_user\": \"testuser\",\r\n    \"send\": true,\r\n    \"gets\": false\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/numbers/assign","description":"<p>This API allows you to assign a number to a user.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>number_id</td>\n<td>integer</td>\n<td>Yes</td>\n<td>The ID of the number to be assigned.</td>\n</tr>\n<tr>\n<td>target_user_id</td>\n<td>integer</td>\n<td>Yes</td>\n<td>The ID of the user to whom the number will be assigned.</td>\n</tr>\n<tr>\n<td>number</td>\n<td>string</td>\n<td>No</td>\n<td>The number in E.164 format to be assigned.</td>\n</tr>\n<tr>\n<td>target_user</td>\n<td>string</td>\n<td>No</td>\n<td>The username of the user to whom the number will be assigned.</td>\n</tr>\n<tr>\n<td>send</td>\n<td>boolean</td>\n<td>Yes</td>\n<td>If true, user can send messages with this number.</td>\n</tr>\n<tr>\n<td>gets</td>\n<td>boolean</td>\n<td>Yes</td>\n<td>If true, user can receive messages with this number.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"📝-notes\">📝 Notes</h2>\n<ul>\n<li><p><code>number_id</code> Required if <code>number</code> is not provided.</p>\n</li>\n<li><p><code>target_user_id</code> Required if <code>target_user</code> is not provided.</p>\n</li>\n<li><p><code>number</code> Required if <code>number_id</code> is not provided.</p>\n</li>\n<li><p><code>target_user</code> Required if <code>target_user_id</code> is not provided.</p>\n</li>\n<li><p><code>gets</code> the user will be able to receive/view incoming messages for this number. Typically <code>true</code> for dedicated numbers.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["v1","api","numbers","assign"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"9df7650d-4099-4ec9-a228-38a1c68d8343"},{"name":"Unassign Number","id":"1114332e-cbeb-4724-8546-c7b8e9e79350","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"body":{"mode":"raw","raw":"{\r\n    \"number_id\": 10,\r\n    \"target_user_id\": 123,\r\n    \"number\": \"+983000505\",\r\n    \"target_user\": \"testuser\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/numbers/unassign","description":"<p>This API allows you to unassign a number from a user.  </p>\n<p>📝 Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>number_id</td>\n<td>integer</td>\n<td>Yes</td>\n<td>The ID of the number to be assigned.</td>\n</tr>\n<tr>\n<td>target_user_id</td>\n<td>integer</td>\n<td>Yes</td>\n<td>The ID of the user to whom the number will be assigned.</td>\n</tr>\n<tr>\n<td>number</td>\n<td>string</td>\n<td>No</td>\n<td>The number in E.164 format to be assigned.</td>\n</tr>\n<tr>\n<td>target_user</td>\n<td>string</td>\n<td>No</td>\n<td>The username of the user to whom the number will be assigned.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"📝-notes\">📝 Notes</h2>\n<ul>\n<li><p><code>number_id</code> Required if <code>number</code> is not provided.</p>\n</li>\n<li><p><code>target_user_id</code> Required if <code>target_user</code> is not provided.</p>\n</li>\n<li><p><code>number</code> Required if <code>number_id</code> is not provided.</p>\n</li>\n<li><p><code>target_user</code> Required if <code>target_user_id</code> is not provided.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["v1","api","numbers","unassign"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"1114332e-cbeb-4724-8546-c7b8e9e79350"},{"name":"List Numbers","id":"b08ff934-910c-4151-a43b-38e3290dd97b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"url":"{base_url}/api/number/numbers?page=1&per_page=10","description":"<p>This API allows you to list all numbers that belong to users.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>page</td>\n<td>int</td>\n<td>No</td>\n<td>Page number for pagination (default is 1)</td>\n</tr>\n<tr>\n<td>per_page</td>\n<td>int</td>\n<td>No</td>\n<td>Number of items per page (default is 10)</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","number","numbers"],"host":["{base_url}"],"query":[{"key":"page","value":"1"},{"key":"per_page","value":"10"}],"variable":[]}},"response":[],"_postman_id":"b08ff934-910c-4151-a43b-38e3290dd97b"}],"id":"c5b75e67-db26-4f0c-afc2-314208d565eb","_postman_id":"c5b75e67-db26-4f0c-afc2-314208d565eb","description":""},{"name":"User","item":[{"name":"Get Parents Tree","id":"f54d9e90-283e-4316-a3bf-1c0ff4f6bd73","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"url":"https://edge.ippanel.com/v1/api/user/parents_tree?user_id={user_id}","description":"<p>Returns the full hierarchy (reseller tree) of a specific user.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>user_id</td>\n<td>integer</td>\n<td>Yes</td>\n<td>The ID of the user for whom you want to retrieve the parent tree.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","user","parents_tree"],"host":["edge","ippanel","com"],"query":[{"key":"user_id","value":"{user_id}"}],"variable":[]}},"response":[],"_postman_id":"f54d9e90-283e-4316-a3bf-1c0ff4f6bd73"},{"name":"List Users","id":"7265e4ad-1a2a-4812-976f-d5820c2f628b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"url":"https://edge.ippanel.com/v1/api/user/list?page=1&per_page=10","description":"<p>This API allows you to list all users under your reseller account.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>page</td>\n<td>integer</td>\n<td>No</td>\n<td>Page number for pagination (default is 1)</td>\n</tr>\n<tr>\n<td>per_page</td>\n<td>integer</td>\n<td>No</td>\n<td>Number of users per page (default is 10)</td>\n</tr>\n<tr>\n<td>username</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by username (optional)</td>\n</tr>\n<tr>\n<td>name</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by name (optional)</td>\n</tr>\n<tr>\n<td>add_status</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by Create status of the user. Can get one or this <code>status</code>,<code>normal</code>,<code>online</code>,<code>webservice</code> (optional)</td>\n</tr>\n<tr>\n<td>national_id</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by national ID (optional)</td>\n</tr>\n<tr>\n<td>acl_role_id</td>\n<td>integer</td>\n<td>No</td>\n<td>Filter by ACL role ID (optional)</td>\n</tr>\n<tr>\n<td>tell</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by telephone number (optional)</td>\n</tr>\n<tr>\n<td>mobile</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by mobile number (optional)</td>\n</tr>\n<tr>\n<td>is_reseller</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by reseller status (<code>yes</code> or <code>no</code>) (optional)</td>\n</tr>\n<tr>\n<td>document_block</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by document block status (<code>yes</code> or <code>no</code>) (optional)</td>\n</tr>\n<tr>\n<td>created_from</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by creation date from (format: timestamp UTC) (optional)</td>\n</tr>\n<tr>\n<td>created_to</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by creation date to (format: timestamp UTC) (optional)</td>\n</tr>\n<tr>\n<td>expire_from</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by expiration date from (format: timestamp UTC) (optional)</td>\n</tr>\n<tr>\n<td>expire_to</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by expiration date to (format: timestamp UTC) (optional)</td>\n</tr>\n<tr>\n<td>is_bought_panel</td>\n<td>string</td>\n<td>No</td>\n<td>Filter by purchased panel status (<code>1</code> or <code>0</code>) (optional)</td>\n</tr>\n<tr>\n<td>login_status</td>\n<td>integer</td>\n<td>No</td>\n<td>Indicates whether the user is logged in. Can get one status:<code>0</code> and mean never login (optional)</td>\n</tr>\n<tr>\n<td>sub_reseller</td>\n<td>integer</td>\n<td>No</td>\n<td>Accepts either <code>0</code> or <code>1</code>. <code>0</code> indicates that the user is a direct sub-reseller and <code>1</code> indicates that the user is an indirect sub-reseller (i.e., part of the downline but not directly under the requester). If omitted, all users (both direct and indirect) will be returned (optional)</td>\n</tr>\n</tbody>\n</table>\n</div><p>⚠️ Important: To exclude a filter from the query, do not include it at all in the request. Avoid sending it with an empty string or null value.</p>\n","urlObject":{"protocol":"https","path":["v1","api","user","list"],"host":["edge","ippanel","com"],"query":[{"key":"page","value":"1"},{"key":"per_page","value":"10"}],"variable":[]}},"response":[],"_postman_id":"7265e4ad-1a2a-4812-976f-d5820c2f628b"}],"id":"a79be33e-e35e-45f9-aed4-8292cec03323","_postman_id":"a79be33e-e35e-45f9-aed4-8292cec03323","description":""},{"name":"Package","item":[{"name":"List Packages","id":"bfbdfae1-08a6-487f-8060-f7ba6b4ffeda","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"url":"https://edge.ippanel.com/v1/api/acl/package/list?page=1&per_page=10","description":"<p>Generated from cURL: curl --location '{base_url}/api/acl/package/list?page=1&amp;per_page=10' <br />--header 'Content-Type: application/json' <br />--header 'Authorization: Your Apikey/Token' </p>\n","urlObject":{"protocol":"https","path":["v1","api","acl","package","list"],"host":["edge","ippanel","com"],"query":[{"key":"page","value":"1"},{"key":"per_page","value":"10"}],"variable":[]}},"response":[],"_postman_id":"bfbdfae1-08a6-487f-8060-f7ba6b4ffeda"}],"id":"b43a6de0-0f5f-4955-8a5f-f3cf8d67a3d0","_postman_id":"b43a6de0-0f5f-4955-8a5f-f3cf8d67a3d0","description":""},{"name":"Phonebook","item":[{"name":"Phonebook","item":[{"name":"Phonebook List","id":"d1288d00-bbb8-4c2b-8fcb-d3c7b44fe92b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"url":"https://edge.ippanel.com/v1/api/phonebooks/list-new","description":"<p>Generated from cURL: curl --location --globoff '{base_url}/api/phonebooks/list-new' <br />--header 'Content-Type: application/json' <br />--header 'Authorization: Your Apikey/Token' '</p>\n","urlObject":{"protocol":"https","path":["v1","api","phonebooks","list-new"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"d1288d00-bbb8-4c2b-8fcb-d3c7b44fe92b"},{"name":"Store Phonebook","id":"47646e30-bf8d-46a6-be83-41630c37eca6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Your Apikey/Token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"title\": \"تست\",\r\n    \"options\": [\r\n        \"123\",\r\n        \"456\"\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/phonebooks","description":"<p>This API allows you to create a new phonebook entry.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>title</td>\n<td>string</td>\n<td>Yes</td>\n<td>The title of the phonebook entry. Maximum 200 characters.</td>\n</tr>\n<tr>\n<td>options</td>\n<td>array</td>\n<td>No</td>\n<td>An array of option ids to be associated with the phonebook entry.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","phonebooks"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"47646e30-bf8d-46a6-be83-41630c37eca6"},{"name":"Delete Phonebook","id":"28d4088b-1f52-43a0-82e7-e87c84153a72","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Your Apikey/Token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"listPhonebooks\": [\r\n        860108\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/phonebooks/delete-list","description":"<p>This API allows you to delete list of phonebook entries by their IDs.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>listPhonebooks</td>\n<td>array</td>\n<td>Yes</td>\n<td>An array of phonebook IDs to be deleted. Each ID must be a valid integer.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","phonebooks","delete-list"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"28d4088b-1f52-43a0-82e7-e87c84153a72"},{"name":"Update Phonebook","id":"f484ce13-3893-43bd-a853-5e3b019a8057","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"Your Apikey/Token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"urlencoded","urlencoded":[]},"url":"https://edge.ippanel.com/v1//api/phonebooks/{phonebook_id}","description":"<p>This API allows you to update an existing phonebook entry by its ID.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>phonebook_id</td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the phonebook entry you want to update.</td>\n</tr>\n<tr>\n<td>title</td>\n<td>string</td>\n<td>No</td>\n<td>The title of the phonebook entry. Maximum length is 200 characters.</td>\n</tr>\n<tr>\n<td>options</td>\n<td>array</td>\n<td>No</td>\n<td>An array of option ids to be associated with the phonebook entry.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","","api","phonebooks","{phonebook_id}"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"f484ce13-3893-43bd-a853-5e3b019a8057"}],"id":"9d70a4c4-b17f-4a24-bd6e-e9173a2e62bb","_postman_id":"9d70a4c4-b17f-4a24-bd6e-e9173a2e62bb","description":""},{"name":"Phonebook Number","item":[{"name":"Phonebook Number Store","id":"5a0f9a0e-d738-4d40-bbb2-77ba7dc19dda","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Your Apikey/Token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"list\": [\r\n        {\r\n            \"number\": \"+989121236547\",\r\n            \"pre\": \"آقای\",\r\n            \"name\": \"حسن\",\r\n            \"options\": {\r\n                \"46258\": \"15\",\r\n                \"46027\" : \"1992/10/08\"\r\n            },\r\n            \"phonebook_id\": \"1234\"\r\n        }\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/phonebooks/numbers/add-list-new","description":"<p>This API allows you to add new contacts to your phonebook in bulk. You can specify multiple contacts in a single request, including their phone numbers, names, email addresses, and additional options.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th></th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>list</td>\n<td>array</td>\n<td>Yes</td>\n<td>An array of objects containing phonebook numbers entries to be added.</td>\n</tr>\n<tr>\n<td>number</td>\n<td>string</td>\n<td>Yes</td>\n<td>The phone number in E.164 format.</td>\n</tr>\n<tr>\n<td>pre</td>\n<td>string</td>\n<td>No</td>\n<td>The prefix for the name (e.g., Mr., Ms.).</td>\n</tr>\n<tr>\n<td>name</td>\n<td>string</td>\n<td>No</td>\n<td>The name of the contact.</td>\n</tr>\n<tr>\n<td>email</td>\n<td>string</td>\n<td>No</td>\n<td>The email address of the contact.</td>\n</tr>\n<tr>\n<td>options</td>\n<td>object</td>\n<td>No</td>\n<td>Additional options as key-value pairs.</td>\n</tr>\n<tr>\n<td>phonebook_id</td>\n<td>string</td>\n<td>Yes</td>\n<td>The ID of the phonebook to which the contact belongs.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"📝-notes\">📝 Notes</h2>\n<ul>\n<li>The <code>options</code> object can contain any additional fields you want to store for the contact, such as custom fields or metadata. Key names in the <code>options</code> object should be existing option IDs from your phonebook configuration.</li>\n</ul>\n","urlObject":{"protocol":"https","path":["v1","api","phonebooks","numbers","add-list-new"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"5a0f9a0e-d738-4d40-bbb2-77ba7dc19dda"},{"name":"Phonebook Number Delete","id":"afe1de41-6dc8-4f2c-b44a-e795915db425","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"body":{"mode":"raw","raw":"{\r\n    \"listNumbers\": [\r\n       1234\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/phonebooks/numbers/add-list-new","description":"<p>This API allows you to delete a list of phone numbers from your phonebook. You can specify multiple numbers to be deleted in a single request.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>listNumbers</td>\n<td>array</td>\n<td>Yes</td>\n<td>An array of phone numbers to be deleted from the phonebook. The numbers should be in integer format.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","phonebooks","numbers","add-list-new"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"afe1de41-6dc8-4f2c-b44a-e795915db425"},{"name":"Phonebook Number Show","id":"cd11b8c0-30fc-4228-a866-bdbdb9cba911","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"url":"https://edge.ippanel.com/v1/api/phonebooks/numbers/contact-list/{contact_id}","description":"<p>This API allows you to retrieve the details of a specific phonebook contact by its unique identifier. You can use this endpoint to get information such as the contact's name, number, email, and associated tags.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>contact_id</td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the contact whose details you want to retrieve.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","phonebooks","numbers","contact-list","{contact_id}"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"cd11b8c0-30fc-4228-a866-bdbdb9cba911"},{"name":"Phonebook Number List","id":"2bcd6c9a-c7ef-4079-be69-f784ab6dcee8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"url":"https://edge.ippanel.com/v1/api/phonebooks/numbers/contact-list","description":"<p>This API allows you to retrieve a list of all phonebook numbers.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>from_created_at</td>\n<td>string</td>\n<td>No</td>\n<td>Timestamp to filter numbers created after this date. Format: Unix timestamp (seconds since epoch).</td>\n</tr>\n<tr>\n<td>number</td>\n<td>string</td>\n<td>No</td>\n<td>Phone number to filter by. Format: E.164 (e.g., +989121234568).</td>\n</tr>\n<tr>\n<td>phonebook_title</td>\n<td>string</td>\n<td>No</td>\n<td>Title of the phonebook to filter by.</td>\n</tr>\n<tr>\n<td>phonebook_id</td>\n<td>string</td>\n<td>No</td>\n<td>ID of the phonebook to filter by.</td>\n</tr>\n<tr>\n<td>page</td>\n<td>integer</td>\n<td>No</td>\n<td>The page number for pagination (default is 1)</td>\n</tr>\n<tr>\n<td>per_page</td>\n<td>integer</td>\n<td>No</td>\n<td>The number of entries per page (default is 10, max is 1000)</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","phonebooks","numbers","contact-list"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"2bcd6c9a-c7ef-4079-be69-f784ab6dcee8"},{"name":"Phonebook Number Contact Export","id":"6bed6210-e544-4638-8725-5817c45143e9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"url":"https://edge.ippanel.com/v1/api/phonebooks/numbers/contact-list/export?from_created_at=1745785800&number=+989121234568&phonebook_title=title&phonebook_id=12345","description":"<p>This API allows you to export phonebook numbers contacts based on specific criteria such as creation date, phonebook title.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>from_created_at</td>\n<td>string</td>\n<td>No</td>\n<td>Timestamp to filter numbers created after this date. Format: Unix timestamp (seconds since epoch).</td>\n</tr>\n<tr>\n<td>number</td>\n<td>string</td>\n<td>No</td>\n<td>Phone number to filter by. Format: E.164 (e.g., +989121234568).</td>\n</tr>\n<tr>\n<td>phonebook_title</td>\n<td>string</td>\n<td>No</td>\n<td>Title of the phonebook to filter by.</td>\n</tr>\n<tr>\n<td>phonebook_id</td>\n<td>string</td>\n<td>No</td>\n<td>ID of the phonebook to filter by.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","phonebooks","numbers","contact-list","export"],"host":["edge","ippanel","com"],"query":[{"key":"from_created_at","value":"1745785800"},{"key":"number","value":"+989121234568"},{"key":"phonebook_title","value":"title"},{"key":"phonebook_id","value":"12345"}],"variable":[]}},"response":[],"_postman_id":"6bed6210-e544-4638-8725-5817c45143e9"},{"name":"Phonebook Number Import","id":"11a75e7d-ac37-4506-ab13-680f2a0ddd5b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"API TOKEN"},{"key":"Accept","value":"application/json"}],"body":{"mode":"formdata","formdata":[{"type":"file","key":"file","src":"/phonebook-import.xlsx"}]},"url":"https://edge.ippanel.com/v1/api/phonebooks/12345/import","description":"<p>This API allows you to import phonebook numbers into a specific phonebook.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>file</td>\n<td>file</td>\n<td>Yes</td>\n<td>The file to be imported, must be a valid Excel file containing phone numbers.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","phonebooks","12345","import"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"11a75e7d-ac37-4506-ab13-680f2a0ddd5b"},{"name":"Phonebook Number Update","id":"3f87a2ed-a30e-4652-85c9-1bf8a5804af3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"Your Apikey/Token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"pre\": \"Mr.\",\r\n    \"name\": \"name\",\r\n    \"number\": \"+989121236547\",\r\n    \"options\": {\r\n      \"124\": \"2025-05-20\"\r\n    },\r\n    \"phonebook_id\": \"12345\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/phonebooks/numbers/update-new/234235","description":"<p>This API allows you to update an existing phonebook contact by its ID. You can modify the contact's name, number, email, and additional options.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>number</td>\n<td>string</td>\n<td>No</td>\n<td>The phone number in E.164 format.</td>\n</tr>\n<tr>\n<td>pre</td>\n<td>string</td>\n<td>No</td>\n<td>The prefix for the name (e.g., Mr., Ms.).</td>\n</tr>\n<tr>\n<td>name</td>\n<td>string</td>\n<td>No</td>\n<td>The name of the contact.</td>\n</tr>\n<tr>\n<td>email</td>\n<td>string</td>\n<td>No</td>\n<td>The email address of the contact.</td>\n</tr>\n<tr>\n<td>options</td>\n<td>object</td>\n<td>No</td>\n<td>Additional options as key-value pairs.</td>\n</tr>\n<tr>\n<td>phonebook_id</td>\n<td>string</td>\n<td>No</td>\n<td>The ID of the phonebook to which the contact belongs.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","phonebooks","numbers","update-new","234235"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"3f87a2ed-a30e-4652-85c9-1bf8a5804af3"},{"name":"Phonebook Number Sample Import","id":"5029358b-37d4-49cf-b758-5789213c9056","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"url":"https://edge.ippanel.com/v1/api/phonebooks/12345/import/get-sample","description":"<p>This API allows you to get a sample import number for a specific phonebook. This is useful for understanding the format required for importing numbers.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>phonebook_id</td>\n<td>string</td>\n<td>Yes</td>\n<td>The ID of the phonebook</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","phonebooks","12345","import","get-sample"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"5029358b-37d4-49cf-b758-5789213c9056"},{"name":"Phonebook Number Members Export","id":"269360e7-f54a-43d3-af43-abc9fa4c9443","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"url":"https://edge.ippanel.com/v1/api/phonebooks/12345/export","description":"<p>This API allows you to export phonebook numbers of a phonebook with related options.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>phonebook_id</td>\n<td>string</td>\n<td>Yes</td>\n<td>ID of the phonebook to filter by.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","phonebooks","12345","export"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"269360e7-f54a-43d3-af43-abc9fa4c9443"}],"id":"6e159535-6951-4355-a389-6de083fb6f21","_postman_id":"6e159535-6951-4355-a389-6de083fb6f21","description":""},{"name":"Phonebook Options","item":[{"name":"Phonebook Option Store","id":"859b7408-3e94-4907-9bde-6d9c4c88c8b6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"API TOKEN"},{"key":"Accept","value":"application/json"}],"body":{"mode":"urlencoded","urlencoded":[{"type":"text","key":"{\r\n    \"type\": \"int\",\r\n    \"title\": \"option1\"\r\n}","value":""}]},"url":"https://edge.ippanel.com/v1/api/phonebooks/options","description":"<p>This API allows you to store a phonebook option.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>type</td>\n<td>string</td>\n<td>Yes</td>\n<td>The type of the option. Can be <code>int</code>, <code>string</code>, or <code>date</code>.</td>\n</tr>\n<tr>\n<td>title</td>\n<td>string</td>\n<td>Yes</td>\n<td>The title of the option.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","phonebooks","options"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"859b7408-3e94-4907-9bde-6d9c4c88c8b6"},{"name":"Phonebook Option Update","id":"a7a56589-8552-4f4b-90da-b8f6ce1aa8fa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"API TOKEN"},{"key":"Accept","value":"application/json"}],"body":{"mode":"urlencoded","urlencoded":[{"type":"text","key":"{\r\n    \"title\": \"option1\"\r\n}","value":""}]},"url":"https://edge.ippanel.com/v1/api/phonebooks/options/12345","description":"<p>This API allows you to update a phonebook option.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>title</td>\n<td>string</td>\n<td>No</td>\n<td>The title of the option.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","phonebooks","options","12345"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"a7a56589-8552-4f4b-90da-b8f6ce1aa8fa"},{"name":"Phonebook Option List","id":"2b3a9f18-30e0-48b0-a99b-2d5e71d01c65","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"API TOKEN"}],"url":"https://edge.ippanel.com/v1/api/phonebooks/options/listNew?type=int&title=t1","description":"<p>This API allows you to retrieve a list of all phonebook options.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>type</td>\n<td>string</td>\n<td>Yes</td>\n<td>The type of the option. Can be <code>int</code>, <code>string</code>, or <code>date</code>.</td>\n</tr>\n<tr>\n<td>title</td>\n<td>string</td>\n<td>Yes</td>\n<td>The title of the option.</td>\n</tr>\n<tr>\n<td>page</td>\n<td>integer</td>\n<td>No</td>\n<td>The page number for pagination (default is 1)</td>\n</tr>\n<tr>\n<td>per_page</td>\n<td>integer</td>\n<td>No</td>\n<td>The number of entries per page (default is 10, max is 1000)</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","phonebooks","options","listNew"],"host":["edge","ippanel","com"],"query":[{"key":"type","value":"int"},{"key":"title","value":"t1"}],"variable":[]}},"response":[],"_postman_id":"2b3a9f18-30e0-48b0-a99b-2d5e71d01c65"},{"name":"Phonebook Option Delete","id":"5d503942-48e0-4113-a632-a421d0788300","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"API TOKEN"},{"key":"Accept","value":"application/json"}],"body":{"mode":"urlencoded","urlencoded":[{"type":"text","key":"{\r\n  \"listOptions\": [\r\n    1234\r\n  ]\r\n}","value":""}]},"url":"https://edge.ippanel.com/v1/api/phonebooks/options/delete-list","description":"<p>This API allows you to delete a list of options. You can specify multiple options to be deleted in a single request.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>listNumbers</td>\n<td>array</td>\n<td>Yes</td>\n<td>An array of options to be deleted. The numbers should be in integer format.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","phonebooks","options","delete-list"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"5d503942-48e0-4113-a632-a421d0788300"}],"id":"4578ebb9-fbfe-4d86-aaa3-db719e1eb8cd","_postman_id":"4578ebb9-fbfe-4d86-aaa3-db719e1eb8cd","description":""}],"id":"2b80af87-1a22-499d-905f-bd569071a7ac","_postman_id":"2b80af87-1a22-499d-905f-bd569071a7ac","description":""},{"name":"Ticket","item":[{"name":"Create Ticket","id":"20195679-3fe2-4dd1-bf4c-1831ca5f866a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Your Apikey/Token"}],"body":{"mode":"formdata","formdata":[{"type":"text","key":"subject","value":"عنوان تیکت"},{"type":"text","key":"category_id","value":"123"},{"type":"text","key":"description","value":"متن تیکت"},{"type":"text","key":"sms_notification","value":"1"},{"type":"file","key":"file","src":"/path/to/your/file.zip"}]},"url":"https://edge.ippanel.com/v1/api/ticket","description":"<p>This API allows you to create a new ticket.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>subject</td>\n<td>string</td>\n<td>Yes</td>\n<td>The subject of the ticket.</td>\n</tr>\n<tr>\n<td>category_id</td>\n<td>string</td>\n<td>Yes</td>\n<td>The ID of the ticket category.</td>\n</tr>\n<tr>\n<td>description</td>\n<td>string</td>\n<td>Yes</td>\n<td>The content of the ticket.</td>\n</tr>\n<tr>\n<td>sms_notification</td>\n<td>string</td>\n<td>No</td>\n<td>If set to \"1\", the user will receive an SMS notification when the ticket is updated. Default is \"0\".</td>\n</tr>\n<tr>\n<td>file</td>\n<td>file</td>\n<td>No</td>\n<td>An optional file to attach to the ticket.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","ticket"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"20195679-3fe2-4dd1-bf4c-1831ca5f866a"},{"name":"List Tickets","id":"d4c32054-eb86-4493-815a-b01c5ae4aeca","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"url":"https://edge.ippanel.com/v1/api/ticket?page=1&per_page=10","description":"<p>This API allows you to list all tickets under your reseller account.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>page</td>\n<td>integer</td>\n<td>No</td>\n<td>Page number for pagination (default is 1)</td>\n</tr>\n<tr>\n<td>per_page</td>\n<td>integer</td>\n<td>No</td>\n<td>Number of tickets per page (default is 10, max is 1000)</td>\n</tr>\n<tr>\n<td>username</td>\n<td>string</td>\n<td>No</td>\n<td>Filter tickets by username (optional)</td>\n</tr>\n<tr>\n<td>ticket_id</td>\n<td>integer</td>\n<td>No</td>\n<td>Filter tickets by specific ticket ID (optional)</td>\n</tr>\n<tr>\n<td>category_id</td>\n<td>integer</td>\n<td>No</td>\n<td>Filter tickets by category ID (optional)</td>\n</tr>\n<tr>\n<td>sub_category_id</td>\n<td>integer</td>\n<td>No</td>\n<td>Filter tickets by sub-category ID (optional)</td>\n</tr>\n<tr>\n<td>state_id</td>\n<td>integer</td>\n<td>No</td>\n<td>Filter tickets by state ID (optional)</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","ticket"],"host":["edge","ippanel","com"],"query":[{"key":"page","value":"1"},{"key":"per_page","value":"10"}],"variable":[]}},"response":[],"_postman_id":"d4c32054-eb86-4493-815a-b01c5ae4aeca"},{"name":"Get Ticket By ID","id":"7eeb8f2f-b0de-4dd9-adc1-e2b6bfcf1fd6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"url":"https://edge.ippanel.com/v1/api/ticket/show?ticket_id={ticket_id}","description":"<p>This API allows you to get a specific ticket by its ID.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>ticket_id</td>\n<td>integer</td>\n<td>Yes</td>\n<td>The ID of the ticket you want to retrieve.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","ticket","show"],"host":["edge","ippanel","com"],"query":[{"key":"ticket_id","value":"{ticket_id}"}],"variable":[]}},"response":[],"_postman_id":"7eeb8f2f-b0de-4dd9-adc1-e2b6bfcf1fd6"},{"name":"Reply To Ticket","id":"6985b904-f09b-4c7d-9cd4-4c8ec19b3e7e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Your Apikey/Token"}],"body":{"mode":"formdata","formdata":[{"type":"text","key":"ticket_id","value":"100001"},{"type":"text","key":"description","value":"Sample reply"},{"type":"file","key":"file","src":"/path/to/your/file.zip"}]},"url":"https://edge.ippanel.com/v1/api/ticket/interaction","description":"<p>This API allows you to reply to a specific ticket.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>ticket_id</td>\n<td>integer</td>\n<td>Yes</td>\n<td>The ID of the ticket you are replying to.</td>\n</tr>\n<tr>\n<td>description</td>\n<td>string</td>\n<td>Yes</td>\n<td>The content of your reply.</td>\n</tr>\n<tr>\n<td>file</td>\n<td>file</td>\n<td>No</td>\n<td>An optional file attachment for your reply. ormat and can be a zip file or jpg/png type. The maximum file size is 10 MB.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","ticket","interaction"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"6985b904-f09b-4c7d-9cd4-4c8ec19b3e7e"}],"id":"8bca274f-1a83-442f-a7b6-48dc479e76ee","_postman_id":"8bca274f-1a83-442f-a7b6-48dc479e76ee","description":""},{"name":"Draft","item":[{"name":"List Draft","id":"8f6b55bb-dad5-4775-93ce-3037afbe75c7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"url":"https://edge.ippanel.com/v1/api/user/draft/list?draft_group_id=10001","description":"<p>This API allows you to list all drafts under a specific draft group.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>draft_group_id</td>\n<td>integer</td>\n<td>No</td>\n<td>The ID of the draft group to list drafts from.</td>\n</tr>\n</tbody>\n</table>\n</div><p>⚠️ Important: To exclude a filter from the query, do not include it at all in the request. Avoid sending it with an empty string or null value.</p>\n","urlObject":{"protocol":"https","path":["v1","api","user","draft","list"],"host":["edge","ippanel","com"],"query":[{"key":"draft_group_id","value":"10001"}],"variable":[]}},"response":[],"_postman_id":"8f6b55bb-dad5-4775-93ce-3037afbe75c7"},{"name":"Create Draft","id":"d748b2ba-d985-4327-9cc8-ffd33bf15710","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"body":{"mode":"raw","raw":"{\r\n    \"draft_group_id\": 123456,\r\n    \"message\": \"تست پیام پیشفرض\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/user/draft","description":"<p>Generated from cURL: curl --location '{base_url}/api/user/draft' <br />--header 'Content-Type: application/json' <br />--header 'Authorization: Your Apikey/Token' <br />--data-raw '{\n    \"draft_group_id\": 123456,\n    \"message\": \"تست پیام پیشفرض\"\n}'</p>\n","urlObject":{"protocol":"https","path":["v1","api","user","draft"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"d748b2ba-d985-4327-9cc8-ffd33bf15710"},{"name":"Create Draft Group","id":"a2b85f94-a32f-4385-91d6-197ee826fcee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"body":{"mode":"raw","raw":"{\r\n    \"title\": \"عنوان گروه پیش‌نویس\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/user/draft/group","description":"<p>This API allows you to create a new draft group.</p>\n<p>⚠️ Important: You can create a maximum of 20 draft groups. If you try to create more, you will receive an error</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>title</td>\n<td>string</td>\n<td>Yes</td>\n<td>The title of the draft group you want to create. The maximum length is 200 characters.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","user","draft","group"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"a2b85f94-a32f-4385-91d6-197ee826fcee"},{"name":"List Draft Groups","id":"ce9aa1ce-f479-4205-ba8d-d17131c8f766","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"url":"https://edge.ippanel.com/v1/api/user/draft/group/list","description":"<p>This API allows you to list all draft groups under your account.</p>\n","urlObject":{"protocol":"https","path":["v1","api","user","draft","group","list"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ce9aa1ce-f479-4205-ba8d-d17131c8f766"}],"id":"9c07ec1f-1e3d-4959-9c0c-7870ca59d756","_postman_id":"9c07ec1f-1e3d-4959-9c0c-7870ca59d756","description":""},{"name":"Pattern","item":[{"name":"Delete Pattern","id":"8cdfc73a-5c96-4805-b7fa-593e29bab6b1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"url":"{base_url}/api/patterns/normal/zcxxc465465zxc","description":"<p>This API allows you to delete an existing pattern by its code.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>pattern_code</td>\n<td>string</td>\n<td>Yes</td>\n<td>The code of the pattern you want to delete.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","patterns","normal","zcxxc465465zxc"],"host":["{base_url}"],"query":[],"variable":[]}},"response":[],"_postman_id":"8cdfc73a-5c96-4805-b7fa-593e29bab6b1"},{"name":"Create Pattern","id":"070efbb2-0572-49aa-99c2-01bbc6708234","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"body":{"mode":"raw","raw":"{\r\n    \"title\": \"test pattern\",\r\n    \"description\": \"پترن تستی\",\r\n    \"is_share\": false,\r\n    \"message\": \"پترن تستی %var% . کد شما %code%\",\r\n    \"variable\": [\r\n        {\r\n            \"name\": \"var\",\r\n            \"type\": \"string\"\r\n        },\r\n        {\r\n            \"name\": \"code\",\r\n            \"type\": \"integer\"\r\n        }\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://edge.ippanel.com/v1/api/patterns/normal","description":"<p>This API allows you to create a new pattern.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>title</td>\n<td>string</td>\n<td>No</td>\n<td>The title of the pattern.</td>\n</tr>\n<tr>\n<td>description</td>\n<td>string</td>\n<td>Yes</td>\n<td>A brief description of the pattern.</td>\n</tr>\n<tr>\n<td>is_share</td>\n<td>boolean</td>\n<td>Yes</td>\n<td>Whether the pattern can be shared with sub users. Default is false.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>string</td>\n<td>Yes</td>\n<td>The message template containing variables.</td>\n</tr>\n<tr>\n<td>website</td>\n<td>string</td>\n<td>No</td>\n<td>The website associated with the pattern.</td>\n</tr>\n<tr>\n<td>variable</td>\n<td>array</td>\n<td>Yes</td>\n<td>An array of variable objects defining the variables used in the message.</td>\n</tr>\n<tr>\n<td>name</td>\n<td>string</td>\n<td>Yes</td>\n<td>The name of the variable.</td>\n</tr>\n<tr>\n<td>type</td>\n<td>string</td>\n<td>Yes</td>\n<td>The type of the variable (<code>string</code>, <code>integer</code>).</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","api","patterns","normal"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"070efbb2-0572-49aa-99c2-01bbc6708234"},{"name":"List Patterns","id":"50cea21d-9ddc-4717-9d2b-81406ffcf309","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"url":"https://edge.ippanel.com/v1/api/patterns","description":"<p>This API allows you to list all patterns under your account.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>page</td>\n<td>int</td>\n<td>No</td>\n<td>The page number to retrieve (default is 1)</td>\n</tr>\n<tr>\n<td>per_page</td>\n<td>int</td>\n<td>No</td>\n<td>Number of items per page (default is 10, max is 100)</td>\n</tr>\n<tr>\n<td>filter[code]</td>\n<td>string</td>\n<td>No</td>\n<td>Optional, The code of the pattern you want to filter by. If omitted, all patterns will be returned.</td>\n</tr>\n<tr>\n<td>filter[title]</td>\n<td>string</td>\n<td>No</td>\n<td>Optional, The title of the pattern you want to filter by. If omitted, all patterns will be returned.</td>\n</tr>\n<tr>\n<td>filter[is_share]</td>\n<td>boolean</td>\n<td>No</td>\n<td>Optional, Filter by shared patterns. If omitted, both shared and non-shared patterns will be returned.</td>\n</tr>\n<tr>\n<td>filter[state]</td>\n<td>string</td>\n<td>No</td>\n<td>Optional, Filter by pattern state (e.g., \"active\", \"inactive\"). If omitted, all states will be returned.</td>\n</tr>\n<tr>\n<td>filter[type]</td>\n<td>string</td>\n<td>No</td>\n<td>Optional, Filter by pattern type (e.g., \"normal\", \"systemic\"). If omitted, all types will be returned.</td>\n</tr>\n</tbody>\n</table>\n</div><p>⚠️ Important: To exclude a filter from the query, do not include it at all in the request. Avoid sending it with an empty string or null value.</p>\n","urlObject":{"protocol":"https","path":["v1","api","patterns"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"50cea21d-9ddc-4717-9d2b-81406ffcf309"},{"name":"Get Pattern By Code","id":"0fe5fb78-6edd-4368-93f9-56e4fc6f49b1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"url":"https://edge.ippanel.com/v1}/api/patterns/aibg4dsfertj5ht","description":"<p>This API allows you to retrieve a specific pattern by its code.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>pattern_code</td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique code of the pattern you want to retrieve.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1}","api","patterns","aibg4dsfertj5ht"],"host":["edge","ippanel","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"0fe5fb78-6edd-4368-93f9-56e4fc6f49b1"},{"name":"Update Pattern","id":"980a969a-0fa4-4226-bab9-36549defe5b4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"body":{"mode":"raw","raw":"{\r\n    \"title\": \"Updated Pattern\",\r\n    \"description\": \"Updated description\",\r\n    \"is_share\": true,\r\n    \"message\": \"Updated message with %var%\",\r\n    \"variable\": [\r\n        {\r\n            \"name\": \"var\",\r\n            \"type\": \"string\"\r\n        }\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"{base_url}/api/patterns/normal/zcxxc465465zxc","description":"<p>This API allows you to update an existing pattern.</p>\n<h2 id=\"📝-parameters\">📝 Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>title</td>\n<td>string</td>\n<td>No</td>\n<td>The title of the pattern.</td>\n</tr>\n<tr>\n<td>description</td>\n<td>string</td>\n<td>Yes</td>\n<td>A brief description of the pattern.</td>\n</tr>\n<tr>\n<td>is_share</td>\n<td>boolean</td>\n<td>Yes</td>\n<td>Whether the pattern can be shared with sub users.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>string</td>\n<td>Yes</td>\n<td>The message content of the pattern, with variables.</td>\n</tr>\n<tr>\n<td>website</td>\n<td>string</td>\n<td>No</td>\n<td>The website associated with the pattern.</td>\n</tr>\n<tr>\n<td>variable</td>\n<td>array</td>\n<td>Yes</td>\n<td>An array of variables used in the pattern.</td>\n</tr>\n<tr>\n<td>name</td>\n<td>string</td>\n<td>Yes</td>\n<td>The name of the variable.</td>\n</tr>\n<tr>\n<td>type</td>\n<td>string</td>\n<td>Yes</td>\n<td>The type of the variable (string, number).</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","patterns","normal","zcxxc465465zxc"],"host":["{base_url}"],"query":[],"variable":[]}},"response":[],"_postman_id":"980a969a-0fa4-4226-bab9-36549defe5b4"}],"id":"65caf7dd-a984-48cd-a160-67fb3dfec591","_postman_id":"65caf7dd-a984-48cd-a160-67fb3dfec591","description":""},{"name":"Payment","item":[{"name":"My Credit","id":"26923bbd-c507-4d83-b9a0-7fa97dc36477","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Your Apikey/Token"}],"url":"{base_url}/api/payment/credit/mine","description":"<p>Generated from cURL: curl --location '{base_url}/api/payment/credit/mine' <br />--header 'Content-Type: application/json' <br />--header 'Authorization: Your Apikey/Token' </p>\n","urlObject":{"path":["api","payment","credit","mine"],"host":["{base_url}"],"query":[],"variable":[]}},"response":[],"_postman_id":"26923bbd-c507-4d83-b9a0-7fa97dc36477"}],"id":"b7632d29-ca05-4d86-815c-c22b0325e5a0","_postman_id":"b7632d29-ca05-4d86-815c-c22b0325e5a0","description":""}]}