Table of Contents

Ukázky použití Odorik API

Více informací o našem API můžete získat na stránce Odorik.cz API.

odeslání SMS

PHP

<?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);
?>

PHP čte čísla a text z csv soubor

hromadne_sms.php
<?php
// program spustíte když do příkazové řádky dáte php hromadne_sms.php jmeno_csv_souboru.csv
// nezapomente upravit jmeno a heslo
 
 
if ( $argc == 1 ) { 
  echo "Očekávám jediný parametr, jméno  souboru s csv".PHP_EOL;
  echo "První sloupeček je číslo, druhý sloupeček je text sms.". PHP_EOL . PHP_EOL ;
  exit;
  }
 else  echo "Snažím se číst z csv souboru $argv[1]".PHP_EOL ;
$jmeno_souboru_z_ktereho_cteme=$argv[1];
 
$handle = fopen($jmeno_souboru_z_ktereho_cteme, "r");
$authentication = array("user" => "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 <recipient> <message>
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 <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("") 

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. 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=<user> -d password=<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=<user> -d password=<password>

Zavěsí jeden probíhající hovor

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.

Javascipt

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