Telefon Rehberi İşlemleri
Baz Metodlar
Core.phone_books Core.phonesTüm Metodlar
Metod | Açıklama |
---|---|
Core.phone_books.combo | Rehber isimlerini özet liste olarak döner(ComboBox'larda kullanmak için). |
Core.phone_books | Rehberleri tam liste olarak döner(Tablolarda kullanmak için). |
Core.phone_books.edit | Var olan rehber kaydını güncelleme içindir. |
Core.phone_books.create | Yeni rehber eklemek içindir. |
Core.phone_books.remove | Rehberi silmek içindir. |
Core.phones.combo | Rehber içindeki telefonları döner(ComboBox'larda kullanmak için). |
Core.phones | Rehber içindeki telefonları liste olarak döner(Tablolarda kullanmak için). |
Core.phones.edit | Var olan telefon kaydını güncelleme içindir. |
Core.phones.create | Rehbere yeni kayıdı eklemek içindir. |
Core.phones.remove | Rehberden telefon kaydını silmek içindir. |
Telefon rehberi için önce rehber tanımlanır ve sonrasında da bu rehber içine telefon kayıtları ekenir. Bunun için telefon kaytıları ile
ilgili API çağrılarından telefon rehberi ID'sini phone_book_id
de belirtmek gereklidir.
Core.phone_books.combo
JSON
olarak şu şekilde bilgiler gönderilir:
{
"jsonrpc":"2.0",
"id":"fe012e8c-2d2f-47da-b7bb-9d90ee611eb4",
"method":"Core.phone_books.combo",
"params":{
"token_":[TOKEN],
"user_id": Soruglama için kullanıcı kodu
}
}
Yukarıdaki JSON Verisini(string olarak) aşağıdaki şekilde gönderebilirsiniz:
curl -s -k -i -X POST -F data=JSON VERİSİ 'https://DOMAIN/api/v1'
import json
import requests
r = requests.post('https://DOMAIN/api/v1',
data={'data': JSON VERİSİ}, verify=False)
print r.status_code, r.text
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => "https://DOMAIN/api/v1",
CURLOPT_HEADER => true,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => array( "data" => JSON VERİSİ )) ), CURLOPT_RETURNTRANSFER => true ));
$result = curl_exec($ch);
curl_close($ch);
echo $result;
private async void Button_Click(object sender, RoutedEventArgs e)
{
HttpStringContent stringContent = new HttpStringContent( JSON VERİSİ,
UnicodeEncoding.Utf8, "application/json");
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.PostAsync( "https://DOMAIN/api/v1", stringContent);
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine (responseBody);
}
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.entity.mime.content.StringBody;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.util.EntityUtils;
import java.io.File;
import org.apache.http.conn.ssl.*;
import org.apache.http.impl.client.*;
import java.security.cert.X509Certificate;
import java.security.cert.CertificateException;
import org.apache.http.conn.scheme.*;
import org.apache.http.impl.conn.tsccm.*;
import org.apache.http.conn.*;
//export CLASSPATH=./httpcomponents-client-4.5.1/lib/*:.
public class ApiSendFax {
public static void main(String[] args) throws Exception {
/* Patch ssl hostname validation */
SSLSocketFactory sf = new SSLSocketFactory(new TrustStrategy(){
@Override
public boolean isTrusted(X509Certificate[] chain,
String authType) throws CertificateException {
return true;
}
}, new AllowAllHostnameVerifier());
SchemeRegistry registry = new SchemeRegistry();
registry.register(new Scheme("https",8444, sf));
ClientConnectionManager ccm = new ThreadSafeClientConnManager(registry);
/* end of patch */
CloseableHttpClient httpclient = new DefaultHttpClient(ccm);
try {
HttpPost httppost = new HttpPost("https://DOMAIN/api/v1");
httppost.setEntity(new StringEntity(JSON VERİSİ, ContentType.create("application/json")));
CloseableHttpResponse response = httpclient.execute(httppost);
try {
System.out.println(response.getStatusLine());
HttpEntity resEntity = response.getEntity();
if (resEntity != null) {
System.out.println("Response content length: " + resEntity.getContentLength());
}
EntityUtils.consume(resEntity);
} finally {
response.close();
}
} finally {
httpclient.close();
}
}
}
$.ajax({
async: true,
type: 'POST',
dataType: 'json',
url: "https://DOMAIN/api/v1",
data: JSON VERİSİ,
cache: false,
success: function(data, textStatus, jqXHR){
console.log(data.result);
},
// JSON-RPC Server could return non-200 on error
error: function(jqXHR, textStatus, errorThrown){
}
});
func main() {
var jsonStr = []byte(JSON VERİSİ)
req, err := http.NewRequest("POST", "https://DOMAIN/api/v1", bytes.NewBuffer(jsonStr))
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("response Status:", resp.Status)
fmt.Println("response Headers:", resp.Header)
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println("response Body:", string(body))
}
JSON params içeriği |
||
---|---|---|
Parametre | Zorunlu? | Açıklama |
token* | Evet** | Giriş için kullanılacak TOKEN bilgisi * TOKEN yerine username ve password bilgileri gönderilebilir.** Eğer username ve password belirtilmemiş ise TOKEN mutlaka belirtilmelidir. |
user_id | Hayır | Hangi kullanıcı için sorgulama yapılacak ise onun kullanıcı ID'si. Eğer gönderilmez ise veya boş olursa, aktif kullanıcı ID'si kullanılır(Core.accounts->view ) hakkınız var ise). |
Core.phone_books
JSON params içeriği |
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametre | Zorunlu? | Açıklama | ||||||||||||||
token* | Evet** | Giriş için kullanılacak TOKEN bilgisi * TOKEN yerine username ve password bilgileri gönderilebilir.** Eğer username ve password belirtilmemiş ise TOKEN mutlaka belirtilmelidir. |
||||||||||||||
user_id | Hayır | Hangi kullanıcı için sorgulama yapılacak ise onun kullanıcı ID'si. Eğer gönderilmez ise veya boş olursa, aktif kullanıcı ID'si kullanılır(Core.accounts->view ) hakkınız var ise). |
||||||||||||||
page_length | Evet | Dönülecek kayıt sayısı(sayfa uzunluğu) | ||||||||||||||
start | Evet | Kaçıncı satırdan itibaren kayıtlar gelsin? | ||||||||||||||
order_by | Evet | Sıralama hangi sütuna göre yapılsın? | ||||||||||||||
order_dir | Evet | Sondan başa (DESC ) mı, yoksa baştan sona doğru(ASC ) mu olsun? |
||||||||||||||
search | Evet | name sütunu içinde geçen bir değeri aramak için kullanılabilir. Eğer arama yapılmayacaksa boş string gönderilmeli |
||||||||||||||
flt | Evet | assigned_on sütunu için filtreleme amaçlı olarak kullanılabilir. Örnek filtreleme verisi:
Kullanılabilecek operatörler:
|
Core.phone_books.edit
JSON params içeriği |
||
---|---|---|
Parametre | Zorunlu? | Açıklama |
token* | Evet** | Giriş için kullanılacak TOKEN bilgisi * TOKEN yerine username ve password bilgileri gönderilebilir.** Eğer username ve password belirtilmemiş ise TOKEN mutlaka belirtilmelidir. |
user_id | Evet | Rehberin sahibi kullanıcının ID'si. Boş olursa aktif kullanıcı ID'si kullanılır |
id | Evet | Güncellenecek kaydın ID'si. |
name | Evet | Rehber ismi. |
Core.phone_books.create
JSON params içeriği |
||
---|---|---|
Parametre | Zorunlu? | Açıklama |
token* | Evet** | Giriş için kullanılacak TOKEN bilgisi * TOKEN yerine username ve password bilgileri gönderilebilir.** Eğer username ve password belirtilmemiş ise TOKEN mutlaka belirtilmelidir. |
user_id | Evet | Rehberin sahibi kullanıcının ID'si. Boş olursa aktif kullanıcı ID'si kullanılır |
name | Evet | Rehber ismi |
Core.phone_books.remove
JSON params içeriği |
||
---|---|---|
Parametre | Zorunlu? | Açıklama |
token* | Evet** | Giriş için kullanılacak TOKEN bilgisi * TOKEN yerine username ve password bilgileri gönderilebilir.** Eğer username ve password belirtilmemiş ise TOKEN mutlaka belirtilmelidir. |
user_id | Evet | Hangi kullanıcı için işlem yapılacaksa onun user_id'si. |
id | Evet | Silinecek kaydın ID'si. Array olarak birden fazla ID belirtilebilir. |
Core.phones.combo
JSON
olarak şu şekilde bilgiler gönderilir:
{
"jsonrpc":"2.0",
"id":"fe012e8c-2d2f-47da-b7bb-9d90ee611eb4",
"method":"Core.phones.combo",
"params":{
"token_":[TOKEN],
"user_id": Soruglama için kullanıcı kodu
}
}
Yukarıdaki JSON Verisini(string olarak) aşağıdaki şekilde gönderebilirsiniz:
curl -s -k -i -X POST -F data=JSON VERİSİ 'https://DOMAIN/api/v1'
import json
import requests
r = requests.post('https://DOMAIN/api/v1',
data={'data': JSON VERİSİ}, verify=False)
print r.status_code, r.text
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => "https://DOMAIN/api/v1",
CURLOPT_HEADER => true,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => array( "data" => JSON VERİSİ )) ), CURLOPT_RETURNTRANSFER => true ));
$result = curl_exec($ch);
curl_close($ch);
echo $result;
private async void Button_Click(object sender, RoutedEventArgs e)
{
HttpStringContent stringContent = new HttpStringContent( JSON VERİSİ,
UnicodeEncoding.Utf8, "application/json");
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.PostAsync( "https://DOMAIN/api/v1", stringContent);
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine (responseBody);
}
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.entity.mime.content.StringBody;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.util.EntityUtils;
import java.io.File;
import org.apache.http.conn.ssl.*;
import org.apache.http.impl.client.*;
import java.security.cert.X509Certificate;
import java.security.cert.CertificateException;
import org.apache.http.conn.scheme.*;
import org.apache.http.impl.conn.tsccm.*;
import org.apache.http.conn.*;
//export CLASSPATH=./httpcomponents-client-4.5.1/lib/*:.
public class ApiSendFax {
public static void main(String[] args) throws Exception {
/* Patch ssl hostname validation */
SSLSocketFactory sf = new SSLSocketFactory(new TrustStrategy(){
@Override
public boolean isTrusted(X509Certificate[] chain,
String authType) throws CertificateException {
return true;
}
}, new AllowAllHostnameVerifier());
SchemeRegistry registry = new SchemeRegistry();
registry.register(new Scheme("https",8444, sf));
ClientConnectionManager ccm = new ThreadSafeClientConnManager(registry);
/* end of patch */
CloseableHttpClient httpclient = new DefaultHttpClient(ccm);
try {
HttpPost httppost = new HttpPost("https://DOMAIN/api/v1");
httppost.setEntity(new StringEntity(JSON VERİSİ, ContentType.create("application/json")));
CloseableHttpResponse response = httpclient.execute(httppost);
try {
System.out.println(response.getStatusLine());
HttpEntity resEntity = response.getEntity();
if (resEntity != null) {
System.out.println("Response content length: " + resEntity.getContentLength());
}
EntityUtils.consume(resEntity);
} finally {
response.close();
}
} finally {
httpclient.close();
}
}
}
$.ajax({
async: true,
type: 'POST',
dataType: 'json',
url: "https://DOMAIN/api/v1",
data: JSON VERİSİ,
cache: false,
success: function(data, textStatus, jqXHR){
console.log(data.result);
},
// JSON-RPC Server could return non-200 on error
error: function(jqXHR, textStatus, errorThrown){
}
});
func main() {
var jsonStr = []byte(JSON VERİSİ)
req, err := http.NewRequest("POST", "https://DOMAIN/api/v1", bytes.NewBuffer(jsonStr))
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("response Status:", resp.Status)
fmt.Println("response Headers:", resp.Header)
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println("response Body:", string(body))
}
JSON params içeriği |
||
---|---|---|
Parametre | Zorunlu? | Açıklama |
token* | Evet** | Giriş için kullanılacak TOKEN bilgisi * TOKEN yerine username ve password bilgileri gönderilebilir.** Eğer username ve password belirtilmemiş ise TOKEN mutlaka belirtilmelidir. |
user_id | Hayır | Hangi kullanıcı için sorgulama yapılacak ise onun kullanıcı ID'si. Eğer gönderilmez ise veya boş olursa, aktif kullanıcı ID'si kullanılır(Core.accounts->view ) hakkınız var ise). |
phone_book_id | Evet | Rehber ID'si |
Core.phones
JSON params içeriği |
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametre | Zorunlu? | Açıklama | ||||||||||||||
token* | Evet** | Giriş için kullanılacak TOKEN bilgisi * TOKEN yerine username ve password bilgileri gönderilebilir.** Eğer username ve password belirtilmemiş ise TOKEN mutlaka belirtilmelidir. |
||||||||||||||
phone_book_id | Ever | Rehber ID'si | ||||||||||||||
page_length | Evet | Dönülecek kayıt sayısı(sayfa uzunluğu) | ||||||||||||||
start | Evet | Kaçıncı satırdan itibaren kayıtlar gelsin? | ||||||||||||||
order_by | Evet | Sıralama hangi sütuna göre yapılsın? | ||||||||||||||
order_dir | Evet | Sondan başa (DESC ) mı, yoksa baştan sona doğru(ASC ) mu olsun? |
||||||||||||||
search | Evet | name, company_name, first_name, last_name, fax_no sütunu içinde geçen bir değeri aramak için kullanılabilir. Eğer arama yapılmayacaksa boş string gönderilmeli |
||||||||||||||
flt | Evet | assigned_on sütunu için filtreleme amaçlı olarak kullanılabilir. Örnek filtreleme verisi:
Kullanılabilecek operatörler:
|
Core.phones.edit
JSON params içeriği |
||
---|---|---|
Parametre | Zorunlu? | Açıklama |
token* | Evet** | Giriş için kullanılacak TOKEN bilgisi * TOKEN yerine username ve password bilgileri gönderilebilir.** Eğer username ve password belirtilmemiş ise TOKEN mutlaka belirtilmelidir. |
phone_book_id | Evet | RehberID'si |
id | Evet | Güncellenecek kaydın ID'si. |
name | Evet | Kayıt ismi. |
company_name | Hayır | Şirket ismi. |
first_name | Hayır | İsim. |
last_name | Hayır | Soyisim. |
fax_no | Hayır | Faks numarası. |
mobile_phone1 | Hayır | Cep telefon numarası. |
mobile_phone2 | Hayır | Cep telefon numarası. |
home_phone | Hayır | Ev telefonu numarası. |
work_phone | Hayır | İş telefonu numarası. |
e_mail | Hayır | E-Posta Adresi. |
Core.phones.create
JSON params içeriği |
||
---|---|---|
Parametre | Zorunlu? | Açıklama |
token* | Evet** | Giriş için kullanılacak TOKEN bilgisi * TOKEN yerine username ve password bilgileri gönderilebilir.** Eğer username ve password belirtilmemiş ise TOKEN mutlaka belirtilmelidir. |
phone_book_id | Evet | RehberID'si |
id | Evet | Güncellenecek kaydın ID'si. |
name | Evet | Kayıt ismi. |
company_name | Hayır | Şirket ismi. |
first_name | Hayır | İsim. |
last_name | Hayır | Soyisim. |
fax_no | Hayır | Faks numarası. |
mobile_phone1 | Hayır | Cep telefon numarası. |
mobile_phone2 | Hayır | Cep telefon numarası. |
home_phone | Hayır | Ev telefonu numarası. |
work_phone | Hayır | İş telefonu numarası. |
e_mail | Hayır | E-Posta Adresi. |
Core.phones.remove
JSON params içeriği |
||
---|---|---|
Parametre | Zorunlu? | Açıklama |
token* | Evet** | Giriş için kullanılacak TOKEN bilgisi * TOKEN yerine username ve password bilgileri gönderilebilir.** Eğer username ve password belirtilmemiş ise TOKEN mutlaka belirtilmelidir. |
phone_book_id | Evet | Hangi rehber için işlem yapılacaksa onun ID'si. |
id | Evet | Silinecek kaydın ID'si. Array olarak birden fazla ID belirtilebilir. |