Profissionais

Busca por profissionais

Retornar profissionais por período

GET https://escala.med.br/api/v2/partner/employees

Parâmetros opcionais:

  • page_size controla o máximo de resultados por consulta, caso queira um valor fixo. Seu valor padrão é 500 e o valor máximo 1000.

  • page indica qual página dos resultados esta sendo acessada.

  • employee_tag_filter Filtra usuários que contenham tags que sejam exatamente o texto marcado, ou parcialmente usando %

Chamada

curl --location 'https://escala.med.br/api/v2/partner/employees?page_size=50' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <API_TOKEN>'

Exemplo de resposta

{
   "total":1738,
   "per_page":"1",
   "current_page":1,
   "last_page":1738,
   "next_page_url":"http://escala.test/api/v2/partner/employees?XDEBUG_SESSION_START=PHPSTORM&page=1&page_size=1&page=2",
   "prev_page_url":null,
   "from":1,
   "to":1,
   "data":[
      {
         "employee_id":1,
         "employee_custom_id":null,
         "employee_name":"Natalia de sa",
         "employee_email":"natdesa@escala.med.br",
         "employee_phone":"",
         "employee_cpf": "12312312312",
         "employee_gender": "F",
         "employee_pis": "129311",
         "employee_specialization": "Recepcionista",
         "employee_occupation": null,
         "employee_council": "Conselho Regional de Medicina",
         "employee_council_state": "SP",
         "employee_tags":null
      }
   ]
}

Recuperar dados de um profissional único

GET https://escala.med.br/api/v2/partner/employee

Retorna informações detalhadas sobre um profissional, baseado nos parâmetros de consulta fornecidos.

Parâmetros de Consulta

ParâmetroTipoDescriçãoObrigatório

id

integer

Identificador único do profissional no sistema.

Opcional

cpf

string

Número de CPF do profissional.

Opcional

internal_id

string

Identificador interno customizado do profissional.

Opcional

Observação: Pelo menos um dos parâmetros de consulta (id, cpf ou internal_id) deve ser fornecido na requisição.

Exemplo de requisição

curl --location 'http://plantoes.test/api/v2/partner/employee?id=<ID>&cpf=<CPF>&internal_id=<CUSTOM_ID>' \
--header 'Authorization: Bearer <APP_TOKEN>' \

Exemplos de resposta

{
    "employee_id":1,
    "employee_custom_id":null,
    "employee_name":"Natalia de sa",
    "employee_email":"natdesa@escala.med.br",
    "employee_phone":"",
    "employee_cpf": "12312312312",
    "employee_gender": "F",
    "employee_pis": "129311",
    "employee_specialization": "Recepcionista",
    "employee_occupation": null,
    "employee_council": "Conselho Regional de Medicina",
    "employee_council_state": "SP",
    "employee_tags":null
}

Inclusão de profissionais

POST https://escala.med.br/api/v2/partner/employee

Schema do payload enviado

  • Deve-se incluir no body do request, em formato JSON os profissionais a serem inseridos, seguindo o JSON Schema abaixo:

{
    "type": "object",
    "properties": {
        "employees": {
            "type": "array",
            "items": {
                "type": "object",
                "required": [
                    "name",
                    "gender",
                    "roles",
                    "cpf"
                ],
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "nickname": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "roles": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": ["professional", "manager"]
                        }
                    },
                    "internal_id": {
                        "type": "string"
                    },
                    "cellphone": {
                        "type": "string"
                    },
                    "cpf": {
                        "type": "string"
                    },
                    "pis": {
                        "type": "string"
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "gender": {
                        "type": "string",
                        "enum": [
                            "male",
                            "female"
                        ]
                    }
                }
            }
        }
    }
}

Exemplo de requisição

curl --location 'https://escala.med.br/api/v2/partner/employee' \
--header 'Content-Type: application/json' \
--data '{
	"employees": [
		{
			"name": "Profissional Um",
			"gender": "male",
			"internal_id": "111",
			"cpf": "52152025083",
			"roles": [
				"professional"
			]
		},
		{
			"name": "Profissional Dois",
			"gender": "male",
			"internal_id": "444",
			"cpf": "59417736094",
			"roles": [
				"professional"
			]
		}	
	]
}'

Exemplo de payload

{
	"employees": [
		{
			"name": "Profissional Um",
			"gender": "male",
			"internal_id": "111",
			"cpf": "52152025083",
			"roles": [
				"professional"
			]
		},
		{
			"name": "Profissional Dois",
			"gender": "male",
			"internal_id": "444",
			"cpf": "59417736094",
			"roles": [
				"professional"
			]
		}	
	]
}

Exemplo de resposta

A resposta deve retornar os ID dos novos employees cadastrados.

{
    "newEmployeeIds": [
        1,
        2
    ]
}

Parâmetros obrigatórios: "name","gender","roles","cpf"

  • name: Nome do profissional

  • gender: gênero do profissional

  • roles: papeis do profissional no sistema

  • cpf: cpf do profissional


Atualização de um profissional

PUT https://escala.med.br/api/v2/partner/employee/{employeeId}

Parâmetros Obrigatórios:

  • employeeId é o id do profissional que deseja ser atualizado.

JSON Schema do objeto

  • Deve-se incluir no body do request, em formato JSON os dados do profissional a ser atualizado, seguindo o JSON Schema abaixo:

{
    "type": "object",
    "required": [
        "name",
        "gender",
        "roles"
    ],
    "properties": {
        "name": {
            "type": "string"
        },
        "nickname": {
            "type": "string"
        },
        "email": {
            "type": "string",
            "format": "email"
        },
        "roles": {
            "type": "array",
            "items": {
                "type": "string",
                "enum": ["professional", "manager"]
            }
        },
        "internal_id": {
            "type": "string"
        },
        "cellphone": {
            "type": "string"
        },
        "tags": {
            "type": "array",
            "items": {
                "type": "string"
            }
        },
        "gender": {
            "type": "string",
            "enum": [
                "male",
                "female"
            ]
        }
    }
}

Exemplo de requisição

curl --location --request PUT 'https://escala.med.br/api/v2/partner/employee/1' \
--header 'Content-Type: application/json' \
--data '{
	"name": "Profissional Um",
	"gender": "male",
	"internal_id": "222",
	"roles": [
		"professional"
	]
}'

Exemplo de entrada

{
	"name": "Profissional Um",
	"gender": "male",
	"internal_id": "222",
	"roles": [
		"professional"
	]
}

Exemplo de resposta

{
    "updatedEmployeeId": 1
}

Inativação de um profissional

DELETE https://escala.med.br/api/v2/partner/employee/{employeeId}

Parâmetro:

  • employeeId é o id do profissional que deseja ser inativado.

Exemplo de requisição

curl --location --request DELETE 'https://escala.med.br/api/v2/partner/employee/1'

Exemplo de resposta

{
    "deletedEmployeeId": 1
}

Last updated