---
title: "Criação de pedido - Amplia Reg"
description: "Como criar um pedido no Amplia Reg pela API: listar os tipos de certificado e criar pedidos de certificado padrão ICP-Brasil, em .NET ou direto pela API."
canonical: "https://docs.lacunasoftware.com/articles/amplia-reg/integration/create-order"
locale: "pt-BR"
product: "Amplia Reg"
last_updated: "2026-10-12"
---

# Criação de pedido - Amplia Reg

> **Dica**
>
> Certifique-se de que já realizou os [Primeiros passos](https://docs.lacunasoftware.com/articles/amplia-reg/integration/get-started)

As APIs de criação de pedido exigem que o tipo de certificado seja especificado. Para listar os tipos de certificado disponíveis, chame a
API de listagem de tipos de certificado.

Em .NET:

```cs
var certTypes = await ampliaRegService.ListCertificateTypesAsync(new CertificateTypeListParameters {
	IsDisabled = false,
});
```

Via API:

```text
GET /api/certificate-types?isDisabled=false
```

Exemplo de resposta:

```js
[
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "name": "e-CPF A1",
    "format": "PkiBrazil",
    "code": "ECPFA1",
    "keyMediaType": "PC",
    "canIssueByAgentBeforeApproval": false,
    "isDisabled": false,
    "creationDate": "2023-09-12T20:31:53.856Z",
    "photoStepEnabled": true,
    "documentsStepEnabled": true,
    "nonExportableKey": false,
    "paraguayParameters": null,
    "brazilParameters": {
      "brazilType": "PessoaFisica",
      "appendIdentifierToCommonName": true
    },
    "caboVerdeParameters": null,
    "sslParameters": null,
    "keySize": 2048,
    "issueByCsr": false,
    "canFillFromCsr": false,
    "certificationAuthorityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "allowVideoConference": true,
    "validityOptions": [
      { "years": 1, "months": 0, "days": 0 },
      { "years": 2, "months": 0, "days": 0 }
    ]
  }
]
```

Em seguida, chame uma das APIs de criação de pedido dependendo do formato de certificado:

* [Padrão ICP-Brasil](https://docs.lacunasoftware.com/articles/amplia-reg/integration/create-order#brazil)

Consulte-nos caso precise de documentação para criação de outros formatos de certificado.

## Criação de pedido de certificado padrão ICP-Brasil

Criação de pedido de certificado padrão ICP-Brasil em .NET:

```cs
var orderCreateResponse = ampliaRegService.CreateOrderAsync(new OrderCreateRequest<BrazilOrderCreateParameters>() {
	RegistrationAuthority = AuthorityReference.FromOrganizationIdentifier("09933230000188"), // CNPJ da AR
	CertificateType = CertificateTypeReference.FromCode("ECPFA1"), // Código do tipo de certificado
	IssueType = IssueTypes.Presential, // ou IssueTypes.VideoConference
	Parameters = new BrazilOrderCreateParameters() {
		Cpf = "07917307000", // CPF do titular
		Name = "Nome do Titular", // Nome completo do titular
		BirthDate = "1995-10-15", // Data de nascimento do titular no formato aaaa-mm-dd
		Cnpj = "08271696000100", // CNPJ (omita em caso de e-CPF)
		OrganizationName = "Patorum Sistemas LTDA", // Razão social (omita em caso de e-CPF)
		HolderHasCnh = true, // true se o titular possui CNH; false caso contrário (omita se desconhecido)
	},
	Validity = PeriodModel.FromYears(1), // Validade do certificado (o tipo de certificado deve permitir)
	SaleNumber = "1000-1234", // Número do pedido no sistema de venda (máx. 50 caracteres, pode conter pontuações)
});
```

> **Observação**
>
> Em todas as chamadas, CPF e CNPJ devem ser fornecidos sem pontuações (somente dígitos) e com zeros à esquerda, se houver.

> **Dica**
>
> No caso de certificado de pessoa jurídica, os campos de CPF, nome completo e data de nascimento referem-se ao responsável pelo certificado.

ou via API:

```js
POST /api/brazil/orders
{
	"registrationAuthority": {
		"organizationIdentifier": "09933230000188" // CNPJ da AR
	},
	"certificateType": {
		"code": "ECPFA1" // Código do tipo de certificado
	},
	"issueType": "Presential", // ou "VideoConference"
	"parameters": {
		"cpf": "07917307000", // CPF do titular
		"name": "Nome do Titular", // Nome completo do titular
		"birthDate": "1995-10-15", // Data de nascimento do titular no formato aaaa-mm-dd
		"cnpj": "08271696000100", // CNPJ (omita em caso de e-CPF)
		"organizationName": "Patorum Sistemas LTDA", // Razão social (omita em caso de e-CPF)
		"holderHasCnh": true // true se o titular possui CNH; false caso contrário (omita se desconhecido)
	},
	"validity": {
		"years": 1 // Validade do certificado (o tipo de certificado deve permitir essa validade)
	},
	"saleNumber": "1000-1234" // Número do pedido no sistema de venda (máx. 50 caracteres, pode conter pontuações)
}
```

### Consulta prévia RFB

Para criar um pedido em uma autoridade de registro (AR) subordinada a uma autoridade certificadora (AC) de 2º nível subordinada à AC da Receita Federal do Brasil (RFB),
deve-se primeiramente chamar a API de consulta prévia da RFB.

Em .NET:

```cs
var rfbResponse = await ampliaRegService.PerformRfbQueryAsync(
	"07917307000", // CPF do titular
	new DateTime(1995, 10, 15), // Data de nascimento do titular
	"08271696000100", // CNPJ (omita em caso de e-CPF)
});
```

Via integracão direta por API:

```js
POST /api/rfb-query
{
	"cpf": "07917307000", // CPF do titular
	"birthDate": "1995-10-15", // Data de nascimento do titular em formato aaaa-mm-dd
	"cnpj": "08271696000100", // CNPJ (omita em caso de e-CPF)
}
```

A resposta contém a informação de se o certificado pode ou não ser emitido com os dados fornecidos. Em caso positivo, a resposta contém também o nome completo
e a razão social da empresa (se for o caso) que devem constar no certificado. Em caso negativo, o campo `failure` contém uma mensagem em português que pode ser
exibida ao usuário final detalhando o motivo da reprovação.

Exemplo de resposta com aprovação:

```js
{
	"approved": true, // o certificado PODE ser emitido com os dados fornecidos na consulta
	"returnCode": 0,
	"failure": null,
	"name": "Fulano de Tal", // nome completo do titular que deve constar no certificado
	"organizationName": "Patorum Sistemas LTDA" // razão social da empresa que deve constar no certificado
}
```

Exemplo de resposta com reprovação:

```js
{
	"approved": false, // o certificado NÃO PODE ser emitido com os dados fornecidos na consulta
	"returnCode": 2, // código retornado pela API de consulta prévia da RFB
	"failure": "CPF informado inexistente nas bases de dados da SRF. Emissão do certificadonão permitida.",
	"name": null,
	"organizationName": null
}
```

### Consulta de cadastro biométrico

Para criar um pedido com emissão por videoconferência, deve-se perguntar ao titular se ele possui CNH. Informe a resposta no campo `HolderHasCnh` ao criar o pedido. Caso
o titular não possua CNH (`HolderHasCnh = false`), chame a seguinte API para verificar se ele possui cadastro biométrico. Caso negativo, o certificado não poderá ser emitido.

Em .NET:

```cs
var checkBioEnrollmentResponse = await ampliaRegService.CheckBioEnrollmentAsync(
	"07917307000" // CPF do titular
);
if (!checkBioEnrollmentResponse.IsEnrolled) {
	throw new Exception("A emissão por videoconferência não pode ser realizada!");
}
```

Por API:

```js
POST /api/bio-enrollment-check
{
	"cpf": "07917307000" // CPF do titular
}
```

Resposta:

```js
{
	"isEnrolled": true // denota se a pessoa possui cadastro biométrico
}
```

## Veja também

* [Primeiros passos para integração](https://docs.lacunasoftware.com/articles/amplia-reg/integration/get-started)
* [Validação de número de telefone](https://docs.lacunasoftware.com/articles/amplia-reg/integration/validate-phone)
* [Cancelamento de pedido](https://docs.lacunasoftware.com/articles/amplia-reg/integration/cancel-order)
* [Códigos de erro](https://docs.lacunasoftware.com/articles/amplia-reg/integration/error-codes)
