Chilkat Online Tools

PureBasic / Plivo REST API / Update an incoming carrier

Back to Collection Items

IncludeFile "CkJsonObject.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.pb"

Procedure ChilkatExample()

    ; This example assumes the Chilkat API to have been previously unlocked.
    ; See Global Unlock Sample for sample code.

    http.i = CkHttp::ckCreate()
    If http.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success.i

    CkHttp::setCkBasicAuth(http, 1)
    CkHttp::setCkLogin(http, "{{auth_id}}")
    CkHttp::setCkPassword(http, "password")

    ; Use this online tool to generate code from sample JSON: Generate Code to Create JSON

    ; The following JSON is sent in the request body.

    ; {
    ;   "name": "updated_name",
    ;   "ip_set": "100.30.276.37"
    ; }

    json.i = CkJsonObject::ckCreate()
    If json.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::ckUpdateString(json,"name","updated_name")
    CkJsonObject::ckUpdateString(json,"ip_set","100.30.276.37")

    resp.i = CkHttp::ckPostJson3(http,"https://api.plivo.com/v1/Account/<auth_id>/IncomingCarrier/{carrier_id}/","application/json",json)
    If CkHttp::ckLastMethodSuccess(http) = 0
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        CkJsonObject::ckDispose(json)
        ProcedureReturn
    EndIf

    Debug Str(CkHttpResponse::ckStatusCode(resp))
    Debug CkHttpResponse::ckBodyStr(resp)
    CkHttpResponse::ckDispose(resp)



    CkHttp::ckDispose(http)
    CkJsonObject::ckDispose(json)


    ProcedureReturn
EndProcedure

Curl Command

curl -X POST
	-u '{{auth_id}}:password'
	-d '{
    "name": "updated_name",
    "ip_set": "100.30.276.37"
}'
https://api.plivo.com/v1/Account/<auth_id>/IncomingCarrier/{carrier_id}/

Postman Collection Item JSON

{
  "name": "Update an incoming carrier",
  "request": {
    "method": "POST",
    "header": [
    ],
    "body": {
      "mode": "raw",
      "raw": "{\n    \"name\": \"updated_name\",\n    \"ip_set\": \"100.30.276.37\"\n}",
      "options": {
        "raw": {
          "language": "json"
        }
      }
    },
    "url": {
      "raw": "https://api.plivo.com/v1/Account/{{auth_id}}/IncomingCarrier/{carrier_id}/",
      "protocol": "https",
      "host": [
        "api",
        "plivo",
        "com"
      ],
      "path": [
        "v1",
        "Account",
        "{{auth_id}}",
        "IncomingCarrier",
        "{carrier_id}",
        ""
      ]
    },
    "description": "This API lets you modify an existing incoming carrier set up on your account.\n\nBelow is the list of arguments that can be passed in this API request, more information can be found [here](https://www.plivo.com/docs/numbers/api/incoming-carrier#update-an-incoming-carrier)\n\n| Arguments   | Description | Required/Conditional/Optional     |\n| :---        |    :----:   |          ---: |\n| name      | The name of the carrier. It is just a representation and the name can be chosen at will.| Optional  |\n| ip_set      | Comma-separated list of IP addresses from which Plivo should receive incoming calls for the carrier. The complete set of ips will be replaced when the update api is used.| Optional  |"
  },
  "response": [
  ]
}