2012-05-24 7 views
6

Używanie Stripe API, chciałbym, aby móc zapytać o dacie waha lub, w przypadku jego braku, dat, które są większe niżlub mniej niż niektóre arbitralna data.Czy możliwe jest zapytanie o zakresy datetime za pomocą interfejsu API Stripe?

wiem, że mogę zapytać o coś w oparciu o dokładnym daty, np.:

https://api.stripe.com/v1/events?created=1336503409 

Ale chcę coś w rodzaju ...

# Search for events where `created` is greater than the epoch time: 1336503400 
https://api.stripe.com/v1/events?created__gt=1336503400 

Odpowiedz

8

Tak. Od https://stripe.com/docs/api?lang=curl#list_events

stworzony: filtr na liście oparte na wydarzeniach Data założenia. Wartość ta może być ciągiem z dokładnym UTC datownik, lub może to być słownik z następujących opcji:

gt wartości (opcjonalnie) powrotne powinny zostały stworzone po to datownik.

gte (opcjonalnie) Zwracane wartości powinny zostać utworzone po tym samym znaczniku czasu lub równe temu znacznikowi czasowemu.

lt (opcjonalnie) Wartości zwrócone powinny zostać utworzone przed tym znacznikiem czasu.

lte (opcjonalnie) Zwracane wartości powinny zostać utworzone przed tym samym znacznikiem czasu lub równe temu znacznikowi czasowemu.

Więc z curl, można zbudować żądania takiego:

curl https://api.stripe.com/v1/events?created%5Blt%5D=1337923293 -u <you_api_key>: 

Niecytowany parametr zapytania jest created[lt]=1337923293.

+0

Niestety nie jest możliwe w jednym wywołaniu fakturowanie między dwiema datami (na przykład faktury w jednym określonym miesiącu) – Alessio

5

Jeśli szukasz sposobu, aby to zrobić z ruby client, to jest tutaj:

Stripe::Charge.all(limit: 100, 'created[lt]' => timestamps }) 
0

wzdłuż tej samej linii. Możesz osiągnąć to samo z klientem w języku Python, tak:

import stripe 
from datetime import datetime, timedelta 

my_date = '1/31/2011' 
my_timestamp = datetime.strptime(my_date, "%m/%d/%Y").timestamp() 


stripe.Charge.all(created={'lt': my_timestamp})