This is an old revision of the document!
Více informací o našem API můžete získat na stránce Odorik.cz API.
<?php $authentication = array("user" => "pepa", "password" => "zdepa"); $sms = array( "sender" => "Odorik.cz", "recipient" => "00420999123456789", "message" => "Testovaci SMS zprava pres Odorik.cz API"); $cc = curl_init("https://www.odorik.cz/api/v1/sms"); curl_setopt($cc, CURLOPT_RETURNTRANSFER, true); curl_setopt($cc, CURLOPT_POSTFIELDS, $authentication + $sms); $response = curl_exec($cc); if (strstr($response, "successfully_sent") == false) { echo "SMS zpravu se nepodarilo odeslat. Duvod: " . $response; } curl_close($cc); ?>
require 'net/http' require 'uri' #starší verze ruby vyžaduje navíc řádek #require 'net/https' authentication = { 'user' => 'pepa', 'password' => 'zdepa' } sms = { 'sender' => 'Odorik.cz', 'recipient' => '00420999123456789', 'message' => 'Testovaci SMS zprava pres Odorik.cz API' } uri = URI.parse('https://www.odorik.cz/api/v1/sms') request = Net::HTTP::Post.new(uri.path) request.form_data = authentication.merge(sms) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true response = http.start {|http| http.request(request)} unless response.body.include? 'successfully_sent' puts "SMS zpravu se nepodarilo odeslat. Duvod: #{response.body}" end
# -*- coding: utf-8 -*- """ Created on Wed Nov 23 15:13:23 2011 # Author: Michal Sládeček, sla29006 <@t> spseol <d.t> cz # License: GNU/GPL """ import urllib #####konfigurace###### user="" #api user passw="" #api pass linka="" #linka ####################### mc=input("Moje cislo: ") ##pokud chcete nechat cislo defaultne nastavene okomentujte tento radek # a odkomentujte radek pod timto a dopiste cislo #mc="" #moje cislo defaultne kc=input("Komu volam: ") aut = urllib.urlencode({'user': user, 'password': passw}) f=urllib.urlopen("https://www.odorik.cz/api/v1/balance?"+aut+"") ##odeslani udaju pak se zacne volat print "Aktualni stav kreditu je: "+f.read()+"Kc" ##odeslani udaju pak se zacne volat daut = urllib.urlencode({'caller': mc, 'recipient': kc, 'line': linka}) ##dame to vse dosebe a zavolame parms=aut+"&"+daut c=urllib.urlopen("https://www.odorik.cz/api/v1/callback", parms) ##odeslani udaju pak se zacne volat print c.read() print "################################################" print "################################################" print u"Volám..." a=input("")
#!/usr/bin/env ruby # encoding: UTF-8 require 'net/http' require 'uri' #starší verze ruby vyžaduje navíc řádek #require 'net/https' authentication = { 'user' => '300116', 'password' => 'sipheslo' } callback = { 'caller' => '*300116', 'recipient' => ARGV[0] } uri = URI.parse('https://www.odorik.cz/api/v1/callback') request = Net::HTTP::Post.new(uri.path) request.form_data = authentication.merge(callback) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true response = http.start {|http| http.request(request)} unless response.body.include? 'callback_ordered' puts "zpětné volání nešlo objednat. Důvod: #{response.body}" end
soubor si uložím do $HOME/bin a poté přidám bashrc řádek export PATH=$PATH:$HOME/bin. Pak stačí do konzole napsat v cislo,kde v je název mého skriptu a cislo je číslo, s kterým chci spojit.
<?php $auth = array('user' => 'xxxxxx', 'password' => 'yyyyyyy'); function calls_timespan_params() { date_default_timezone_set('Europe/Prague'); $now = date_create('now'); $yesterday = date_modify($now, '-1 day'); $from = date_create(date_format($yesterday, 'Y-m-d') . ' 00:00:00'); $to = date_create(date_format($yesterday, 'Y-m-d') . ' 23:59:59'); return array( 'from' => date_format($from, 'c'), 'to' => date_format($to, 'c')); } function download($url) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($curl); curl_close($curl); return $data; } function download_recording($call, $auth) { $fname = filename($call); if (file_exists($fname)) { fwrite(STDERR, "file " . $fname . " (call " . $call->id . ") exists, skipping\n"); return(-1); } $auth_qs = http_build_query($auth); $data = download('https://www.odorik.cz/api/v1/call_recordings/' . $fname . '?' . $auth_qs); $file = fopen($fname, "w+"); fputs($file, $data); fclose($file); } function filename($call) { #var_dump($call); #exit(0); #return $call->id . '.' . $call->recording->format; return $call->date . '---' . $call->direction . '---' . $call->source_number . '---' . $call->destination_number . '.' . $call->recording->format; } $qs = http_build_query(array_merge($auth, calls_timespan_params())); $calls = json_decode(download("https://www.odorik.cz/api/v1/calls.json?" . $qs)); foreach($calls as $call) { if ($call->recording != NULL) { download_recording($call, $auth); } } ?>
Volat se bude z čísla 00420608424631 na číslo 00420800123456
curl -X POST https://www.odorik.cz/api/v1/callback -d user=<user> -d password=<password> -d caller=00420608424631 -d recipient=00420800123456
curl -X GET https://www.odorik.cz/api/v1/active_calls.json -d user=<user> -d password=<password>
curl -X DELETE https://www.odorik.cz/api/v1/active_calls/3.json -d user=<user> -d password=<password>
Oba výše uvedené příklady vychází z dokumentace pro právě probíhající hovory. Hodnoty <user> a <password> slouží pro autentizaci.
Webová aplikace využívající API zdrojových kódů a dokumentace. Aplikaci si můžete upravit a umístit třeba na svůj web, nebo ji spouštět jen lokálně.
Poznámka: V případě aplikace uložené na internetu má https význam jen v ověření domény, aby vám náhodou nemohl nějaký útočník podvrhnout jinou než originální aplikaci. Aplikace samotná vždy komunikuje jen pomocí https přes API.
Vlákno na fóru: http://forum.odorik.cz/viewtopic.php?f=19&t=3531&p=27772