Share quota with a group

This POST operation shares plan quota from a donor plan with a group specified in the payload. You must first have created a group and added members in order to share with the group as this operation is simply executing the sharing and not allocating the quota. If successful, you receive an HTTP response code of 200 and a JSON containing those recipients who received the shared quota.

See HTTP response codes for other response codes.

POST /sqs/api/donations + JSON request payload


HEADER INFO

authorisation: HTTP Basic Auth

tenant: <tenantName>

content-type: application/JSON

accept: application/JSON

permissions: SQS_DONATION_PERMISSION

JSON request payload

This example shares quota from the donorPlanId 456 with the group By5li9cbFR53VLv6fh6z.

See SQS donations data type descriptions for more details on data types.
{
  "donorPlanId" : 456,
  "groupId" : "By5li9cbFR53VLv6fh6z"
}

SQS donations data type descriptions

Field Type Description

id

string

The auto-assigned ID given to a donation upon creation.

donorId

string

The MSISDN of the donor subscriber.

The subscriber’s MSISDN in international format.

donorPlanId

integer

The ID of the donor’s shareable plan.

quotaType

string

Specifies the quota type. This is share or amount.

share is a percentage of quota and amount is a specific amount (whether that is data, time, or credit). The type itself is determined from the donor plan definition’s unitMeteringType.

recipients

array

An array that lists recipients of the donation. Recipients will have a recipientId and a quota which determines how much is shared with them.

recipientId

string

The unique ID for the recipient. This is typically the MSISDN.

The subscriber’s MSISDN in international format.

quota

integer

The quota being shared with the recipient.

groupId

string

The unique ID of the group. Group IDs are auto-assigned upon creation.


JSON response

The JSON response lists the recipients who received that data with no errors in processing.

If there are any errors in processing, you get an HTTP response code of 207 (if any of the recipient return an error).
{
  "errorCode" : 0,
  "recipients" : [
    {
        "errorCode" : 0,
        "recipientId" : "67867867"
    },
    {
        "errorCode" : 0,
        "recipientId" : "456546"
    }
    ]
}

HTTP response codes

Code Description

200

success!

207

Multistatus response

Check out HTTP statuses for more details.
This is not applicable to all operations.

400

malformed request

401

unauthorised; bad username or password

403

forbidden; user does not have appropriate privileges

404

donor plan ID not found

409

conflict with target resource

This often occurs if the item already exists, such as a plan, group, or name.
This is not applicable to all operations.

412

failed validation; this typically means that a property was not set or a value is out of range.

example
HTTP 412
{
  "errors" : [
        {
          "field" : "name",
          "description" : "name is mandatory"
        }
    ]
}

422

failed processing (after passing validation).

example
HTTP 422
{
    "message": "Subscriber max plan count exceeded",
    "errorCode": 1
}
Example 1. SQS response codes
  • 0 = no error

  • 1 = undefined general error

  • 2 = group owner/name pair is not unique

  • 3 = group owner cannot be a member

  • 4 = total member quota exceeds 100%

  • 5 = group does not exist

  • 6 = maximum group size exceeded

  • 7 = the donor does not exist

  • 8 = the shareable plan does not exist

  • 9 = the shareable plan is not a recurring plan

  • 10 = charging group owner unsupported

  • 11 = the recurring donation for this plan already exists

  • 12 = the recipient does not exist

  • 13 = the donor plan max recipient limit was exceeded

  • 14 = subscriber not found

500

internal error

503

request rejected due to overload