{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"f0377dc8-3f88-443e-b596-19e9717c367d","name":"API SCS v0.3.x","description":"![SCS](https://data.api.sno.creativaxion.com/Header-SCS.png \"SCS\")\n\nCette collection a pour objectif d'aider les partenaires de [CreativAxion](http://creativaxion.com) à intégrer les services du [service de communication sécurisé (SCS)](https://www.creativaxion.com/fr/products/ophelie/scs), système qui prend appui sur le protocole [FHIR (Fast Healthcare Interoperability Resources)](http://hl7.org/fhir/R4/index.html), version R4.\n\nDans cette collection, vous retrouverez l'information générale sur le fonctionnement du service ainsi que tous les exemples d'utilisation de l'API dans le cadre des processus de travail supportés.\n\n> Pour toute autre information générale telle que l'utilisation des collections Postman, l'authentification à la plateforme ou les autres services d'OPHelIE, veuillez consulter [l'API OPHelIE](https://api.ophelie.creativaxion.com).\n\n## Centre de support à l'intégration\nPour toute demande d'information ou si vous avez besoin d'aide pour intégrer ces services, veuillez transmettre votre demande directement par courriel à l'adresse [support@creativaxion.com](mailto:support@creativaxion.com) ou en utilisant la [page de contact](https://www.creativaxion.com/fr/contact/contact.php) de notre site corporatif.\n\n# Portée du SCS \n>Une messagerie sécurisée et intégrée\n\nLe SCS est un service de communication, intégrable aux logiciels locaux, qui permet la transmission sécuritaire d’information en santé entre les intervenants, les organisations, les lieux et les patients. Les communications contiennent un contexte, contenant patient, ordonnance, tâche, etc., qui permet aux systèmes de facilement les rattacher et les intégrer aux dossiers des patients.\n\nLe service vient en complément des nombreux systèmes mis en place dans le Dossier santé Québec (DSQ). Ces systèmes restent détenteurs des données cliniques, lesquelles sont uniquement référencées dans le contexte des communications du SCS.\n\n![Vue d'ensemble](https://data.api.sno.creativaxion.com/SCS-CartoonPreview.png \"Sommaire SCS\") \n\n> **Affichage des images de la documentation**<br>\n> Pour agrandir les images présentes dans cette documentation, il suffit de les ouvrir dans un autre onglet de votre fureteur (clic souris-droit).\n\n### Versions\n\n| Version | Portée                                                   |\n|---------|--------|\n| 0.3.x - MVP-3 | Publication du service de communication sécurisé (SCS).\n\nCette version de l'API est limitée aux fonctionnalités retenues pour le troisième prototype d'intégration aux applications locales de DMÉ et aux systèmes de gestion de pharmacies communautaires (SGP) : elle vise supporter les processus suivants&#8239;:\n* Transmission de communications par un intervenant d'une organisation à un autre intervenant ou à une organisation\n* Intégration du SCS avec l'assistant CryptOPHelIE en mode service RPC\n* Corps du message uniquement en format `text/plain`\n* Support des pièces jointes, limité aux types suivants&#8239; : `text/plain`, `application/pdf`, `application/json`, `image/jpeg`, `image/png`\n\n### Exemple d'intégration des communications\n![Exemple](https://data.api.sno.creativaxion.com/SCS-ExempleIntegrationMVP-3.png \"Exemple\")\n\n# Principes de fonctionnement\n\n## Les communications\n\nLe service prend appui sur plusieurs algorithmes de chiffrement&#8239;:\n* AES-GCM pour le chiffrement des communications\n* OpenPGP pour la paire de clés publiques/privées des périphériques des organisations\n* OpenPGP pour les paires de clés publiques/privées des organisations\n\nLes communications font l'objet d'un chiffrement de bout en bout selon le modèle suivant&#8239; :\n\n\n![Vue d'ensemble](https://data.api.sno.creativaxion.com/SCS-EncryptionOverview.png \"Sommaire chiffrement\") \n\nChaque communication est chiffrée avec une clé AES-GCM unique, qui est **partagée entre l'organisation de l'auteur et les organisations des destinataires**. La clé unique est attachée à même la communication, mais est chiffrée avec la clé publique de l'organisation de l'auteur et **des organisations** des destinataires.\n\n> Lorsqu'une communication est destinée à un intervenant, c'est donc l'ensemble des organisations abonnées au SCS pour lesquelles il travaille qui peuvent accéder, déchiffrer et lui transmettre la communication selon les règles de sécurité et d'organisation du travail de chaque système local.\n\n\n## Les périphériques\n\nLes périphériques sont les serveurs ou les appareils qui sont connectés à OPHelIE. Une organisation peut avoir un ou plusieurs périphériques.\n\nChaque périphérique gère son propre jeu de clés publiques/privées et publie sa clé publique sur OPHeLIE. Sa clé privée est conservée localement.\n\nChaque organisation gère son propre historique de jeux de clés publiques/privées et publie ses clés publiques sur OPHeLIE. Ses clés privées sont également conservées sur OPHeLIE, mais chiffrées avec les clés publiques de ses périphériques. \n> Ce faisant, les **clés privées chiffrées des organisations sont partagées entre ses périphériques** et accessibles uniquement à ces derniers. Des mécanismes dynamiques de renouvellement et de partage de clés sont mis en place afin d'assurer que tous les périphériques puissent traiter les communications de l'organisation.\n\n![Vue d'ensemble](https://data.api.sno.creativaxion.com/SCS-KeystoreDeviceOverview.png \"Sommaire périphériques\") \n\nLes clés des périphériques et des organisations sont renouvelées régulièrement. \n* Pour les périphériques, un seul jeu de clés est conservé, le plus récent. \n* Pour les organisations, un seul jeu de clés est actif. Les autres sont conservés en historique, pour le déchiffrement des communications en transit.\n\n\n# CryptOPHelIE ![CryptOPHelIE](https://data.api.sno.creativaxion.com/IconCryptOPHelIE.png \"CryptOPHelIE\")\n\nCryptOPHelIE est un assistant logiciel d'intégration que vous pouvez déployer dans votre infrastructure sous forme de service RPC.\n\n> **Git CryptOPHelIE**<br>\n> Le code source et les instructions d'installation de CryptOPHelIE sont disponible sur GitHub : [https://github.com/creativaxion/cryptophelie](https://github.com/creativaxion/cryptophelie)\n\nDédié au chiffrement et au déchiffrement des ressources du SCS, il prend aussi en charge la gestion de vos périphériques, le stockage de leur clé locale et tous les mécanismes de renouvellement des jeux de clés, que ce soit ceux de vos périphériques ou de votre organisation.\n\nCryptOPHelIE masque donc toute la complexité des mécanismes de cryptographie impliqués dans le SCS et vous permet de vous concentrer pleinement sur son intégration dans vos processus cliniques.\n\n> **Sécurisation du stockage local des clés** <br>\n> Les clés des périphériques sont stockées dans un répertoire qui doit être sécurisé. Veuillez vous référer à la documentation CryptOPHelIE sur GitHub pour la marche à suivre.\n\n![Vue d'ensemble](https://data.api.sno.creativaxion.com/SCS-CryptOPHelIEOverview.png \"Sommaire CryptOPHelIE\") \n\n\nÀ titre d'exemple, le diagramme ci-dessous illustre les principales interactions entre les applications locales et le SCS dans le cadre du traitement d'une communication, et ce, en utilisant CryptOPHelIE.\n\n>  Les spécifications complètes des processus de communication supportés sont disponibles à la section [Transmission des communications entre abonnés](#1a1802ac-5372-40e1-a017-a67c70303111).\n\n![Séquence générale du processus](https://data.api.sno.creativaxion.com/SCS-OverviewSequence-MVP-3.png \"Séquence générale du processus\")\n\n> Les recherches des références des organisations et des intervenants, lorsqu'elles ne sont pas déjà connues des systèmes locaux ou pour établir leur statut d'abonnement au SCS, peuvent être complétées en utilisant les interactions décrites à la section [API OPHelIE, Utiliser le bottin](https://api.ophelie.creativaxion.com/?version=latest#d3f5810b-e898-4a6d-8fa1-23925851fffa).\n\n\n# Ressources FHIR utilisées\n\n## Vue d'ensemble des ressources FHIR utilisées\n\nCette section résume l'utilisation des ressources FHIR dans le SCS. Il est à noter que ces ressources doivent répondre à des exigences particulières en termes d'éléments obligatoires ou proscrits ainsi que des domaines de valeurs précis&#8239; : voir à cet effet la section [Valider la structure des ressources](#6296338a-59af-4be6-9269-524abf6cac11).\n\nLa définition des communications est ainsi supportée essentiellement par les ressources FHIR suivantes&#8239; :\n* Communication&#8239; : [Communication](http://hl7.org/fhir/R4/communication.html)\n* Pièces jointes&#8239; : [Binary](http://hl7.org/fhir/R4/binary.html)\n* Signatures&#8239; : [Provenance](http://hl7.org/fhir/R4/provenance.html)\n* Clés des participants&#8239; : [Basic](http://hl7.org/fhir/R4/basic.html), code = CommunicationKey\n* Périphériques&#8239; : [Basic](http://hl7.org/fhir/R4/basic.html), code = KeystoreDevice\n\n![Vue d'ensemble des ressources FHIR utilisées](https://data.api.sno.creativaxion.com/RessourceOverview-SCS-MVP-3.png \"Vue d'ensemble des ressources FHIR utilisées\")\n\n> Dans ce schéma, les classes `KeystoreDevice` et `CommunicationKey` ne sont pas de véritables ressources. Elles illustrent simplement la spécialisation qui est faite de la ressource `Basic`.\n\n\n# Autorisations\n\nLes organisations disposent de droits d'accès restreints aux différentes ressources du SCS.\n\n## Inscription et modification des communications\n\n* **Création et modification&#8239; :**\n * La création est autorisée uniquement à l'organisation à laquelle appartient l'auteur de la communication (`sender`);\n * La modification du statut est autorisée à l'auteur, mais seulement quand la communication n'a pas encore d'accusé de réception;\n * L'ajout d'un accusé de réception est autorisé aux destinataires (`recipient`);\n * Aucune autre modification n'est permise;\n* **Lecture&#8239; :**\n * La lecture des communications est permise uniquement aux organisations auxquelles appartiennent l'auteur ou les destinataires.\n\n## Définition et modification des périphériques\n\n* **Création et modification&#8239; :**\n * La création et la modification des informations des périphériques et des clés sont autorisées uniquement à l'organisation à laquelle ils appartiennent;\n* **Lecture&#8239; :**\n * La lecture des informations des périphériques et des clés privées est autorisée uniquement à l'organisation à laquelle ils appartiennent;\n * Les clés publiques qui sont accessibles à tous en lecture.\n\n\n## Matrice globale des autorisations (CRUD)\n\nLa portée des accès sur les ressources du SCS pour une organisation peut être représentée par la matrice suivante, où **id** est l'identifiant de l'organisation authentifiée (son NIU) :\n\n![Authorization Matrix](https://data.api.sno.creativaxion.com/AuthorizationMatrix-SCS.png \"Authorization Matrix\") \n\n>**key=public** : {{c_scs-extension-communication-communicationKey}}.keyType = Public (**extension**).\n\n>**securityContext** : règles d'accès héritées de la ressource désignée par la référence `Binary.securityContext`, qui sera une ressource Communication.\n\n>**target** : règles d'accès héritées de la ressource désignée par la référence `Provenance.target`, qui sera une ressource `Communication` ou `Binary`.\n\n>**Restriction sur la modification** des communications&#8239; :<br>\n> Seul **`status`** peut être modifié dans la ressource `Communication`, et seulement par l'auteur, et uniquement si la communication n'a aucun accusé de réception. Le statut est limité aux valeurs&#8239; : `completed`, `entered-in-error`.<br>\n> Seul le destinataire peut ajouter son accusé de réception (**extension**).\n\n> **Restriction sur l'opération $meta-delete et $meta-add** sur les communications&#8239; :<br>\n> Seul l'auteur peut ajouter ou supprimer des meta d'une communication, quel que soit le statut de la communication.\n\nL'auteur (`sender`) et le destinataire (`recipient`) pouvant être des références à des ressources de type `Organization`, `Practitioner` ou `PractitionerRole`, le contrôle des accès s’effectue avec :\n-   Organization:identifier;\n-   PractitionerRole:organization.identifier;\n-   Practitioner, existence d'un lien `PractitionerRole` actif (`active=true`) avec PractitionerRole:organization.identifier.\n\n# Abonnements et notifications\n\nLe SCS utilise un mécanisme d'abonnements et de notifications WebSocket pour signaler aux organisations la présence de communications à traiter.\n\nPour la liste des abonnements disponibles, l'ouverture des connexions WebSocket et la réception des notifications, voir la section [API OPHelIE, Réception et traitement des notifications](https://api.ophelie.creativaxion.com/?version=latest#00474c5d-7a56-413a-831b-e23d732b5052)","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"4084636","team":322553,"collectionId":"f0377dc8-3f88-443e-b596-19e9717c367d","publishedId":"Tz5v3bEP","public":true,"publicUrl":"https://api.scs.ophelie.creativaxion.com","privateUrl":"https://go.postman.co/documentation/4084636-f0377dc8-3f88-443e-b596-19e9717c367d","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-single-column","customisation":null,"version":"8.10.1","publishDate":"2021-04-16T14:49:18.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[{"name":"OPH-par-api","id":"5ac5ffd9-44d8-41dc-86e6-f023013bc052","owner":"4084636","values":[{"key":"client_id","value":"MyClientId","enabled":true},{"key":"client_secret","value":"MyClientSecret","enabled":true},{"key":"baseFHIR","value":"https://par.oph.creativaxion.com/hapir4","enabled":true},{"key":"url","value":"{{baseFHIR}}/fhir","enabled":true},{"key":"url_Websocket","value":"wss://par.oph.creativaxion.com/hapir4/websocket","enabled":true},{"key":"url_CryptOPHelIE","value":"https://par.oph.creativaxion.com/postman/crypto","enabled":true},{"key":"keystore_identifier_system","value":"http://{{organization_identifier}}/keystoreDevice","enabled":true},{"key":"keystore_identifier_value","value":"kd01","enabled":true},{"key":"certificate_private","value":"-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC/LU6CAPGIc5Zq\neOtVwmr6wmBv01jriY2jrsgYQZpEcvxLZZ83Y+kY20CzLzMsP4d817bPB5WhjYAG\ns6uPN/e0dJE5hfFKp2xEJSoSrbT+mLc1l/Wf2al7yopwS9g2fSOHl86QrKahRMUN\nJaVGaFKAFmGU+Gy/u2CGYSYNXdoGnK3qdjmIEpNm6sRg8K9VXguVlsOAKocHP+d+\nQHTf5iooEozgO7UR1SWRnSjer2LqIC4k8we+iHNeto14lVojuAKO69R8bRq6vxgB\nsFRJqkQrtNNgnSf9sSMKURvLGNDzoPvneTfXNt5rSfMy2BmR0x9Kru93DtGM0mBc\n2TkMm3jxAgMBAAECggEAeicl2bVmnyxT+NYocJSYLH+UhP9C+sTaZrLgEXehbYkX\nIcnd8NN69jHp5lQLW4OAO8nNef07o405N48H2KwHLxuoS1wFMBFIAUbJ2kN5uY+0\nyJ6/CBNY0ss4p8YecbqFwDbEevaGRdceHWdnclRoGoWydjBBtESyyUo7uSC1lbDd\n7aGBUr3Tr8BGfhKVOgUU5WL3DnJnycM6d0a9RBU2q2N0KyQOaBHbAuw7D9b58gBb\nx58M+glNSwQSsNHqnXtRjRt3yRQzCtQ+UQasyLupVC31XufT2tY+SEUn6aejOVui\nqPOoOnPN7wawL1CcFWF2/AAPZGCuEZCGQ7fjlVHhnQKBgQDo5XrcH82Vosc3exPz\nF93l2f5Cm5IrUFP3615gjFwxSGfIaZLm0CR4e5Uo+j3oMDC/xtkiNFH8hWm2T2pr\niXJufN18whQaSg7dXELTRqe6nlUUWV/Q+gB/A3J/tLQ2AltHg5EDalYd41pRNFc9\nba0RKiy/tWBhMDY8FjJDZSNEkwKBgQDSJFdV7EajqCCaKwRWF+OL1JN4LDSAALqf\nnPNgiZdLexgfAYS+zRMmmqeSjy3SxzlZmCGCpHGcFXQ/3DCUBHf4okckq9pRhDBB\ndgY02R4xsOKbY0awVW6e/HlboOuF+TI3BLy/2PtIMfo2vwXRi/OOVcZMzg+HnBHh\noDgaVWAi6wKBgH/svOV4WpZcyQyCgFzAuVPtv6mahllgUB8Xm8lwj5tKaCc/Rj+e\nCMpdJ3tQqPyGq+BLOy18i6QnK//F83CKGN7zmz1R5XTjRPL2IIaogq0RFy6MQQMq\nr2cU36mh+nLILJdFfzvfBtp37T45f8nwGmYZQmczG3OG5eNvVcCLJyodAoGADUPg\nA3uDxgbx7+lxP6IIaiZEHNzlf4MMRNEah+iHlWsyzZpB7+1wHQq8M0M4iEqtMxuo\nWd/ZkBnGmdVjd6SEkjxkM0tp36VximBR6foertJUq6xrpOvvrLeRTZht5aoiYli5\nNX8T9a259sS+MEkeWcjOWMDVOCFA+7YqdHcZN3sCgYEA1jJNzqKObLZ3vw1v2GST\nxNPe7nF6vZsjQ8dUEnkBH+NvMgIhYIpZ9ur3ZaEfw0DBkB5XX/U699hVGgpQleRq\nP9T6O2JCOnt+CRNs3cHWhrXUXoMM9c7VTge/FXwbJMvt6Vanj5ah3pC3gVcZbxvl\nJ0wsJokipOFG8EEDy8umLRY=\n-----END PRIVATE KEY-----\n","enabled":true},{"key":"certificate_public","value":"-----BEGIN CERTIFICATE-----\nMIIDTjCCAjYCCQDoxP74rHN68jANBgkqhkiG9w0BAQsFADBpMQswCQYDVQQGEwJD\nQTEPMA0GA1UECAwGUXVlYmVjMQ8wDQYDVQQHDAZRdWViZWMxFTATBgNVBAoMDENy\nZWF0aXZBeGlvbjEMMAoGA1UECwwDZGV2MRMwEQYDVQQDDApQYXJ0ZW5haXJlMB4X\nDTIxMDQxOTEzMjkwNloXDTIyMDQxOTEzMjkwNlowaTELMAkGA1UEBhMCQ0ExDzAN\nBgNVBAgMBlF1ZWJlYzEPMA0GA1UEBwwGUXVlYmVjMRUwEwYDVQQKDAxDcmVhdGl2\nQXhpb24xDDAKBgNVBAsMA2RldjETMBEGA1UEAwwKUGFydGVuYWlyZTCCASIwDQYJ\nKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL8tToIA8Yhzlmp461XCavrCYG/TWOuJ\njaOuyBhBmkRy/Etlnzdj6RjbQLMvMyw/h3zXts8HlaGNgAazq48397R0kTmF8Uqn\nbEQlKhKttP6YtzWX9Z/ZqXvKinBL2DZ9I4eXzpCspqFExQ0lpUZoUoAWYZT4bL+7\nYIZhJg1d2gacrep2OYgSk2bqxGDwr1VeC5WWw4Aqhwc/535AdN/mKigSjOA7tRHV\nJZGdKN6vYuogLiTzB76Ic162jXiVWiO4Ao7r1HxtGrq/GAGwVEmqRCu002CdJ/2x\nIwpRG8sY0POg++d5N9c23mtJ8zLYGZHTH0qu73cO0YzSYFzZOQybePECAwEAATAN\nBgkqhkiG9w0BAQsFAAOCAQEAs5MVf8HGCdC/gxPAgK1B7g3w/VZ16OknRS86Z8IF\nAp2cnG/so313PEfGH1DnkjJIXMPjsroCHQIkcC038oFkfDR7p+uPUYu/KVr8lfLW\nMDb1umgtnSzGwMakMcS6BCoH1XA0chapbkS6E6+YmhGvsHMmpev3wMOPIhiiqSmI\nF+EBVcRAq3lfGQ/krCpFr8WOztoKhnSZgcsnDOlypKuNC938ylE++xaZAgVkvTjy\nMHsd4uA1S3wiO5+B880DI8XrL1KoIq1xSnVdw1Ew5i53gRzbRltmQyEbsoT8ut8x\npv30BNpNt7Qr5mYLk+7KOPN1JcFPAtgg943eC+WnllCZ1A==\n-----END CERTIFICATE-----\n","enabled":true},{"key":"TEMPORARY--->","value":"Variables de travail après cette ligne. Seront automatiquement créées et actualisées","enabled":true},{"key":"organization_identifier","value":"0000000000","enabled":true},{"key":"access_token","value":"","enabled":true},{"key":"token_expiration","value":"","enabled":true},{"key":"organization_id","value":"","enabled":true},{"key":"token_endpoint","value":"","enabled":true},{"key":"currentTimestamp","value":"","enabled":true}],"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/4c80587c08cba7fb45360a45b962dd4d600e5bd39ca3221de341b093506352e7","favicon":"https://res.cloudinary.com/postman/image/upload/v1563910230/team/f6uoeesodigfpzldarcr.ico"},"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":"OPH-par-api","value":"4084636-5ac5ffd9-44d8-41dc-86e6-f023013bc052"}],"canonicalUrl":"https://api.scs.ophelie.creativaxion.com/view/metadata/Tz5v3bEP"}