Autorize solicitações de seu CRM externo para o B2COPY API usando tokens service admin e signed JWT (ES256). Esta página aborda pré-requisitos, geração de chaves, emissão de tokens e obtenção/atualização de tokens B2COPY.
Pré-requisitos
- Crie um service admin no Admin panel em cujo nome o CRM faz solicitações API (recomenda-se restringi-lo a endereços IP específicos).
- Configure seu CRM para gerar JWTs assinados cujas declarações incluem
admin_id(o ID do administrador do serviço),device_ip(o IP da solicitação) ekey_id(o ID da chave privada).
Gerar chaves
Gere um par de chaves EC (P-256) para assinar e verificar tokens:
# Private key
openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-256 \
-out ec_private_pkcs8.pem
# Public key
openssl pkey -in ec_private_pkcs8.pem -pubout -out ec_public.pemSegurança
Mantenha a chave privada em segredo e nunca a compartilhe. Forneça apenas a chave public à equipe de suporte B2COPY — ela é usada para verificar seus JWTs assinados.
Entre em contato com o suporte B2COPY
Para finalizar a integração, envie à equipe de suporte sua chave pública (ec_public.pem), o identificador exclusivo da chave e os endereços IP que irão chamar o API. O suporte registra sua integração e configura a chave pública.
Obtenha acesso e atualize tokens
POST [host]/api/admin/auth/v2/admin/adminservice/authexternalcrm| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| external_token | string | Yes | The signed JWT generated by your CRM. |
curl -X POST "[host]/api/admin/auth/v2/admin/adminservice/authexternalcrm" \
-d '{ "external_token": "<your-generated-jwt-token>" }'A resposta retorna tokens de acesso e atualização para o administrador do serviço; inclua o token de acesso no cabeçalho Authorization de todas as outras solicitações.
{
"accessToken": "<access-token>",
"refreshToken": "<refresh-token>"
}Atualize o token de acesso
POST [host]/api/admin/auth/v2/admin/adminservice/refreshtokencurl -X POST "[host]/api/admin/auth/v2/admin/adminservice/refreshtoken" \
-H "Authorization: Bearer <refreshToken>"Retorna um novo par de tokens de acesso/atualização.
