Exemplos de Solicitação e Resposta GET, POST, PUT, PATCH

As solicitações e respostas GET, POST, PUT e PATCH exigem um corpo de solicitação JSON.

Exemplo de Solicitação e Resposta GET

Veja a seguir um exemplo de corpo de solicitação JSON usado com um método GET para listar um usuário e a resposta.

Solicitação:


GET {{HOST}}/admin/v1/Users/{{userid}}

Resposta:

{
    "idcsCreatedBy": {
        "type": "App",
        "display": "Confidential App",
        "value": "<app_id>",
        "ocid": "ocid1.domainapp.oc1.<unique_id>",
        "$ref": "https://<domain_url>/admin/v1/Apps/<app_id>"
    },
    "id": "<user_id>",
    "urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User": {
        "isFederatedUser": false,
        "preferredUiLandingPage": "MyApps"
    },
    "meta": {
        "created": "2024-10-24T19:07:26.810Z",
        "lastModified": "2024-10-24T19:07:26.810Z",
        "version": "ddf2b4979d704f3d813e2636630da678",
        "resourceType": "User",
        "location": "https://<domain_url>/admin/v1/Users/ocid1.user.oc1..<unique_id>"
    },
    "active": true,
    "displayName": "Barbara Jensen",
    "idcsLastModifiedBy": {
        "value": "<app_id>",
        "display": "Confidential App",
        "ocid": "ocid1.domainapp.oc1.<unique_id>",
        "type": "App",
        "$ref": "https://<domain_url>/admin/v1/Apps/<app_id>"
    },
    "name": {
        "givenName": "Barbara",
        "familyName": "Jensen",
        "formatted": "Barbara Jensen"
    },
    "urn:ietf:params:scim:schemas:oracle:idcs:extension:userState:User": {
        "locked": {
            "on": false
        }
    },
    "ocid": "ocid1.user.oc1..<unique_id>",
    "userName": "bjensen",
    "emails": [
        {
            "value": "bjensen@exmple.com",
            "type": "work",
            "secondary": false,
            "verified": false,
            "primary": true
        },
        {
            "value": "bjensen@exmple.com",
            "type": "recovery",
            "secondary": false,
            "verified": false,
            "primary": false
        }
    ],
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User",
        "urn:ietf:params:scim:schemas:oracle:idcs:extension:userState:User",
        "urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User"
    ],
    "domainOcid": "ocid1.domain.oc1..<unique_id>",
    "compartmentOcid": "ocid1.compartment.oc1..<unique_id>",
    "tenancyOcid": "ocid1.tenancy.oc1..<unique_id>",
    "urn:ietf:params:scim:schemas:oracle:idcs:extension:capabilities:User": {
        "canUseApiKeys": true,
        "canUseAuthTokens": true,
        "canUseConsolePassword": true,
        "canUseCustomerSecretKeys": true,
        "canUseOAuth2ClientCredentials": true,
        "canUseSmtpCredentials": true,
        "canUseDbCredentials": true
    }
} 

Exemplo de Solicitação e Resposta POST

Veja a seguir um exemplo de corpo de solicitação JSON usado com um método POST para criar um novo usuário e a resposta.

Solicitação:

{
  "schemas": ["urn:ietf:params:scim:api:messages:2.0:SearchRequest"],
  "attributes": ["displayName", "userName"],
  "filter":
          "userName sw \"bje\"",
  "startIndex": 1,
  "count": 10
}
Resposta:
{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "totalResults": 1,
    "Resources": [
        {
            "displayName": "Barbara Jensen",
            "userName": "bjensen",
            "id": "<user_id>"
        }
    ],
    "startIndex": 1,
    "itemsPerPage": 10
}

Exemplo de Solicitação e Resposta PUT

Veja a seguir um exemplo de corpo de solicitação JSON usado com um método PUT para substituir informações do usuário e a resposta.

Solicitação:

{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User"
    ],
    "name": {
        "givenName": "Barbara",
        "familyName": "Jensen"
    },
    "userName": "bjensen@example.com",
    "active": true,
    "emails": [
        {
            "value": "bjensen@example.com",
            "primary": true,
            "type": "home",
            "verified": true
        },
        {
            "value": "bjensen@example.org",
            "type": "work"
        }
    ]
}

Resposta:

{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User"
    ],
    "name": {
        "givenName": "Barbara",
        "familyName": "Jensen"
    },
    "userName": "bjensen@example.com",
    "active": true,
    "emails": [
        {
            "value": "bjensen@example.com",
            "primary": true,
            "type": "home",
            "verified": true
        },
        {
            "value": "bjensen@example.org",
            "type": "work"
        }
    ]
}

Exemplo de Solicitação e Resposta PATCH

Veja a seguir um exemplo de corpo de solicitação JSON usado com um método PATCH para alterar informações do usuário e a resposta.

Solicitação:

{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ],
    "Operations": [
        {
            "op": "add",
            "path": "phoneNumbers",
            "value": [
                {
                    "value": "555-555-1111",
                    "type": "home"
                }
            ]
        }
    ]
}
Resposta:
{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ],
    "Operations": [
        {
            "op": "replace",
            "path": "phoneNumbers",
            "value": [
                {
                    "value": "666-666-1111",
                    "type": "home"
                }
            ]
        }
    ]
} 
Nota

  • O atributo schemas é definido para a coleção de esquemas que corresponde ao recurso. Por exemplo, urn:ietf:params:scim:schemas:core:2.0:User corresponde a /Users. Consulte Visão Geral do Esquema SCIM.

  • Os atributos restantes são atributos do usuário a serem definidos.