Legal opinion platform services

The platform services helps to make the process of a legal opinion when the first step is generate a legal expedient for a company to validate legally, the legal expedient will be completed with different legal documents by associating each one to a company expedient. The platform performs the function to download documents, images or PDFs and characteristics of the company that will be validated by a law firm. Finally, the platform delivers the result of legal opinion to make decisions about commercial relations.

Legal Opinion Diagram

Web services description

Uploading company documents. This method performs the creation of a new legal folder that will receives the company name and the RFC.

POST ~/api/legalFolders

Parameters

Tag Type Required Description
companyName string yes Business name of the company to validate.
rfc string yes RFC (Registro Federal de Contribuyentes).

Headers

Tag Type Description
apikey string yes

Request

{
  "companyName": "string",
  "rfc": "string"
}

JSON response

{
  "uuid": "string",
  "companyName": "Company Name S.A. de C.V.",
  "rfc": "string",
  "status":0
}

This method allows to consult a legal folder by uuid.

GET ~/api/legalFolders

Parameters

Tag Type Required Description
limit int yes Limit, default value 20.
offset int yes Offset, default value 0.

Headers

Tag Type Description
apikey string yes

Request

{
  "limit": int,
  "offset": int
}

Response

{
  "uuid": "string",
  "companyName": "Company Name S.A. de C.V.",
  "rfc": "string",
  "status":0
}

Update Status

This method allows to put and status to a legal folder. It is only allowed to attach documents to the file if the status is 0 or 3.

Status List

ID Description Observations
0 In progress It must allow to register documents to the folder.
1 Complete or finished Legal folder already includes the required documentation.
2 Under review The folder is in process of documents check.
3 Pending documentation It must allow to register documents to the folder.
4 Delivered The legal folder documentation was delivered for legal opinion.

PUT ~/api/legalFolders/{legalFolderId}

Parameters

Tag Type Required Description
legalFolderId string yes Legal folder ID.

Headers

Tag Type Description
apikey string yes

Request

{
  "status": int,
}

JSON response

{
  "uuid": "string",
  "companyName": "Company Name S.A. de C.V.",
  "rfc": "string",
  "status":1
}

This method allows to add legal documents and assign this information to an expedient previously created. See section Annexes to review the legal documents that conform an expedient.

POST ~/api/legalDocuments

Parameters

Tag Type Required Description
legalFolderId string yes Folder ID.
document file yes Legal document.

Headers

Tag Type Description
apikey string yes

FormData Request

{
  "legalFolderId": "string",
  "document": "File"
}

JSON correct

{
  "name": "string"
}

Get documents

This method allows to download a file from a legal document.

GET ~/api/legalDocuments/{legalFolderId}

Parameters

Tag Type Required Description
legalFolderId string yes Folder ID.

Headers

Tag Type Description
apikey string yes

Request

{
  "legalFolderId": string
}

JSON response

[
  {
    "name": "string"
  },
  {
    "name": "string"
  },
]

Download file documents

This method allows to download a document in format PDF or image uploaded previously.

GET ~/api/legalDocuments/{legalFolderId}/{filename}

Parameters

Tag Type Required Description
legalFolderId string yes Folder ID.
filename string yes File name.

Headers

Tag Type Description
apikey string yes

Response

[BinaryContent]

Get corporative information

GET ~/api/legalOpinion/corporativeInformation/{legalFolderId}

Parameters

Name Type Required Description
legalFolderId string yes Legal folder ID.

FormData

{
  "legalFolderId": "string"
}

JSON response

{
  "uuid_expedient": "string",
  "name": "string",
  "nationality": "string",
  "duration": "string",
  "address": "string",
  "objective": "string",
  "features": "string"
}

When there is no associated information, the result will be null.

Get shareholders

GET ~/api/legalOpinion/shareholders/{legalFolderId}

Parameters

Name Type Required Description
legalFolderId string yes Legal folder ID

JSON response

[{
  "version": int,
  "uuid_expedient": "string",
  "name": string,
  "first_name": "string",
  "last_name": "string",
  "share": int,
  "value": "string",
  "percent": "string",
  "active": int
}]

Get administrative information

GET ~/api/legalOpinion/administration/{legalFolderId}

Parameters

Name Type Required Description
legalFolderId string yes Legal folder ID

FormData

{
  "legalFolderId": "string"
}

Response

{
    "uuid": "string",
    "rfc": "string",
    "companyName": "string",
    "type": int,
    "responseTime": "string",
    "ownerId": "string",
    "status": "string",
    "lastVersion": int,
    "userId": int
}

Get authorities

GET ~/api/legalOpinion/authorities/{legalFolderId}

Parameters

Name Type Required Description
legalFolderId string yes Legal folder ID

FormData

{
  "legalFolderId": "string",
}

Response

{
    "uuid_expedient": "string",
    "signType": "string",
    "authorityType": "string",
    "name": "string",
    "firstLastName": "string",
    "secondLastName": "string",
    "deed": "string",
    "observations": "string"
}

GET ~/api/legalOpinion/legalConstitution/{legalFolderId}

Parameters

Name Type Required Description
legalFolderId string yes Legal folder ID

Request

{
  "legalFolderId": "string",
}

JSON response

{
    "uuid_expedient": "string",
    "deedsConstitution": "string",
    "dateConstitution": "string",
    "notaryConstitution": "string",
    "registryConstitution": "string",
    "corporateDocumentation": "string",
    "observations": "string"
}

When there is no associated information, the result will be null.

Get conclusion

GET ~/api/legalOpinion/conclusion/{legalFolderId}

Parameters

Name Type Required Description
legalFolderId string yes Legal folder ID

Request

{
  "legalFolderId": "string",
}

Response

{
    "uuid_expedient": "string",
    "status": int,
    "observations": "string",
    "files": "string"
}

¿What is a webhook?

A webhook is a method that allows two applications or web services to communicate in real time, through HTTP. With this webhook we avoid waiting time for the response in a request and this is notified to an endpoint once it is obtained.

Notification request

Once the legal opinion is finished the system will attempt to deliver the notification. The webhook request will have the following structure:

Parameters

Parameter Type Description
type string Event type. See notifications type catalog.
uuid string Folder identification.
status int 1-complete, 2-in complete.

Note 1: TuIdentidad will attempt to deliver the notification until receives a successful response a 200 OK Http status. This can cause some notifications to be sent twice, so be prepared to receive the same notification more than once.

Note 2: The endpoint "conclusion" list all the files that must be replaced or have an observation.

Notifications types:

Notification type Type Description
legalopinion.updated string Indicate that the legal opinion was updated.

Annexes

Annex 1

Constitutive Act

A constitutive act is the necessary and mandatory document for the legal formation of an organization or society, which must be drawn up and contain fundamental data according to some common parameters, and duly signed by those who will be members of the society.

Meeting minutes

The meeting minutes is the document where the decisions and modifications of a company are written and supported. In order with the decisions made in the company to be valid, a meeting called the general shareholders' meeting must be called, where changes are subject to vote and approved by the partners. Subsequently, they must be written in the assembly minutes, which must be signed by both members and witnesses of the assembly.

Power of attorney

Power of attorney is a public document that a natural or legal person sign with the approval of a notary to designate another as their legal representative. In this way, you authorize him to act on his behalf in different legal or material acts.