一个与quandoo api交互的sdk,它正在进行中

Quandoo的Python项目详细描述


用于python的quandoo

这是一个相当轻量级的与quandoo api交互的sdk,这是一个正在进行的工作。

安装

使用pip安装:

$ pip install Quandoo

在应用程序中包含Quandoo

importquandoo

检查API状态

quandoo.status()quandoo.status_test()
200
200

获取API密钥+代理ID

直接从Quandoo代表处获得。Quandoo docs on authentication.

oauth_token="<oauth_token>"agent_id="<agent_id>"

获取Quandoo代理实例

要获得quandoo的Agent实例,只需提供x-quandoo-authToken和您的代理ID即可。

agent=quandoo.Agent(oauth_token,agent_id)

要获取测试Agent实例,请确保使用您的测试凭据

agent_test=quandoo.Agent(oauth_token_test,agent_id_test,test=True)

用法

代理

Quandoo Docs

获取商家

获取商户ID:

agent.get_merchant("123456")

返回一个Merchant对象:

Merchant(
	id: 123456,
	name: The Best Restaurant
)

获取客户

获取客户ID:

agent.get_customer("0bd07451-0c0e-40e9-8429-8a589f59e254")

返回一个Customer对象:

Customer(
	id: 0bd07451-0c0e-40e9-8429-8a589f59e254,
	firstName: Fraser,
	lastName: Basil,
	email: fraserbasil@mail.com,
	phoneNumber: +614111222333
)

预订

预订ID:

agent.get_reservation("77f9dd33-9b24-4a66-a58c-7a059cecba5f")

返回一个Reservation对象:

Reservation(
    id: 1e346889-7819-4648-85c3-500a075bd470,
    status: MERCHANT_CANCELED,
    date: Mon 20 January 2020,
    startTime: 12:00 PM,
    endTime: 3:00 PM,
    capacity: 2,
    merchantId: 49295,
    customerId: 4d3f588b-3dc7-4a9c-bcf2-399cb8dcce68
)

获取预订查询

获取预订查询ID:

agent.get_reservation_enquiry("a4711a61-2282-4dc8-8229-99b526bdf0b6")

返回一个ReservationEnquiry对象:

ReservationEnquiry(
	id: a4711a61-2282-4dc8-8229-99b526bdf0b6,
	merchantId: 33226,
	customerId: 0bd07451-0c0e-40e9-8429-8a589f59e254,
	capacity: 2,
	startTime: 2019-09-01T02:00+10:00[Australia/Sydney],
	endTime: 2019-09-01T04:00+10:00[Australia/Sydney],
	status: NEW
)

商户

Quandoo Docs

获得客户

可选择:偏移量、限制、修改时间和修改时间

merchant.get_customers()

返回Customers的列表

[
    Customer(
        id: 0bd07451-0c0e-40e9-8429-8a589f59e254,
        firstName: Fraser,
        lastName: Basil,
        email: fraserbasil@mail.com,
        phoneNumber: +61466920029
    ), 
    Customer(
        id: 2b2a541b6-e352-414d-j62f-71ad9fb695d,
        firstName: Carmen,
        lastName: Test,
        email: carmen.test@mail.com,
        phoneNumber: +123456789
    )]

预订

可选择:偏移、限制、最早和最晚

merchant.get_reservations(limit=2,earliest=QuandooDatetime(2020,1,20),latest=QuandooDatetime(2020,2,2))

返回Reservation对象的列表:

[
	Reservation(
		id: 1e346889-7819-4648-85c3-500a075bd470,
		status: MERCHANT_CANCELED,
		date: Mon 20 January 2020,
		startTime: 12:00 PM,
		endTime: 3:00 PM,
		capacity: 2,
		merchantId: 49295,
		customerId: 4d3f588b-3dc7-4a9c-bcf2-399cb8dcce68
	), 
	Reservation(
		id: 2af875ba-a01e-4721-8988-96bbcc5f4863,
		status: MERCHANT_CANCELED,
		date: Mon 20 January 2020,
		startTime: 12:00 PM,
		endTime: 3:00 PM,
		capacity: 6,
		merchantId: 49295,
		customerId: e4f5d267-6891-4e48-9632-b8de038bbd45
	)]

获取可用时间

接受预订和QuandooDatetime的容量。 可选:持续时间=2,区域ID

capacity=2res_datetime=QuandooDatetime(year=2019,month=7,day=1,hour=12,minute=0)merchant.get_available_times(capacity,res_datetime)

返回QuandooDatetime对象的列表

