{"info":{"_postman_id":"fcde3718-e944-4da8-b869-984c8ff2c712","name":"Ikeono Private API","description":"<html><head></head><body><p>Leverage the Ikeono Messaging APIs and Embeds to bring messaging into your existing web or native application. This works on all application types (i.e., Web, Mobile Native, .NET, etc)</p>\n<p><strong>Notes about the TCR and Twilio</strong><br>Since 2022, the SMS industry became regulated by The Campaign Registry to reduce unwanted and spam text messages, enhance user privacy, and create responsible SMS marketing practices. As a result of this, all business phone numbers must be registered with them inorder to utilize SMS messaging. Ikeono handles this convoluted process for you and your customers by making it easy and efficient.</p>\n<p><strong>Authorization</strong><br>Once your application is approved you will receive credentials which should be kept private. All API endpoints require a Bearer Token header. The exceptions to this are the Embed endpoints and the Webchat endpoints. Those have their own public tokens.</p>\n<p><strong>Rate Limiting</strong></p>\n<p>Each account has a rate limit on sending messages. Depending on the partner and their usecase this may be increased on a case by case basis.</p>\n<p><strong>Support</strong><br>If you need assistance or want more information, please email us at <a href=\"https://mailto:help@ikeono.com\">help@ikeono.com</a></p>\n<p><em>Only available to select partners.</em></p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"867413","collectionId":"fcde3718-e944-4da8-b869-984c8ff2c712","publishedId":"2s9YRDzACG","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"625afa"},"publishDate":"2024-01-03T17:29:26.000Z"},"item":[{"name":"OAuth","item":[{"name":"Client Request Access","id":"3ea71103-0151-48a0-b814-09d1171a8a3b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[],"body":{"mode":"formdata","formdata":[{"key":"client_id","value":"","type":"text","uuid":"33673b61-8343-4206-9d3d-e5b1a8881a43"},{"key":"grant_type","value":"authorization_code","type":"text","uuid":"25a77ce0-d107-48fb-9fe8-031f08e5a9cb"},{"key":"state","value":"some_user_account_1","type":"text","uuid":"9055fb27-e362-450d-abe1-88ec58f40bd2"}]},"url":"https://app.ikeono.com/auth/oauth","description":"<p>Create this URL to present to your user for authorization.</p>\n","urlObject":{"path":["auth","oauth"],"host":["https://app.ikeono.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"3ea71103-0151-48a0-b814-09d1171a8a3b"},{"name":"Exchange Token for Access Token Copy","id":"766fc6db-138f-4f45-8efa-df82dd9b851d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"client_id","value":"{client_id}","type":"text","uuid":"33673b61-8343-4206-9d3d-e5b1a8881a43"},{"key":"client_secret","value":"{client_secret}","type":"text","uuid":"9e762d36-2234-46f2-aed2-0ec696e4c5ca"},{"key":"grant_type","value":"authorization_code","type":"text","uuid":"25a77ce0-d107-48fb-9fe8-031f08e5a9cb"},{"key":"code","value":"{code}","type":"text","uuid":"a1633637-15ee-4192-86aa-c6f194f794b7"}]},"url":"https://api.ikeono.com/auth/oauth/token","description":"<p>After ther user authorizes your application, you will receive a temporary code that should be exchanged for a long term access token and a permantent refresh token.</p>\n","urlObject":{"protocol":"https","path":["auth","oauth","token"],"host":["api","ikeono","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"766fc6db-138f-4f45-8efa-df82dd9b851d"}],"id":"0f03e691-4942-4e84-88dc-caf746752cbd","description":"<p>When a user signs up for your application, you can prompt them to link their Ikeono account to your client by initiating the OAuth Authorization Grant flow. Once completed, this will allow your application to access data from their account. This step should be performed once per user, when they register for your application.</p>\n<p><strong>1. Create Authorization Request URL</strong></p>\n<p>Link or redirect the user to the OAuth authorization page from the URL created below. You will need to provide your application’s client id as query parameters.</p>\n<p><code>GET</code> <a href=\"https://app.ikeono.com/auth/oauth/authorize?response_type=code&amp;client_id=%7Bclient_id%7D&amp;state=%7Bstate%7D\"><code>https://app.ikeono.com/auth/oauth/authorize?response_type=code&amp;client_id={client_id}&amp;state={state}</code></a></p>\n<p>The user will be redirected to the Ikeono login page. After logging in, they will be asked to provide consent for your application to access their account.</p>\n<img src=\"https://content.pstmn.io/7e583887-0d00-4e01-9ef1-eae4b87ed44f/U2NyZWVuc2hvdCAyMDI1LTAzLTExIGF0IDkuNDUuMDHigK9BTS5wbmc=\" width=\"366\" height=\"402\" />\n\n<p><strong>2. Exchange the temporary code for an access token</strong></p>\n<p>If the user approves the authorization request, a temporary authorization code will be sent to the redirect URI that was registered for your client.</p>\n<p>The following request will be made in the following format:</p>\n<p><code>GET {client_redirect_uri}?code={authorization_code}&amp;state={state}</code></p>\n<p><strong>3. Making API Requests</strong></p>\n<p>Once you have an access token, you can make requests to the Ikeono API by sending the token in the Authorization header with the format <code>Bearer {token}</code>.</p>\n<h4 id=\"using-the-refresh-token\">Using the Refresh Token</h4>\n<p>All access tokens are issued with an expiry time defined by the <code>expires_in</code> value. Once a token expires, your application can request a new one by exchanging the refresh token that was issued. This does <em>not</em> require user interaction.</p>\n","_postman_id":"0f03e691-4942-4e84-88dc-caf746752cbd"},{"name":"Account","item":[{"name":"Fetch Account Details","id":"d2da61bd-b072-477f-9f13-05afabfba963","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://partner.ikeono.com/account","urlObject":{"path":["account"],"host":["https://partner.ikeono.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"d2da61bd-b072-477f-9f13-05afabfba963"}],"id":"faf823b6-6ece-4e55-a4c9-02cfa9cd52e1","_postman_id":"faf823b6-6ece-4e55-a4c9-02cfa9cd52e1","description":""},{"name":"Messaging","item":[{"name":"Send SMS Message","id":"2508cbef-db4f-4503-9e97-5801dc425ded","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"to_number","value":"+13365753816","type":"text","description":"<p>The receiver's phone number</p>\n<p>Required: True</p>\n<p>Format: E164</p>\n"},{"key":"shop_id","value":"{shop_id}","type":"text","description":"<p>Shop ID from the account details endpoint</p>\n"},{"key":"body","value":"Hello world!","type":"text","description":"<p>The text content of the message.</p>\n<p>Required: True, if no media_urls</p>\n<p>Max Length: 1,100 characters</p>\n<p>Please note that no URLS are currently allowed in the message body.</p>\n"},{"key":"first_name","value":"Jane","description":"<p>Contact will be update or created with this</p>\n<p>Required: False</p>\n<p>Max Length: 50 characters</p>\n","type":"text"},{"key":"last_name","value":"Doe","description":"<p>Contact  a contact will be update or created with this</p>\n<p>Required: False</p>\n<p>Max Length: 50 characters</p>\n","type":"text"},{"key":"media_urls","value":"","description":"<p>List of media urls to send</p>\n","type":"text","uuid":"78befaf1-c3ef-4721-b03b-c2804d38f787","disabled":true}]},"url":"https://partner.ikeono.com/message","description":"<p>Example of sending a simple SMS image to a phone number.</p>\n","urlObject":{"path":["message"],"host":["https://partner.ikeono.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"2508cbef-db4f-4503-9e97-5801dc425ded"},{"name":"MMS Message","id":"211b548a-b653-419f-8329-d769ac3fd6cf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"to","value":"+13365753813","type":"text","description":"<p>The receiver's phone number</p>\n<p>Required: True</p>\n<p>Format: E164</p>\n"},{"key":"shop_id","value":"{{shop_id}}","type":"text","description":"<p>A store's Sender ID</p>\n"},{"key":"media_urls","value":"['https://www.mycloud.com/myimage1.png', ''https://www.mycloud.com/myimage2.png']","type":"text","description":"<p>A list of hosted images.</p>\n<p>Required: True, if not body</p>\n<p>Format; List of URLS</p>\n<p>Max Size: 5MB</p>\n"},{"key":"body","value":"Take a look at my images!","type":"text","description":"<p>The text content of the message.</p>\n<p>Max Length: 1,100 characters</p>\n<p>Only required if no media_urls are present</p>\n"}]},"url":"https://partner.ikeono.com/message","description":"<p>Example of sending images to a phone number</p>\n","urlObject":{"path":["message"],"host":["https://partner.ikeono.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"211b548a-b653-419f-8329-d769ac3fd6cf"},{"name":"Messages","id":"318d0bee-7f66-400e-a866-351ff241ada2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://partner.ikeono.com/message?phone_number=+19999999999&shop_id=f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"<p>Example of sending a simple SMS image to a phone number.</p>\n","urlObject":{"path":["message"],"host":["https://partner.ikeono.com"],"query":[{"key":"phone_number","value":"+19999999999"},{"key":"shop_id","value":"f47ac10b-58cc-4372-a567-0e02b2c3d479"}],"variable":[]}},"response":[],"_postman_id":"318d0bee-7f66-400e-a866-351ff241ada2"}],"id":"c45f2020-d137-4175-a13e-6072d4ca6508","description":"<p>The Ikeono Messaging API makes it easy to send and receive SMS and MMS messages.</p>\n<p><strong>Rate Limits</strong><br />15 messages per minute per Sender ID and up to 2,000 messages per day per Sender ID. Talk to your Account Manager for more information. This includes both SMS and MMS.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"event":[{"listen":"prerequest","script":{"id":"72306d1b-4324-4d88-a0d2-0feb228133f4","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"12694522-c87f-42bd-b3b7-0ea48a9434a6","type":"text/javascript","exec":[""]}}],"_postman_id":"c45f2020-d137-4175-a13e-6072d4ca6508"},{"name":"Reviews","item":[{"name":"Send Review Request","id":"59db3841-a17c-4886-bab8-c8bb8a5575fd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"to","value":"+13365753813","type":"text","description":"<p>The receiver's phone number</p>\n<p>Required: True</p>\n<p>Format: E164</p>\n"},{"key":"sender_id","value":"{{sender_id}}","type":"text","description":"<p>A store's Sender ID</p>\n"},{"key":"sale_id","value":"1234","description":"<p>The source Sale/Transaction ID</p>\n<p>Required: True</p>\n<p>Max Length: 50 characters</p>\n","type":"text"},{"key":"sale_type","value":"service","description":"<p>The type of service.</p>\n<p>Required: True</p>\n<p>Valid options: \"service\" or \"sale\"</p>\n","type":"text"},{"key":"sale _total","value":"1.00","description":"<p>The amount of sale</p>\n<p>Required: False</p>\n","type":"text"},{"key":"sale_date_completed","value":"2024-01-04T15:30:45.123Z","description":"<p>The date the transaction was completed</p>\n<p>Required: True</p>\n<p>Format: ISO8061</p>\n","type":"text"},{"key":"first_name","value":"Barbie","description":"<p>Contact will be updated or created with this</p>\n<p>Required: False</p>\n<p>Max Length: 50 characters</p>\n","type":"text"},{"key":"last_name","value":"Ken","description":"<p>Contact will be updated or created with this</p>\n<p>Required: False</p>\n<p>Max Length: 50 characters</p>\n","type":"text"},{"key":"scheduled_data","value":"2024-01-04T15:30:45.123Z","description":"<p>This can be schedule for sometime in the future. If the scheduled date is in the past then it will be sent now.</p>\n","type":"text","uuid":"5615e655-6b30-4836-8e14-09a014fbc2e3"}]},"url":"https://partner.ikeono.com/review","description":"<p>Ikeono user's with Reviews enabled will have already configured the Message, Review Link (e.g. Google Reviews), and other parameters they want taken into account when sending a review request.</p>\n<p>You can queue a review request by sending some transaction details.</p>\n<p>To see more about the power of Ikeono Reviews <a href=\"https://www.ikeono.com/reviews\">visit our website</a>.</p>\n","urlObject":{"path":["review"],"host":["https://partner.ikeono.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"59db3841-a17c-4886-bab8-c8bb8a5575fd"}],"id":"f2a1ac88-52b4-4995-802c-8eea175dc938","_postman_id":"f2a1ac88-52b4-4995-802c-8eea175dc938","description":""},{"name":"Embed","item":[{"name":"Chat Siderail Embed","id":"5cf4c247-e48b-444e-a643-877050feade9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[],"url":"https://app.ikeono.com/v2/chat_component","description":"<p>Load a slim message siderail to show a phone specific chat. The user will be able to send and receive messages to that phone number.</p>\n","urlObject":{"path":["v2","chat_component"],"host":["https://app.ikeono.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"5cf4c247-e48b-444e-a643-877050feade9"},{"name":"Message Window Embed","id":"eaa5db2b-9217-4286-8396-37b573d531a5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[],"url":"https://app.ikeono.com","description":"<p>An easy way to give your existing application a robust messaging feature. This is an iframeable url to load the Ikeono Message Window.</p>\n<p>The user will have the entire Ikeono platform at their disposal. They can send/receive messages, send payment requests, manage reviews, webchat messages and more.</p>\n","urlObject":{"host":["https://app.ikeono.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"eaa5db2b-9217-4286-8396-37b573d531a5"}],"id":"0eaff9f9-c5f5-4426-a416-70c88d80ff6e","description":"<p>Embed the Ikeono webapp directly into your application.</p>\n<p>For the Chat siderail in order to load a conversation feed you will need to post this messave to the iframe:</p>\n<p>Include this on the page you want to load the siderail:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-html\">&lt;comment class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; You can format this as you would like and then use a button to open and show the iframe. There isn&amp;#x27;t much magic to it --&gt;\n&lt;iframe id=\"ikeono-siderail\" src=\"https://app.ikeono.com/v2/chat_component\" /&gt;\n\n</code></pre>\n<p>To load messages:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">const iframe = document.getElementById(\"ikeono-siderail\");\nconst payload = {\n  sender: \"com.ikeono.browser_extension\",\n  name: \"com.ikeono.load_messages\",\n  parameters: {\n    phoneNumber: \"+12223334444\",\n    firstName: 'james',\n    lastName: 'bond'\n  },\n};\niframe.contentWindow.postMessage(payload);\n\n</code></pre>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"e63c34ff-1d1b-4e74-8542-e40a399b475f","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"fdc2ce80-2123-4c12-ae28-3004b5027d84","type":"text/javascript","exec":[""]}}],"_postman_id":"0eaff9f9-c5f5-4426-a416-70c88d80ff6e"},{"name":"Widget","item":[],"id":"30b9207e-03e6-4f55-90f4-eb37b05eccd9","description":"<p>This is an example code snippet you can install on your website to listen to message send<br />events from the widget and track them in Google Analytics or any other event system.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">const sendMessageEventHandler = event =&gt; {\nif (event.data?.event_source !== 'ikeono' &amp;&amp; event.data?.event_name !== 'send_message') return;\nconsole.log(Received event from ikeono, event.data)\n   // Here you can call gtag('event')\n    // https://developers.google.com/analytics/devguides/collection/ga4/events?client_type=gtag\n}\nwindow.addEventListener(sendMessageEventHandler)\n\n</code></pre>\n<p>}</p>\n<p>window.addEventListener(sendMessageEventHandler)</p>\n","_postman_id":"30b9207e-03e6-4f55-90f4-eb37b05eccd9"},{"name":"FTP","item":[],"id":"3a9abc09-cdfb-4ebd-872c-bdedf7e45a63","description":"<h1 id=\"ftp-import-file-formats\"><strong>FTP Import File Formats</strong></h1>\n<h3 id=\"general\">General</h3>\n<ul>\n<li>Files should be formatted as <code>contacts__{account name}__{yyyymmdd}.csv</code></li>\n</ul>\n<h3 id=\"edge-pos\">Edge POS</h3>\n<p>The CSV export should be formatted as:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>fname</strong></th>\n<th><strong>lname</strong></th>\n<th><strong>email</strong></th>\n<th><strong>phone</strong></th>\n<th><strong>cellphone</strong></th>\n<th><strong>custno</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>James</td>\n<td>Bond</td>\n<td><a href=\"https://mailto:jbond@example.com\">jbond@example.com</a></td>\n<td>999-999-99999</td>\n<td>999-999-9999</td>\n<td>1234</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"3a9abc09-cdfb-4ebd-872c-bdedf7e45a63"}],"event":[{"listen":"prerequest","script":{"id":"670fe17a-a4b3-40c4-ba1d-2fbc005b307a","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"785f99b1-53d0-44ed-ad3b-46edfb9670e1","type":"text/javascript","exec":[""]}}],"variable":[{"key":"api_host","value":"https://partner.ikeono.com","type":"string"},{"key":"embed_host","value":"https://app.ikeono.com","type":"string"},{"key":"webapp_host","value":"https://app.ikeono.com","type":"string"}]}