====== 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