ApierV1.SetTPRate

Creates a new rate within a tariff plan.

Request:

Data:
type TPRate struct {
     TPid      string     // Tariff plan id
     RateId    string     // Rate id
     RateSlots []RateSlot // One or more RateSlots
}

type RateSlot struct {
     ConnectFee         float64 // ConnectFee applied once the call is answered
     Rate               float64 // Rate applied
     RateUnit           string  //  Number of billing units this rate applies to
     RateIncrement      string  // This rate will apply in increments of duration
     GroupIntervalStart string  // Group position
     RoundingMethod     string  // Use this method to round the cost
     RoundingDecimals   int     // Round the cost number of decimals
}

Mandatory parameters: []string{"TPid", "RateId", "ConnectFee", "RateSlots"}

JSON sample:
{
 "id": 2,
 "method": "ApierV1.SetTPRate",
 "params": [
     {
         "RateId": "1CENTPERSEC",
         "RateSlots": [
             {
                 "ConnectFee": 0,
                 "GroupIntervalStart": "0",
                 "Rate": 0.01,
                 "RateIncrement": "1s",
                 "RateUnit": "1s",
                 "RoundingDecimals": 4,
                 "RoundingMethod": "*middle",
                 "Weight": 10
             }
         ],
         "TPid": "CGR_API_TESTS"
     }
 ]
}

Reply:

Data:
string
Possible answers:
OK - Success.
JSON sample:
{
 "error": null,
 "id": 0,
 "result": "OK"
}

Errors:

MANDATORY_IE_MISSING - Mandatory parameter missing from request.

SERVER_ERROR - Server error occurred.

DUPLICATE - The specified combination of TPid/RateId already exists in StorDb.

ApierV1.GetTPRate

Queries specific rate on tariff plan.

Request:

Data:
type AttrGetTPRate struct {
     TPid   string // Tariff plan id
     RateId string // Rate id
}

Mandatory parameters: []string{"TPid", "RateId"}

JSON sample:
{
 "id": 3,
 "method": "ApierV1.GetTPRate",
 "params": [
     {
         "RateId": "1CENTPERSEC",
         "TPid": "CGR_API_TESTS"
     }
 ]
}

Reply:

Data:
type TPRate struct {
     TPid      string     // Tariff plan id
     RateId    string     // Rate id
     RateSlots []RateSlot // One or more RateSlots
}

type RateSlot struct {
     ConnectFee         float64 // ConnectFee applied once the call is answered
     Rate               float64 // Rate applied
     RateUnit           string  //  Number of billing units this rate applies to
     RateIncrement      string  // This rate will apply in increments of duration
     GroupIntervalStart string  // Group position
     RoundingMethod     string  // Use this method to round the cost
     RoundingDecimals   int     // Round the cost number of decimals
}
JSON sample:
{
 "error": null,
 "id": 3,
 "result": {
     "RateId": "1CENTPERSEC",
     "RateSlots": [
         {
             "ConnectFee": 0,
             "GroupIntervalStart": "0",
             "Rate": 0.01,
             "RateIncrement": "1s",
             "RateUnit": "1s",
             "RoundingDecimals": 4,
             "RoundingMethod": "*middle"
         }
     ],
     "TPid": "CGR_API_TESTS"
 }
}

Errors:

MANDATORY_IE_MISSING - Mandatory parameter missing from request.

SERVER_ERROR - Server error occurred.

NOT_FOUND - Requested rate id not found.

ApierV1.GetTPRateIds

Queries rate identities on tariff plan.

Request:

Data:
type AttrGetTPRateIds struct {
     TPid string // Tariff plan id
}

Mandatory parameters: []string{"TPid"}

JSON sample:
{
 "id": 4,
 "method": "ApierV1.GetTPRateIds",
 "params": [
     {
         "TPid": "CGR_API_TESTS"
     }
 ]
}

Reply:

Data:
[]string
JSON sample:
{
 "error": null,
 "id": 4,
 "result": [
     "1CENTPERSEC"
 ]
}

Errors:

MANDATORY_IE_MISSING - Mandatory parameter missing from request.

SERVER_ERROR - Server error occurred.

NOT_FOUND - Requested tariff plan not found.