Published using Google Docs
fanimani.pl/dokumentacja-api/ Dokumentacja API FaniMani.pl
Updated automatically every 5 minutes

Dokumentacja API FaniMani.pl

fanimani.pl/dokumentacja-api/

ostatnia aktualizacja: 2024-02-13


Autentykacja

Środowisko testowe

Podopieczni

Lista podopiecznych organizacji

Dodanie podopiecznego

Modyfikacja podopiecznego

Usunięcie podopiecznego

Informacje o darowiznach podopiecznego

Zdjęcia beneficjenta
(organizacji, podopiecznego, projektu)

Lista zdjęć beneficjenta

Dodanie zdjęcia do beneficjenta

Modyfikacja zdjęcia beneficjenta

Usunięcie zdjęcia beneficjenta

Płatności

Generowanie linka do płatności dla beneficjenta


Autentykacja

Do korzystania z niektórych zasobów API wymagana jest autentykacja za pomocą tokena API, który uzyskać można kontaktując się z nami. Otrzymany token poprzedzony napisem Token i spacją należy umieścić w nagłówku Authentication zapytania HTTP tak jak na poniższym przykładzie:

curl -X GET https://fanimani.pl/api/v2/zasob-wymajagajacy-autentykacji/ -H 'Authorization: Token 7756bf1e2f31ef96d0d770775b06812a213f26b0'

Aby uzyskać klucz API proszę wysłać wiadomość z adresu email administratora organizacji na adres info@fanimani.pl

Środowisko testowe

Środowisko testowe dostępne jest pod adresem dev.fanimani.pl. Znajdziesz tam kopię serwisu fanimani.pl, która jest aktualizowana kilka razy w roku. Z tego powodu - jeśli zakładałeś konto użytkownika/organizacji w ostatnim czasie - nie zalogujesz się i nie będziesz mieć dostępu do swojego konta.

WAŻNE: Jeśli będziesz mieć problem z połączeniem do środowiska dev.fanimani.pl spróbuj ponownie za kilka minut. Niedostępność może być związana z prowadzonymi pracami na serwerze dev.fanimani.pl

Aby korzystać ze środowiska testowego wszystkie zapytania kieruj do https://dev.fanimani.pl/api/v2/ zamiast do https://fanimani.pl/api/v2/.

Podopieczni

Zasób: /organizations/<org_id>/pupils/ 

Obsługiwane są poniższe pola:

Nazwa pola

Typ

Wymag

Tylko odczyt

Domyślna wartość

id

int

external_id

str

parent

obj

type

str

name

str

name_genitive

str

slug

str

na podstawie pola `name`

description

str

krs

str

photos

obj

website_url

str

facebook_fanpage_url

str

video_url

str

visible

bool

true

verified

bool

true

order

int

url

str

support_target_1

str

support_target_2

str

support_target_3

str

Lista podopiecznych organizacji

GET /organizations/<org_id>/pupils/ 

Dodanie podopiecznego

POST /organizations/<org_id>/pupils/ 

Modyfikacja podopiecznego

PATCH /organizations/<org_id>/pupils/<pupil_id>/ 

W zapytaniu należy umieścić tylko te pola, które mają być zmodyfikowane.

Usunięcie podopiecznego

DELETE /organizations/<org_id>/pupils/<pupil_id>/ 

Usunięcie podopiecznego powoduje:

Informacje o darowiznach podopiecznego

GET /organizations/<org_id>/pupils/<pupil_id>/revenue-info/ 

lub wersja, która umożliwia paginację listy darowizn:

GET /organizations/<org_id>/pupils/<pupil_id>/revenue-info/?limit=<ilość_elementów_na_stronie>&page=<numer_strony>

W przypadku podania samego parametru “limit” wyświetlana jest pierwsza strona wyników.

Parametry limit i page nie są wymagane, wtedy będzie wyświetlona pełna lista darowizn.

Odpowiedź będzie miała kształt:

{

    "amount_waiting": 0,

    "amount_confirmed": 0,

    "amount_ready": 5.34,

    "amount_not_rejected": 5.34,

    "amount_total": 5.34,

    "revenues": [

        {

            "name": "Zalando PL",

            "amount": 5.34,

            "transaction_date": "2015-11-30T13:31:27.737000",

            "status_updated_date": "2016-01-30T05:04:41.432284",

            "status": "withdrawn",

                 "status_label": "Wypłacona",

                 "user_name": "Kasia",

        },

        ...

    ],
        "revenues_count": 839

}

Zdjęcia beneficjenta
(organizacji, podopiecznego, projektu)

Zasób: /beneficiaries/<id>/photos/ 
(gdzie <id> oznacza ID podopiecznego)

Obsługiwane są poniższe pola:

Nazwa pola

Typ

Wymag

Tylko odczyt

Domyślna wartość

id

int

photo_small

str

photo_large

str

photo

str

label

str

order

int

brak wartości ustawi zdj. jako ostatnie

Lista zdjęć beneficjenta

GET /beneficiaries/<id>/photos/ 

Dodanie zdjęcia do beneficjenta

POST /beneficiaries/<id>/photos/ 

Modyfikacja zdjęcia beneficjenta

PATCH /beneficiaries/<id>/photos/<photo_id>/ 

W zapytaniu należy umieścić tylko te pola, które mają być zmodyfikowane.

Usunięcie zdjęcia beneficjenta

DELETE /beneficiaries/<id>/photos/<photo_id>/ 

Płatności

Generowanie linka do płatności dla beneficjenta

POST https://fanimani.pl/api/v2/fanipay/payment-link/ 

Api pozwala wygenerować link do realizacji płatności za pośrednictwem operatora płatności (BlueMedia lub Tpay). Aby móc wygenerować link, organizacja musi być zarejestrowana u jednego z operatorów płatności (usługa FaniPAY).

Wygenerowany link inicjuje transakcję (w Fanimani). Jest ważny 7 dni od wygenerowania. Przekierowanie użytkownika na tą stronę pozwoli mu rozpocząć proces płatności na stronie operatora.

Obsługiwane są poniższe pola:

Nazwa pola

Typ

Wymag

max length

Domyślna wartość

org_id

int

amount

dec

customer_email

str

60

customer_first_name

str

40

customer_last_name

str

60

terms_accepted

bool

pass_details

bool

false

org_id - identyfikator orgniazacji w FaniMani

amount - kwota transakcji

customer_email, customer_first_name, customer_last_name - dane wymagane przez operatora płatności

terms_accepted - akceptacja regulaminu płatności

pass_details - zgoda na przesłanie adresu email, imienia i nazwiska do FaniMani.

Dane dla zapytania typu POST z poniższymi danymi:
{

    "amount": 10.23,

    "customer_email": "test@fanimani.pl",

    "customer_first_name": "Jan",

    "customer_last_name": "Testowy",

    "org_id": 22130
   "terms_accepted": true,

}

Odpowiedź będzie miała kształt:

{
        "link": "https://pay-accept.bm.pl/fanimani?ServiceID=14701&OrderID=6GFtqJmoz6&Amount=10.23&Description=/API/Darowizna&CustomerEmail=test@fanimani.pl&ValidityTime=2022-01-25 15:05:13&LinkValidityTime=2022-01-25 15:05:13&Hash=b20e40d12f443270071605ef1cfd71ca21863e557541e7623502c0f17a8b6a90"

}