[
	QuandooDatetime(
		datetime: 2019-07-01 12:00:00+10:00,
		q_datetime: 2019-07-01T12:00:00+10:00,
		pretty_date: 12:00 PM, Mon 1 July 2019
	), 
	QuandooDatetime(
		datetime: 2019-07-01 12:15:00+10:00,
		q_datetime: 2019-07-01T12:15:00+10:00,
		pretty_date: 12:15 PM, Mon 1 July 2019
	), 
	QuandooDatetime(
		datetime: 2019-07-01 12:30:00+10:00,
		q_datetime: 2019-07-01T12:30:00+10:00,
		pretty_date: 12:30 PM, Mon 1 July 2019
	), 
	QuandooDatetime(
		datetime: 2019-07-01 12:45:00+10:00,
		q_datetime: 2019-07-01T12:45:00+10:00,
		pretty_date: 12:45 PM, Mon 1 July 2019
	), 
	QuandooDatetime(
		datetime: 2019-07-01 13:00:00+10:00,
		q_datetime: 2019-07-01T13:00:00+10:00,
		pretty_date: 1:00 PM, Mon 1 July 2019
	), 
	QuandooDatetime(
		datetime: 2019-07-01 13:15:00+10:00,
		q_datetime: 2019-07-01T13:15:00+10:00,
		pretty_date: 1:15 PM, Mon 1 July 2019
	), 
	QuandooDatetime(
		datetime: 2019-07-01 13:30:00+10:00,
		q_datetime: 2019-07-01T13:30:00+10:00,
		pretty_date: 1:30 PM, Mon 1 July 2019
	), 
	QuandooDatetime(
		datetime: 2019-07-01 13:45:00+10:00,
		q_datetime: 2019-07-01T13:45:00+10:00,
		pretty_date: 1:45 PM, Mon 1 July 2019
	), 
	QuandooDatetime(
		datetime: 2019-07-01 14:00:00+10:00,
		q_datetime: 2019-07-01T14:00:00+10:00,
		pretty_date: 2:00 PM, Mon 1 July 2019
	), 
	QuandooDatetime(
		datetime: 2019-07-01 14:15:00+10:00,
		q_datetime: 2019-07-01T14:15:00+10:00,
		pretty_date: 2:15 PM, Mon 1 July 2019
	), 
	QuandooDatetime(
		datetime: 2019-07-01 14:30:00+10:00,
		q_datetime: 2019-07-01T14:30:00+10:00,
		pretty_date: 2:30 PM, Mon 1 July 2019
	), 
	QuandooDatetime(
		datetime: 2019-07-01 14:45:00+10:00,
		q_datetime: 2019-07-01T14:45:00+10:00,
		pretty_date: 2:45 PM, Mon 1 July 2019
	), 
	QuandooDatetime(
		datetime: 2019-07-01 15:00:00+10:00,
		q_datetime: 2019-07-01T15:00:00+10:00,
		pretty_date: 3:00 PM, Mon 1 July 2019
	), 
	QuandooDatetime(
		datetime: 2019-07-01 15:15:00+10:00,
		q_datetime: 2019-07-01T15:15:00+10:00,
		pretty_date: 3:15 PM, Mon 1 July 2019
	), 
	QuandooDatetime(
		datetime: 2019-07-01 15:30:00+10:00,
		q_datetime: 2019-07-01T15:30:00+10:00,
		pretty_date: 3:30 PM, Mon 1 July 2019
	), 
	QuandooDatetime(
		datetime: 2019-07-01 15:45:00+10:00,
		q_datetime: 2019-07-01T15:45:00+10:00,
		pretty_date: 3:45 PM, Mon 1 July 2019
	), 
	QuandooDatetime(
		datetime: 2019-07-01 16:00:00+10:00,
		q_datetime: 2019-07-01T16:00:00+10:00,
		pretty_date: 4:00 PM, Mon 1 July 2019
	)]

检查特定时间是否可用

接受预订和QuandooDatetime的容量。 可选:持续时间=2,区域ID

capacity=2res_datetime=QuandooDatetime(year=2019,month=7,day=1,hour=12,minute=0)merchant.is_available(capacity,res_datetime)

返回布尔值

True

获得评论

可选择:偏移和限制

merchant.get_reviews()

返回json转储

{
  "reviews": [
    {
      "customer": {
        "firstName": "Kotaro",
        "lastName": "F"
      },
      "rating": 3,
      "description": "We felt a cheap atmosphere and couldn't receive a kind service at all.  ",
      "locale": "en_GB",
      "date": "2019-03-28"
    }
  ],
  "size": 1,
  "offset": 0,
  "limit": 10
}

创建预订

需要一个Customer,预订的容量以及QuandooDatetime。 可选:区域ID、订单ID、额外信息

customer=agent.get_customer(customer_id)capacity=2res_datetime=QuandooDatetime(year=2019,month=7,day=1,hour=12,minute=0)merchant.create_reservation(customer,capacity,res_datetime)

返回一个NewReservation对象:

NewReservation(
	id: b97d9da6-b38f-4089-8456-514201dc94d5,
	number: 13096703,
	status: AUTOMATIC_CONFIRMED,
	customerId: 0bd07451-0c0e-40e9-8429-8a589f59e254
)

创建预订查询

Customer、预订容量、开始和结束时间作为QuandooDatetime和消息。

customer=agent.get_customer(customer_id)capacity=2start_qdt,end_qdt=QuandooDatetime(year,month,day,12),QuandooDatetime(year,month,day,14)message="Looking for a table please!"merchant.create_reservation_enquiry(customer,capacity,start_qdt,end_qdt,message)

