Difference between revisions of "API Method PracticeCreate"

From Updox API
Jump to: navigation, search
(Init)
 
Line 1: Line 1:
Creates a new practice with the given <code>accountId</code>.
+
== Description ==
 +
The following code sample shows how to add a new practice.
 +
 
 +
==  Prerequisites ==
 +
=== [[Vendor credentialing|Credentials]] ===
 +
This API call requires [[Vendor credentialing|Vendor-level credentials]].  The credentials should be populated into the <code><span style="color:red">applicationId</span></code> and <code><span style="color:red">applicationPassword</span></code> fields of the <code><span style="color:red">auth</span></code> block.
 +
 
 +
== Code ==
 +
=== Java ===
 +
  public void Test() throws Exception
 +
  {
 +
    StringEntity params = new StringEntity("{ " +
 +
{{Json Practice Block - Java}}
 +
{{Json Auth Block - Application - Java}}
 +
    "}");
 
    
 
    
== Fields ==
+
    String url = "{{Base url api|practiceCreate|practiceCreate}}";
Please refer to the [https://updoxqa.com/iodox/updox-iodox Interactive API] for a list of the fields for this method.
+
    SendReceiveJSON(params, url);
 +
  }
 +
 
 +
{{Base_Code_for_Consuming_API_Using_Java}}
  
== Sample Request and Response ==
+
=== C# ===
 +
  public void Test()
 +
  {
 +
    string json = new JavaScriptSerializer().Serialize(new {
 +
{{Json Practice Block - CSharp}}
 +
{{Json Auth Block - Application - CSharp}}
 +
    });
 +
   
 +
    string url = "{{Base url api|practiceCreate|practiceCreate}}";
 +
    SendReceiveJSON(json, url);
 +
  }
 +
 
 +
{{Base_Code_for_Consuming_API_Using_CSharp}}
  
==== Request ====
+
== Messages ==
{
+
=== Request JSON ===
    "accountId": "new-account-id",
+
  {
    "name": "Family Practice",
+
    "accountId": "NewPracticeId",
    "address1": "94 N. High St",
+
    "name": "NewPracticeName",
    "address2": "Suite 100",
+
    ...
    "city": "Dublin",
+
    "active": "true",
    "state": "OH",
+
    "auth": {
    "postal": "43017",
+
        "applicationId": "vendorId",
    "phone": "6147988170",
+
        "applicationPassword": "vendorPassword"
    "fax": "6144074411",
+
    }
    "websiteAddress": "practice_website",
+
  }
    "timeZone": "America/Chicago",
+
    "directDomain": "new_practice",
+
    "directAddress": "practice_direct",
+
    "active": "true",
+
      "auth": {
+
        "applicationId": "updox",
+
        "applicationPassword": "1234567890",
+
        "accountId": "account",
+
        "userId": "user"
+
    }
+
}
+
  
==== Response ====
+
=== HTTP Response Status ===
 +
  200 OK
  
{
+
=== Response JSON ===
    "successful": true,
+
  {
    "responseMessage": "OK",
+
    "successful": true,
    "responseCode": 2000,
+
    "responseMessage": "OK",
    "accountId": "new-account-id",
+
    "responseCode": 2000,
    "action": "create"
+
    "accountId": "NewPracticeId",
}
+
    "action": "create"
 +
  }
  
== Error Codes ==
+
== Response Codes ==
In addition to the [[General Error Set]], this method may return:
+
In addition to the [[General Error Set]], this method may return the following values in the <code>responseCode</code> and <code>responseMessage</code> fields:
: 4110: no practice ID
+
{|
: 4130: account already exists
+
! align="left"| <code>responseCode</code>
: 4140: web address is already taken
+
! align="left"| <code>responseMessage</code>
: 4610: direct address error: direct address is taken  
+
|-
: 4620: direct address error: domain does not match the direct domain for this account
+
|<code>2000</code>
: 4630: direct address error: account does not have a direct domain configured
+
|<code>OK</code>
 +
|-
 +
|<code>4110</code>
 +
|<code>no practice ID</code>
 +
|-
 +
|<code>4130</code>
 +
|<code>account already exists</code>
 +
|-
 +
|<code>4140</code>
 +
|<code>web address is already taken</code>
 +
|-
 +
|<code>4610</code>
 +
|<code>direct address error: direct address is taken </code>
 +
|-
 +
|<code>4620</code>
 +
|<code>direct address error: domain does not match the direct domain for this account</code>
 +
|-
 +
|<code>4630</code>
 +
|<code>direct address error: account does not have a direct domain configured</code>
 +
|-

Revision as of 12:16, 19 November 2013

Contents

Description

The following code sample shows how to add a new practice.

Prerequisites

Credentials

This API call requires Vendor-level credentials. The credentials should be populated into the applicationId and applicationPassword fields of the auth block.

Code

Java

 public void Test() throws Exception
 {
   StringEntity params = new StringEntity("{ " + 
   private Map<String,Object> BuildMessage() throws Exception
   {
       Map<String,Object> messageData = new HashMap();
       messageData.put("accountId","NewPracticeId"); //required
       messageData.put("name","Family Practice"); //required
       messageData.put("address1", "94 N. High St");
       messageData.put("address2", "Suite 100");
       messageData.put("city", "Dublin");
       messageData.put("state", "OH");
       messageData.put("postal", "43017");
       messageData.put("phone", "6147988170");
       messageData.put("fax", "6144074411");
       messageData.put("directAddress", "practice_direct");
       messageData.put("directDomain", "new_practice");
       messageData.put("timeZone", "America/Chicago");
       messageData.put("websiteAddress", "practice_website");
       messageData.put("active","true"); //recommended, defaults to "false"
       
       Map<String,String> authData = new HashMap();
       authData.put("applicationId", "vendorId");
       authData.put("applicationPassword", "vendorPassword");
       messageData.put("auth", authData);
       
       return messageData;
   }
       Map<String,String> authData = new HashMap();
       authData.put("applicationId", "vendorId");
       authData.put("applicationPassword", "vendorPassword");
       messageData.put("auth", authData);
    "}");
 
   String url = "https://updoxqa.com/io/practiceCreate";
   SendReceiveJSON(params, url);
 }
 
   private HttpResponse SendReceiveJSON(String jsonData, String uri) throws Exception {
       HttpClient httpClient = new DefaultHttpClient();
       HttpResponse response = null;
       StringEntity params = new StringEntity(jsonData);
       try {
           HttpPost request = new HttpPost(uri);
           request.addHeader("content-type", "application/json");
           request.setEntity(params);
           response = httpClient.execute(request);
       } catch (Exception ex) {
           // handle exception here
       } finally {
           httpClient.getConnectionManager().shutdown();
       }
       return response;
   }

C#

 public void Test()
 {
    string json = new JavaScriptSerializer().Serialize(new {
     accountId = "NewPracticeId",  // required
     name = "Family Practice",  //required
     address1 = "94 N. High St",
     address2 = "Suite 100",
     city = "Dublin",
     state = "OH",
     postal = "43017",
     phone = "6147988170",
     fax = "6144074411",
     timeZone = "America/Chicago",
     websiteAddress = "practice_website",
     directDomain = "new_practice",
     directAddress = "practice_direct",
     active = "true",  //recommended, defaults to "false"
     auth = new {
       applicationId = "vendorId",
       applicationPassword = "vendorPassword",
       accountId = "",
       userId = ""
     }
    });
   
   string url = "https://updoxqa.com/io/practiceCreate";
   SendReceiveJSON(json, url);
 }
 
 private void SendReceiveJSON(string json, string url)
 {
   var httpWebRequest = WebRequest.Create(url);
   httpWebRequest.ContentType = "application/json";
   httpWebRequest.Method = "POST";
   using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
   {
     streamWriter.Write(json);
     streamWriter.Flush();
     streamWriter.Close();
     var httpResponse = (HttpWebResponse) httpWebRequest.GetResponse();
     using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
     {
       var result = streamReader.ReadToEnd();
     }
   }
 }

Messages

Request JSON

 {
   "accountId": "NewPracticeId",
   "name": "NewPracticeName",
   ...
   "active": "true",
   "auth": {
       "applicationId": "vendorId",
       "applicationPassword": "vendorPassword"
   }
 }

HTTP Response Status

 200 OK

Response JSON

 {
   "successful": true,
   "responseMessage": "OK",
   "responseCode": 2000,
   "accountId": "NewPracticeId",
   "action": "create"
 }

Response Codes

In addition to the General Error Set, this method may return the following values in the responseCode and responseMessage fields:

responseCode responseMessage
2000 OK
4110 no practice ID
4130 account already exists
4140 web address is already taken
4610 direct address error: direct address is taken
4620 direct address error: domain does not match the direct domain for this account
4630 direct address error: account does not have a direct domain configured