{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"eed5f3f2-d2ff-4481-b00e-c6006aff482a","name":"Qontak CRM OpenAPI - MAG","description":"<img src=\"https://content.pstmn.io/77c635ae-a5ad-49e9-ae65-239554e27bf1/TWVrYXJpIFFvbnRhayAtIENvbG9yIC0gUkdCLnBuZw==\">\n\nQontak CRM Open API is a system that allows developers to connect or integrate multiple platforms. This means that this system allows developers to access certain internal functions of a program, then connect it with other programs.\n\n## **Improve business efficiency with integrated products**\n\nAccelerate your business processes and development with systems that are perfectly integrated with each other. Improve practicality and cost savings.\n\n## Flexible system to meet your business needs\n\nWith interaction between systems, it will reduce human errors and facilitate the administrative process. Qontak has a flexible and easy open API system. Qontak will assist with every integration process\n\nQontak CRM Open API is built to satisfy the needs of integration between Qontak clients and CRM in Qontak. By using the APIs, client can push the data to CRM server and also receive data from Qontak available endpoints. Manage leads, companies, deals, and tasks effectively and easily using the CRM API.\n\n## A. Authentication\n\nTo start the integration, your company will need the HMAC Credentials from our Mekari Developer Center below.\n\nIf your company does not have access, please kindly contact your company's Mekari representative (Presales/Aftersales team) or our Support Center (details to access Support Center can be seen [here](https://help-center.mekari.com/hc/id/articles/35653051467545-Bagaimana-Cara-Menggunakan-Support-Center-pada-Mekari-Account)) and share your company_name, company_id, email registered on Qontak CRM, and the purpose of the integration to obtain access to Mekari Developer Center.\n\n| **Environment** | **Mekari Developer Center URL** |\n| --- | --- |\n| Production | [https://developers.mekari.com/](https://developers.mekari.com/) |\n| Staging | [https://developers.mekari.io/](https://sandbox-developers.mekari.com/) |\n\nYou can create HMAC username and secret, both is required to create a Authentication token upon a request operation.\n\nNote: You must be the owner of the company to request this credentials.\n\n## B. Authorization\n\nWe uses HMAC signature for the authentication. Below are the required headers to be passed for the Authentication process during the request.\n\n## I. Request Headers\n\n| Header | Sample | **Description** |\n| --- | --- | --- |\n| Authorization | hmac username=\"CLIENT_ID\", algorithm=\"hmac-sha256\", headers=\"date request-line\", signature=\"wRjZMxRQHFCa6sysJ2fC3l2nlRGF2cDbCFk4Vw/Mx/U=\" | generated from pre-request javascript below. Need CLIENT_ID, CLIENT_SECRET, and baseUrl depending on environment.  <br>  <br>[https://api.mekari.io](https://api.mekari.io) for staging  <br>  <br>[https://api.mekari.com](https://api.mekari.com) for production |\n| Date | Wed, 14 Nov 2024 06:23:23 GMT | current time, automatically added from pre-request javascript. |\n| X-Crm-User-Sso-Id | 50c3d284-7b8b-460d-88bf-9cdde2bdbc26 | sso_id of user that want to do action. |\n\n## II. HMAC Creation\n\nBelow is the sample code in JavaScript (Postman Pre-Request Script) to create a HMAC code. Please port those code to your preferred programming language.\n\n``` javascript\nconst CryptoJS = require('crypto-js');\nconst Header = require('postman-collection').Header;\nconst hmac_username = 'CLIENT_ID';\nconst hmac_secret = 'CLIENT_SECRET';\nconst url = pm.request.url;\nlet rawPath = url.getPath();\nlet path = pm.variables.replaceIn(rawPath);\nconst requestLine = pm.request.method + ' ' + path + ' HTTP/1.1';\nconst dateString = new Date().toUTCString();\nconst digest = CryptoJS.HmacSHA256(['date: ' + dateString, requestLine].join('\\n'), hmac_secret);\nconst signature = CryptoJS.enc.Base64.stringify(digest);\nconst hmac_header = 'hmac username=\"' + hmac_username + '\", algorithm=\"hmac-sha256\", headers=\"date request-line\", signature=\"' + signature + '\"';\npm.request.headers.add(new Header(\"Authorization: \" + hmac_header));\npm.request.headers.add(new Header(\"Date: \" + dateString));\n\n ```","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"22728681","team":6478722,"collectionId":"eed5f3f2-d2ff-4481-b00e-c6006aff482a","publishedId":"2sAXxV6A5V","public":true,"publicUrl":"https://documenter-api.postman.tech/view/22728681/2sAXxV6A5V","privateUrl":"https://go.postman.co/documentation/22728681-eed5f3f2-d2ff-4481-b00e-c6006aff482a","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"}}]}},"version":"8.10.1","publishDate":"2024-10-16T21:49:43.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[{"name":"Production Environment","id":"180a9dd2-28da-4928-b5a4-5de56637659c","owner":"26010557","values":[{"key":"baseUrl","value":"https://api.mekari.com","enabled":true,"type":"default"},{"key":"crmPath","value":"qontak/crm","enabled":true,"type":"default"}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/0cf90074abfa13509af3d087116d03ead77128aca2fd5234e01d10b78a7edd63","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"Production Environment","value":"26010557-180a9dd2-28da-4928-b5a4-5de56637659c"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/2sAXxV6A5V"}