返回一个NewReservationEnquiry对象:

NewReservationEnquiry(
	id: a869da69-939a-416a-afa4-eb875ae4575e,
	customerId: 0bd07451-0c0e-40e9-8429-8a589f59e254
)

客户

Quandoo Docs

客户(客人)不能用Quandoo当前的API实现来创建,在创建新的预订时创建新客户,如果客户不存在(通过电子邮件引用)将创建新客户。

预订

Quandoo Docs

取消

不需要任何东西:

reservation.cancel()

不返回任何内容:

Reconfirm

Takes nothing:

reservation.reconfirm()

不返回任何内容:

Change Capacity

Takes the new capacity:

new_capacity=2reservation.change_capacity(new_capacity)

不返回任何内容:

NewReservation

Similar to Reservation, it is what is returned on Reservation creation.

Get Full Reservation

Takes nothing:

customer=agent.get_customer(customer_id)capacity=2res_datetime=QuandooDatetime(year=2019,month=7,day=1,hour=12,minute=0)new_reservation=merchant.create_reservation(customer,capacity,res_datetime)new_reservation.get_reservation()

返回一个Reservation对象:

Reservation(
	id: 5da65435-3654-4627-8526-f544d4b9abef,
	status: AUTOMATIC_CONFIRMED,
	date: Mon 1 July 2019,
	startTime: 12:00 PM,
	endTime: 3:00 PM,
	capacity: 2,
	merchantId: 49295,
	customerId: fa78b27a-e050-4c7e-83c1-1e14e1506fda
)

预订查询

Quandoo Docs

获取消息

不需要任何内容

新预订查询

与ReservationInquiry类似,它是ReservationInquiry创建时返回的内容。

获得完整预订查询

不需要任何东西:

customer=agent.get_customer(customer_id)capacity=2start_qdt,end_qdt=QuandooDatetime(year,month,day,12),QuandooDatetime(year,month,day,14)new_res_enq=merchant.create_reservation_enquiry(customer,capacity,start_qdt,end_qdt,"Looking for a table please!")new_res_enq.get_reservation_enquiry()

返回一个ReservationEnquiry对象:

ReservationEnquiry(
	id: e0d87523-46ac-4159-b146-8119f567b58f,
	merchantId: 33226,
	customerId: 0bd07451-0c0e-40e9-8429-8a589f59e254,
	capacity: 2,
	startTime: 2019-09-01T02:00+10:00[Australia/Sydney],
	endTime: 2019-09-01T04:00+10:00[Australia/Sydney],
	status: NEW
)

数量日期时间

DateTime类,具有对Quandoo有用的额外功能,即15分钟的时间分辨率

获取特定时间

采用通常的datetime参数,但时间分辨率为15分钟

QuandooDatetime(year=2019,month=7,day=1,hour=12,minute=0)

返回QuandooDatetimeObject

QuandooDatetime(
	datetime: 2019-07-01 12:00:00+10:00,
	q_datetime: 2019-07-01T12:00:00+10:00,
	pretty_date: 12:00 PM, Mon 1 July 2019
)

获取当前时间

静态的。不需要任何东西:

QuandooDatetime.now()

返回QuandooDatetimeObject

QuandooDatetime(
	datetime: 2019-06-03 22:45:00+10:00,
	q_datetime: 2019-06-03T22:45:00+10:00,
	pretty_date: 10:45 PM, Mon 3 June 2019
)

Quandoo API返回的分析时间

静态的。获取字符串:

QuandooDatetime.parse_str_qdt("2019-07-01T12:00:00+10:00")

返回QuandooDatetimeObject

QuandooDatetime(
	datetime: 2019-07-01 12:00:00+10:00,
	q_datetime: 2019-07-01T12:00:00+10:00,
	pretty_date: 12:00 PM, Mon 1 July 2019
)

获取Quandoo格式的日期时间字符串

不需要任何东西:

qdt=QuandooDatetime(year=2019,month=7,day=1,hour=12,minute=0)qdt.get_qdt()

返回quandoo格式的日期时间字符串

2019-07-01T12:00:00+10:00

获取读取良好的格式化日期时间字符串

不需要任何东西:

qdt=QuandooDatetime(year=2019,month=7,day=1,hour=12,minute=0)qdt.pretty_date()

返回格式化的日期时间字符串AT读数良好

12:00 PM, Mon 1 July 2019

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring启动,状态404,错误“未找到”   JavaSpringBoot(使用SpringMVC)在默认错误响应中停止发送正文(可能在版本更新之后)   如何设置ehcache的位置。基于java的spring配置中的xml?   java调用函数在服务器中设置数组,在客户端打印数组   java如何知道mousePressed()事件何时发生?   java不在unitest中启动spring上下文   java生成无随机类的4位数   java从Android中的文本文件中的特定行获取特定单词   java ANTLR:以编程方式运行解析器时忽略语法错误   java自定义卡片视图形状   java如何保存自定义微调器状态   Java线程本地weakReference   ResultSet的java Can getString()方法可用于从MySQL表获取文本类型列的值?