====== Ukázky použití Odorik API ======
Více informací o našem API můžete získat na stránce [[:api|Odorik.cz API]].
==== odeslání SMS ====
=== PHP ===
"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);
?>
=== PHP čte čísla a text z csv soubor ===
"pepa", "password" => "zdepa");
$cc = curl_init("https://www.odorik.cz/api/v1/sms");
curl_setopt($cc, CURLOPT_RETURNTRANSFER, true);
for ($i = 0; $row = fgetcsv($handle ); ++$i) {
// Do something will $row array
$sms = array( "sender" => "Odorik.cz", "recipient" => $row[0],
"message" => $row[1]);
curl_setopt($cc, CURLOPT_POSTFIELDS, $authentication + $sms);
echo "odesilam sms na číslo $row[0] s textem $row[1] ". PHP_EOL ;
$response = curl_exec($cc);
if (strstr($response, "successfully_sent") == false) {
echo "SMS zpravu se nepodarilo odeslat. Duvod: " . $response;
}
}
fclose($handle);
curl_close($cc);
?>
?>
=== Ruby ===
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
=== Bash ===
#!/bin/sh
# odorikSMS.sh
USER=7670556
PASSWORD=adddddj
RECIPIENT=${1}
MESSAGE=${2}
curl -v -X POST -i https://www.odorik.cz/api/v1/sms -d user=$USER -d password=$PASSWORD -d recipient=$1 --data-urlencode message="$MESSAGE"
Použití: /home/neco/odorikSMS.sh 777333111 "sms forever"
==== objednání zpětného volání ====
=== Python ===
# -*- coding: utf-8 -*-
"""
Created on Wed Nov 23 15:13:23 2011
# Author: Michal Sládeček, sla29006 <@t> spseol 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("")
=== Ruby ===
#!/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.
==== stažení nahrávek hovorů ====
Depreciated - hovory si nechávejte ukládat rovnou k vám. [[:call_records_upload|návod jak si nechat nahrané hovory ukládat]]
==== použití nástroje curl ====
=== Objednání zpětného volání ===
Volat se bude z čísla 00420608424631 na číslo 00420800123456
curl -X POST https://www.odorik.cz/api/v1/callback -d user= -d password= -d caller=00420608424631 -d recipient=00420800123456
=== Vypíše probíhající hovory ===
curl -X GET https://www.odorik.cz/api/v1/active_calls.json -d user= -d password=
=== Zavěsí jeden probíhající hovor ===
curl -X DELETE https://www.odorik.cz/api/v1/active_calls/3.json -d user= -d password=
Oba výše uvedené příklady vychází z dokumentace pro [[http://www.odorik.cz/w/api:calls#prave_probihajici_hovory|právě probíhající hovory]]. Hodnoty a slouží pro [[http://www.odorik.cz/w/api#autentizace|autentizaci]].
===== Javascipt =====
[[https://www.odorik.cz/aw/|Webová aplikace]] využívající API [[https://github.com/martykan/odorik/blob/gh-pages/index.html|zdrojových kódů]] a [[https://github.com/martykan/odorik| 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