Odorik call back connector

module for odoo 11

Based on Odorik python API: https://cihar.com/software/odorik/

Installation

Use pip to install:

pip install odorik

Command line utility

The module comes with handy command line utility:

$ odorik balance
balance: 123.45

$ odorik mobile-data --phone 00420789123456
bytes_total: 111593707
bytes_down: 87039672
bytes_up: 24554035
price: 0

$ odorik send-sms 00420789123456 "Ahoj, jak se mas?"

$ odorik summary
Pepa
id: 716000
public_number: 00420789789789
call_count: 58
sms_count: 42
bytes_total: 145921813
data_price: 0.01
call_price: 24.28
sms_price: 12.31
price: 36.59

Franta
id: 717000
public_number: 00420789123456
call_count: 11
sms_count: 0
bytes_total: 0
data_price: 0
call_price: 2.20
sms_price: 0
price: 2.20

See http://odorik.readthedocs.io/en/latest/command.html for more information.



Odorik.cz API

Pro přístup ke službám Odorik.cz z aplikací třetích stran poskytujeme API na adrese https://www.odorik.cz/api/v1/. Parametry jsou předávány standardně pomocí URI-encoding (respektive form-encoding na základě použité HTTP metody). Na většinu požadavků se snažíme odpovídat HTTP stavovým kódem 200 OK.

Autentizace

Většina operací vyžaduje autentizaci uživatele. Ta se provádí zasláním přihlašovacích údajů společně s požadavkem. Jedná se o proměnné user a password, přičemž existují dvě možnosti pro přihlášení:

  • Přihlášení platné pro celý účet
  • Přihlášení platné pro konkrétní linku
    • user - číslo linky v síti Odorik.cz
    • password - heslo pro danou linku (používané například i pro SIP autentizaci)
    • Seznam vašich linek můžete nalézt na http://www.odorik.cz/ucet/linky.html, hesla poté po kliknutí na jednotlivé linky.

Operace vyžadující autentizaci mohou vracet následující odpovědi:

  • error authentication_required
  • error authentication_failed

Identifikace klienta

Při použití API k implementaci některé z funkcí Odorik.cz do aplikací třetích stran (jako například Esmska nebo DreamCom) používejte prosím u požadavků nepovinný parametr user_agent.

Jednotlivé části části Odorik API

Ukázky použití a existující aplikace

Několik ukázek kódu je k dispozici na stránce Ukázky použití Odorik API.

Rozcestník aplikací používající naše API naleznete na stránce Aplikace využivající Odorik API.

Rozšiřitelnost

Pokud byste rádi přistupovali k některé ze služeb Odorik.cz pomocí API, kontaktujte nás prosím na karasODDELEJTOHLE@odorik.cz.


Funkční použití knihovny:

from odorik import Odorik, OdorikException

usr = 'YYY'
pwd = '****'
aurl = 'https://www.odorik.cz/api/v1/'
caller = '*YYY'
recipient = '00420XXXX'


call = Odorik(usr, pwd, aurl, None).callback(caller, recipient)
print(call)




Bez API - Jednoduchý přístup:

# -*- 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 = "406418" # linka
mc = "*406418"
kc = "00420777020721"
#######################
# pokud chcete nechat cislo defaultne nastavene okomentujte tento radek
#mc = ("Moje cislo: ")
# a odkomentujte radek pod timto a dopiste cislo
# mc="" #moje cislo defaultne
#kc = input("Komu volam: ")

aut = urllib.parse.urlencode({'user': user, 'password': passw})

f = urllib.request.urlopen("https://www.odorik.cz/api/v1/balance?" +
aut+"") # odeslani udaju pak se zacne volat
print(f.read())

# odeslani udaju pak se zacne volat
daut = urllib.parse.urlencode({'caller': mc, 'recipient': kc, 'line': linka})

# dame to vse dosebe a zavolame
parms = aut + "&" + daut
encparms = parms.encode('utf8')

c = urllib.request.urlopen("https://www.odorik.cz/api/v1/callback",
encparms) # odeslani udaju pak se zacne volat
print(c.read())
print("################################################")
print("################################################")
print("Volám...")

a = input("")