Partner
Introduction

FreedomPay provides partners with the ability to upload their own exchange rates to be used for conversion.
Authorization


Authorization of the request occurs by generating and transmitting the JWS token of the request in the X-JWS-Signature header. JWS is the part of the JWT token that contains only header and signature.
Format of the transmitted data is application/json.

Example of signature formation

Request body:

{
    "rates": [
        {
            "currency_from": "USD",
            "currency_to": "KZT",
            "rate": 123.123456,
            "rate_type": "p2p",
            "start_date": "2023-09-20 12:00:00",
            "end_date": "2023-09-20 12:00:00"

        },
        {
            "currency_from": "EUR",
            "currency_to": "KZT",
            "rate": 123.123456
        }
    ]
}

JWT token header:

{
    "uri": "/v5/partner/rates/add",
    "auth_id": "123456",
    "method": "POST",
    "params": "",
    "alg": "HS256"
}

The partner's key can be secret_key. In this case, the following JWT token can be generated:

eyJhbGciOiJIUzI1NiIsImF1dGhfaWQiOiIxMzk4OSIsInVyaSI6Ii92NS9wYXJ0bmVyL3JhdGVzL2FkZCIsIm1ldGhvZCI6IlBPU1QiLCJwYXJhbXMiOiIifQ.ewogICJyYXRlcyI6WwogICAgICAgIHsgCiAgICAgICAgICAgICJjdXJyZW5jeV9mcm9tIjoiVVNEIiwKICAgICAgICAgICAgImN1cnJlbmN5X3RvIjogIktaVCIsCiAgICAgICAgICAgICJyYXRlIjogNDQxLjUwNwogICAgICAgIH0KICAgIF0gIAp9Cg.mxer4w-qsd3oRDN42bIVeOFvhuhIGNH_vqHuw12HbkM

This line is the signature of the request and must be passed in the request header parameter X-JWS-Signature.

eyJhbGciOiJIUzI1NiIsImF1dGhfaWQiOiIxMzk4OSIsInVyaSI6Ii92NS9wYXJ0bmVyL3JhdGVzL2FkZCIsIm1ldGhvZCI6IlBPU1QiLCJwYXJhbXMiOiIifQ..mxer4w-qsd3oRDN42bIVeOFvhuhIGNH_vqHuw12HbkM

Supported HS256 signature encryption algorithm.