Payment Services

POST /voucher_handout

Requires authentication with server access token.

Hands out a voucher to user. Assumes that vouchers for the voucher group has been generated upfront, and that there are available vouchers that are neither redeemed, handed out, nor expired. The voucher that is given to the user has its status changed to "handed out".

Failure means a voucher was not available. More info on failure may be found in the error value of the container.

Request

POST /api/2/voucher_handout

userId

required

ID of the user to give the voucher to

voucherGroupId

required

The voucher group from which to hand out a voucher

Example request

cURL
curl https://login.schibsted.com/api/2/voucher_handout \
   -X POST \
   -d "oauth_token=[access token]" \
   -d "userId=42" \
   -d "voucherGroupId=324673248"
Java
Map<String, String> params = new HashMap<>() {{
    put("userId", "42");,
    put("voucherGroupId", "324673248");
}};

SpidOAuthToken token = spidClient.getServerToken();
String responseJSON = spidClient.
    POST(token, "/voucher_handout", params).
    getResponseBody();

This example is an excerpt, see a full example

PHP
<?php
$params = array(
    "userId" => "42",
    "voucherGroupId" => "324673248"
);

$client->auth();
echo var_dump($client->api("/voucher_handout", "POST", $params));

This example is an excerpt, see a full example

Clojure
(ns example
  (:require [spid-client-clojure.core :as spid]))

(let [client (spid/create-client "[client-id]" "[secret]")
      token (spid/create-server-token client)]
  (spid/POST client token "/voucher_handout" {"userId" "42"
                                              "voucherGroupId" "324673248"}))

Response

This endpoint supports the JSON and JSON-P response formats.

Success: 200 OK

Returns an indication of success or failure

Success indicator

success

boolean

Failure cases

Some HTTP response codes are used for multiple error situations. There is no consistent way to tell these apart, but the error object will contain a textual explanation of the reason for the error. For explanation on OAuth related failures and errors see OAuth authentication failures.

  • 401 Unauthorized You don't have administration rights for this client.
  • 401 Unauthorized Your client doesn't have administration rights for this client.
  • 403 Forbidden Client is not authorized to access this API endpoint. Contact SPiD to request access.
  • 403 Forbidden Requesting IP is not whitelisted
  • 403 Forbidden Client does not have access to this voucher group
  • 403 Forbidden Access token rejected
  • 404 Not Found Unknown client ID
  • 404 Not Found Client ID mismatch. The client making the request is no the owner of this resource, and does not have administrative privileges for it.
  • 404 Not Found Missing required userId and/or voucherGroupId parameters
  • 404 Not Found User not found
  • 404 Not Found Voucher group not found, or handouts not enabled
  • 420 Request Ratelimit exceeded

Sample response

JSON
{
  "success": true
}
JSON-P
callback({
  "success": true
});

Comments/feedback

Do you have questions, or just want to contribute some newly gained insight? Want to share an example? Please leave a comment. SPiD reads and responds to every question. Additionally, your experience can help others using SPiD, and it can help us continuously improve our documentation.