Difference between revisions of "API Method PracticeCreate"
From Updox API
Line 20: | Line 20: | ||
=== C# === | === C# === | ||
<span class="mw-collapsible mw-collapsed" style="width:800px"> | <span class="mw-collapsible mw-collapsed" style="width:800px"> | ||
− | public void TalkToUpdox() | + | public void TalkToUpdox() { |
− | + | ||
<span class="mw-collapsible-content"> | <span class="mw-collapsible-content"> | ||
string json = new JavaScriptSerializer().Serialize(new { | string json = new JavaScriptSerializer().Serialize(new { |
Revision as of 17:56, 19 November 2013
Contents |
Description
The following code samples describe the processes involved in adding a new practice.
Prerequisites
- This API call requires Vendor-level credentials. The credentials should be populated into the
applicationId
andapplicationPassword
fields of theauth
block.
Code Samples
Java
public void TalkToUpdox() throws Exception {
String uri = "https://updoxqa.com/io/practiceCreate";
ObjectMapper mapper = new ObjectMapper();
Map<String,Object> messageData = BuildMessage();
String jsonData = mapper.writeValueAsString(messageData);
HttpResponse httpResponse = SendReceiveJSON(jsonData, uri);
HttpEntity responseEntity = httpResponse.getEntity();
String response = EntityUtils.toString(responseEntity);
JsonNode actualObj = mapper.readTree(response);
System.out.println(actualObj.get("responseCode"));
System.out.println(actualObj.get("responseMessage"));
}
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;
}
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;
}
</span>
C#
public void TalkToUpdox() {
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" }
Relevant Response Codes
In addition to the General Error Set, this method may return the following values in the responseCode
and responseMessage
fields:
responseCode
|
responseMessage
|
---|---|
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
|