+90 (216) 222 25 25

FaxMAX API

FaxMAX

Telefon Rehberi İşlemleri


Baz Metodlar
Core.phone_books
Core.phones
Tüm Metodlar
MetodAçıklama
Core.phone_books.comboRehber isimlerini özet liste olarak döner(ComboBox'larda kullanmak için).
Core.phone_booksRehberleri tam liste olarak döner(Tablolarda kullanmak için).
Core.phone_books.editVar olan rehber kaydını güncelleme içindir.
Core.phone_books.createYeni rehber eklemek içindir.
Core.phone_books.removeRehberi silmek içindir.
Core.phones.comboRehber içindeki telefonları döner(ComboBox'larda kullanmak için).
Core.phonesRehber içindeki telefonları liste olarak döner(Tablolarda kullanmak için).
Core.phones.editVar olan telefon kaydını güncelleme içindir.
Core.phones.createRehbere yeni kayıdı eklemek içindir.
Core.phones.removeRehberden 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:
"flt": {"rules":[
    {"field":"assigned_on","op":"ge","data":null},
    {"field":"assigned_on","op":"lt","data":null}
]} 
Kullanılabilecek operatörler:
eq =
gt >
ge >=
lt <
le <=
in IN (Liste içinde)
bt BETWEEN (İki değer arasında)

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:
"flt": {"rules":[
    {"field":"assigned_on","op":"ge","data":null},
    {"field":"assigned_on","op":"lt","data":null}
]} 
Kullanılabilecek operatörler:
eq =
gt >
ge >=
lt <
le <=
in IN (Liste içinde)
bt BETWEEN (İki değer arasında)

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.
BİZE YAZIN
BİZE YAZIN
 
*
*
*